
:root{
  color-scheme: dark;
  --abyss:#0c0e12;
  --deep:#14171c;
  --panel:#191c22;
  --line:rgba(120,150,230,.16);
  --line-strong:rgba(9,203,245,.45);
  --navy:#071078;
  --cyan:#09cbf5;
  --cyan-soft:#7fe3fb;
  --steel:#8e98bd;
  --text:#e9eefc;
  --text-2:#c3cbe6;
  --spark:#ffb347;
  --font-display:"Outfit","Segoe UI",system-ui,sans-serif;
  --font-body:"DM Sans","Segoe UI",system-ui,sans-serif;
  --font-mono:"Outfit","Segoe UI",system-ui,sans-serif;
  --wrap:1180px;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--abyss);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg,canvas{max-width:100%}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:10px}
.section{padding-block:clamp(72px,10vw,128px);border-top:1px solid var(--line);background:var(--abyss);color:var(--text);position:relative;overflow:hidden}
.light{--abyss:#ffffff;--deep:#f3f6fc;--panel:#e4edff;--line:rgba(7,16,120,.11);--line-strong:rgba(11,98,214,.4);--cyan:#0b62d6;--cyan-soft:#2f86ff;--steel:#56608a;--text:#0c0e12;--text-2:#2c3558;--spark:#b35a00;color-scheme:light}
.light.alt{--abyss:#f3f6fb;--deep:#ffffff}
.light .svc.feature{background:linear-gradient(160deg,#071078,#0b3fb0 60%,#0b62d6);color:#fff;--steel:#b9c6ef;--text-2:#dbe4ff;--abyss:#0a1a8c;--line:rgba(255,255,255,.14);--cyan:#09cbf5}
.light .svc.feature .procs div{background:rgba(3,8,40,.35)}
.watermark{position:absolute;pointer-events:none;opacity:.06;width:min(560px,70vw);height:auto;right:-60px;bottom:-40px;z-index:0}
.light .watermark{opacity:.05}
.section > .wrap{position:relative;z-index:1}
.section-head{display:grid;gap:18px;max-width:720px;margin-bottom:clamp(36px,5vw,56px)}
.section-head h2{font-size:clamp(30px,4.4vw,52px)}
.section-head p{color:var(--steel);font-size:18px;max-width:60ch}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:15px;letter-spacing:.04em;text-decoration:none;padding:14px 22px;border:1px solid var(--cyan);color:var(--abyss);background:var(--cyan);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.btn:hover{background:var(--cyan-soft);box-shadow:0 0 32px rgba(9,203,245,.35)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn.ghost:hover{background:rgba(9,203,245,.08)}
.btn svg{width:16px;height:16px}

/* Header */
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(12,14,18,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand svg{height:40px;width:auto}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{text-decoration:none;font-size:14px;color:var(--steel);transition:color .2s}
.nav a:hover{color:var(--text)}
.lang{display:flex;border:1px solid var(--line);font-family:var(--font-mono);font-size:12px}
.lang button{background:none;border:0;color:var(--steel);padding:7px 10px;cursor:pointer;font:inherit}
.lang button[aria-pressed="true"]{background:var(--cyan);color:var(--abyss)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--text);width:42px;height:42px;cursor:pointer}
.header .btn{padding:10px 16px;font-size:14px}
@media (max-width:960px){
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:0;background:var(--abyss);border-bottom:1px solid var(--line);padding:8px var(--gutter) 20px;display:none}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .menu-btn{display:grid;place-items:center;margin-left:auto}
  .header .btn{display:none}
}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--abyss) 0%,rgba(12,14,18,.82) 42%,rgba(12,14,18,.2) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;padding-block:clamp(80px,12vw,150px) clamp(64px,9vw,110px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:40px;align-items:center}
.hero-mark{position:relative;justify-self:center;width:min(100%,400px)}
.hero-mark::before{content:"";position:absolute;inset:-18%;background:radial-gradient(closest-side,rgba(9,203,245,.22),rgba(7,16,120,.18) 55%,rgba(12,14,18,0) 100%);z-index:-1}
.hero-mark svg{width:100%;height:auto;filter:drop-shadow(0 0 40px rgba(9,203,245,.35));animation:float 7s ease-in-out infinite}
.hero-mark .wordmark{display:block;margin-top:34px;width:100%;filter:none;animation:none;opacity:.9}
@keyframes float{50%{transform:translateY(-12px)}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-mark{display:none}}
@media (prefers-reduced-motion:reduce){.hero-mark svg{animation:none}}
.hero h1{font-size:clamp(40px,5.6vw,78px);font-weight:500;max-width:14ch;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--cyan);font-weight:600}
.hero .lead{margin-top:26px;font-size:clamp(17px,1.6vw,20px);color:var(--text-2);max-width:54ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.specs{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:56px;font-family:var(--font-mono);font-size:12.5px;color:var(--steel);letter-spacing:.04em}
.specs span{display:flex;align-items:center;gap:8px}
.specs span::before{content:"";width:6px;height:6px;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}

/* Services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(220px,auto);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:var(--abyss);padding:28px;display:flex;flex-direction:column;gap:14px;position:relative;transition:background .25s}
.svc:hover{background:var(--deep)}
.svc .code{font-family:var(--font-mono);font-size:11.5px;color:var(--steel);letter-spacing:.08em}
.svc h3{font-size:22px;font-weight:500}
.svc p{color:var(--steel);font-size:15px}
.svc .ico{width:40px;height:40px;color:var(--cyan)}
.svc.feature{grid-column:span 2;background:linear-gradient(160deg,var(--panel),var(--abyss) 70%);justify-content:space-between}
.svc.feature h3{font-size:clamp(28px,3vw,40px)}
.svc.feature .btn{align-self:flex-start;background:#fff;border-color:#fff;color:#071078}
.svc.feature .btn:hover{background:#e6f9ff}
.svc.feature .procs{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px}
.procs div{display:flex;justify-content:space-between;gap:12px;background:var(--abyss);padding:12px 14px;font-size:14px}
.procs b{font-family:var(--font-mono);font-weight:500;color:var(--cyan);font-size:13px}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc.feature{grid-column:span 2}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}.svc.feature{grid-column:auto}}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.about-copy{display:grid;gap:18px;color:var(--text-2);font-size:17px;max-width:58ch}
.values{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.value{background:var(--abyss);padding:24px 26px;display:grid;grid-template-columns:44px 1fr;gap:4px 18px}
.value svg{grid-row:span 2;width:36px;height:36px;color:var(--cyan)}
.value h3{font-size:19px}
.value p{color:var(--steel);font-size:15px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(56px,7vw,88px);counter-reset:step}
.step{position:relative;padding:28px 24px 0 0;border-top:1px solid var(--line-strong)}
.step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.step .n{font-family:var(--font-mono);font-size:12px;color:var(--cyan);letter-spacing:.1em}
.step h3{font-size:19px;margin-top:10px}
.step p{color:var(--steel);font-size:14.5px;margin-top:8px}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;row-gap:36px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Cert band */
.cert{background:linear-gradient(100deg,var(--navy),#0a1a8c 55%,#0b3fb0);border-block:1px solid var(--line-strong)}
.cert .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:44px}
.cert h2{font-size:clamp(24px,3vw,34px);max-width:26ch}
.cert .seal{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:13px;color:#cfe6ff;letter-spacing:.06em}
.cert .seal svg{width:56px;height:56px;color:var(--cyan)}

/* References */
.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ref{border:1px dashed var(--line-strong);padding:26px;display:grid;gap:14px;background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(9,203,245,.025) 14px 15px)}
.ref .tag{justify-self:start;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--spark);border:1px solid rgba(255,179,71,.4);padding:3px 8px}
.ref h3{font-size:20px}
.ref dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}
.ref dt{font-family:var(--font-mono);font-size:12px;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.ref dd{margin:0;color:var(--text-2)}
@media (max-width:900px){.ref-grid{grid-template-columns:1fr}}

/* Forms (career + contact) */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.jobs{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.job{background:var(--abyss);padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.job span{font-family:var(--font-mono);font-size:12px;color:var(--steel)}
.perks{display:grid;gap:10px;margin-top:28px;padding:0;list-style:none;color:var(--text-2)}
.perks li{display:flex;gap:12px}
.perks li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border:1px solid var(--cyan);transform:rotate(45deg)}
form{background:var(--deep);border:1px solid var(--line);padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{display:grid;gap:7px;font-size:13px;color:var(--steel);font-family:var(--font-mono);letter-spacing:.04em}
input,textarea,select{font:inherit;font-family:var(--font-body);font-size:15px;color:var(--text);background:var(--abyss);border:1px solid var(--line);padding:12px 14px;border-radius:0;width:100%;letter-spacing:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(9,203,245,.15)}
textarea{min-height:130px;resize:vertical}
input[type=file]{padding:10px;color:var(--steel)}
.check{display:flex;gap:10px;align-items:flex-start;font-family:var(--font-body);font-size:13.5px;letter-spacing:0}
.check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--cyan)}
.check a{color:var(--cyan)}
.form-status{grid-column:1/-1;font-size:14px;color:var(--cyan-soft);min-height:1.4em}
@media (max-width:560px){form{grid-template-columns:1fr}}
.contact-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.contact-list div{background:var(--abyss);padding:18px 20px;display:grid;gap:4px}
.contact-list small{font-family:var(--font-mono);font-size:11.5px;color:var(--steel);letter-spacing:.1em;text-transform:uppercase}
.contact-list a,.contact-list p{font-size:17px;text-decoration:none;user-select:all}
.contact-list a:hover{color:var(--cyan)}

/* Footer */
footer{border-top:1px solid var(--line);padding-block:48px 36px;background:#0a0b0e}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer svg{height:84px;width:auto}
footer h4{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin:0 0 12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
footer a{text-decoration:none;color:var(--text-2)}
footer a:hover{color:var(--cyan)}
footer button.link{background:none;border:0;padding:0;font:inherit;color:var(--text-2);cursor:pointer;text-align:left}
footer button.link:hover{color:var(--cyan)}
.legal-row{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--steel)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* Legal dialog */
dialog{background:var(--deep);color:var(--text);border:1px solid var(--line-strong);padding:0;max-width:760px;width:calc(100% - 32px);max-height:86vh}
dialog::backdrop{background:rgba(3,5,15,.8);backdrop-filter:blur(4px)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--deep)}
.dlg-head h2{font-size:22px}
.dlg-head button{background:none;border:1px solid var(--line);color:var(--text);width:36px;height:36px;cursor:pointer;font-size:18px}
.dlg-body{padding:24px;display:grid;gap:14px;font-size:15px;color:var(--text-2)}
.dlg-body h3{font-size:17px;color:var(--text);margin-top:10px}
.dlg-body a{color:var(--cyan)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---------- Multi-page additions ---------- */
.nav a[aria-current="page"]{color:var(--text)}
.nav a[aria-current="page"]::after{content:"";display:block;height:2px;background:var(--cyan);margin-top:4px}
@media (max-width:960px){.nav a[aria-current="page"]::after{display:none}.nav a[aria-current="page"]{color:var(--cyan)}}

.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--abyss) 0%,rgba(12,14,18,.85) 50%,rgba(12,14,18,.35) 100%);pointer-events:none}
.page-hero .wrap{position:relative;z-index:2;padding-block:clamp(64px,9vw,112px) clamp(48px,6vw,80px);display:grid;gap:20px}
.page-hero h1{font-size:clamp(38px,5.2vw,68px);font-weight:500;max-width:18ch}
.page-hero h1 em{font-style:normal;color:var(--cyan);font-weight:600}
.page-hero p.lead{font-size:clamp(17px,1.6vw,20px);color:var(--text-2);max-width:58ch}
.crumbs{font-family:var(--font-mono);font-size:13px;color:var(--steel);display:flex;gap:8px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--cyan)}

/* service teaser grid on home */
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.teaser{background:var(--abyss);padding:26px;display:grid;gap:12px;align-content:start;text-decoration:none;transition:background .2s}
.teaser:hover{background:var(--deep)}
.teaser .ico{width:36px;height:36px;color:var(--cyan)}
.teaser h3{font-size:19px;font-weight:500}
.teaser p{color:var(--steel);font-size:14.5px}
.teaser.more{background:linear-gradient(160deg,#071078,#0b3fb0 60%,#0b62d6);color:#fff;align-content:space-between}
.teaser.more h3{font-size:22px}
.teaser.more span{font-family:var(--font-mono);font-size:14px;display:flex;gap:8px;align-items:center;color:#dbe4ff}
.teaser.more:hover{filter:brightness(1.1)}
@media (max-width:1000px){.teaser-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.teaser-grid{grid-template-columns:1fr}}

/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{border:1px solid var(--line);background:var(--abyss);padding:22px;display:flex;gap:14px;align-items:center}
.ind svg{width:30px;height:30px;flex:none;color:var(--cyan)}
.ind strong{font-family:var(--font-display);font-weight:500;font-size:17px}
@media (max-width:900px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.ind-grid{grid-template-columns:1fr}}
.tasks{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tasks span{font-family:var(--font-mono);font-size:14px;padding:8px 14px;border:1px solid var(--line-strong);color:var(--text)}

/* service detail rows */
.svc-rows{display:grid;gap:0;border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);padding-block:clamp(36px,5vw,56px);border-bottom:1px solid var(--line);align-items:start}
.svc-row .ico{width:52px;height:52px;color:var(--cyan)}
.svc-row h2{font-size:clamp(26px,3vw,36px);font-weight:400}
.svc-row .desc{display:grid;gap:14px}
.svc-row .desc p{color:var(--text-2);font-size:17px;max-width:52ch}
.svc-row ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.svc-row li{background:var(--abyss);padding:13px 16px;display:flex;gap:12px;font-size:15px}
.svc-row li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;border:1px solid var(--cyan);transform:rotate(45deg)}
@media (max-width:860px){.svc-row{grid-template-columns:1fr}.svc-row .ico{width:44px;height:44px}}

/* CTA band */
.cta-band{background:linear-gradient(100deg,#071078,#0a1a8c 50%,#0b62d6);position:relative;overflow:hidden}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;padding-block:clamp(48px,6vw,72px);position:relative;z-index:1}
.cta-band h2{font-size:clamp(26px,3.4vw,40px);font-weight:500;max-width:22ch}
.cta-band h2 em{font-style:normal;font-weight:600}
.cta-band .btn{background:#fff;border-color:#fff;color:#071078}
.cta-band .btn:hover{background:#e6f9ff}
.cta-band .watermark{opacity:.1;width:340px;right:-40px;bottom:-80px}

/* legal pages */
.legal{max-width:760px;display:grid;gap:14px;color:var(--text-2)}
.legal h2{font-size:22px;color:var(--text);margin-top:18px;font-weight:500}
.legal a{color:var(--cyan)}

/* ---------- Intro: logo slide ---------- */
#intro{position:fixed;inset:0;z-index:100;background:var(--abyss);display:grid;place-items:center;animation:introOut .55s cubic-bezier(.7,0,.2,1) 1.45s forwards;pointer-events:none}
#intro .stage{display:grid;justify-items:center;gap:30px;width:min(64vw,320px)}
#intro .mark{width:62%;overflow:visible}
#intro .mark path{animation:markIn .75s cubic-bezier(.2,.7,.2,1) .05s both}
#intro .mark .glow{animation:glow 1.1s ease-out .35s both}
#intro .word{width:100%;overflow:hidden}
#intro .word svg{display:block;width:100%;animation:wordIn .6s cubic-bezier(.2,.7,.2,1) .5s both}
#intro .bar{width:100%;height:2px;background:rgba(120,150,230,.16);overflow:hidden}
#intro .bar i{display:block;height:100%;background:linear-gradient(90deg,#071078,#09cbf5);animation:bar 1.3s ease-in-out .1s both}
@keyframes markIn{from{clip-path:inset(100% 0 0 0);transform:translateY(40px)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes wordIn{from{transform:translateY(110%)}to{transform:none}}
@keyframes glow{0%{opacity:0}40%{opacity:1}100%{opacity:.5}}
@keyframes bar{from{transform:translateX(-100%)}to{transform:none}}
@keyframes introOut{to{transform:translateY(-100%);visibility:hidden}}
.intro-seen #intro,.no-intro #intro{display:none}
@media (prefers-reduced-motion:reduce){#intro{display:none}}
.teaser.more span svg,.btn svg{width:16px;height:16px;flex:none}
@media (max-width:960px){.lang{margin-left:auto}.header .menu-btn{margin-left:0}}
/* cert (light, with real TÜV mark) */
.cert{background:#fff;color:#0c0e12;border-block:1px solid rgba(7,16,120,.11);--cyan:#0b62d6;--steel:#56608a}
.cert .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(56px,7vw,88px)}
.cert-copy{display:grid;gap:16px}
.cert h2{font-size:clamp(26px,3.2vw,38px);font-weight:500;max-width:22ch}
.cert h2 em{font-style:normal;font-weight:600;color:#0b62d6}
.cert p:not(.eyebrow){color:#2c3558;font-size:17px;max-width:54ch}
.cert-mark{display:grid;gap:12px;justify-items:start;text-decoration:none;color:#0b62d6;font-family:var(--font-mono);font-size:14px}
.cert-mark img{width:100%;max-width:440px;height:auto;display:block;box-shadow:0 12px 40px rgba(7,16,120,.12)}
.cert-mark:hover span{text-decoration:underline}
@media (max-width:820px){.cert .wrap{grid-template-columns:1fr}}
.foot-mark img{width:190px;height:auto;display:block;border-radius:2px;margin-top:6px}

/* ================= WOW layer ================= */
.hero3d{min-height:min(100svh,940px);display:grid;align-items:end;background:radial-gradient(120% 90% at 75% 40%,#1d2027 0%,#0c0e12 60%)}
.hero3d #scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero3d::after{display:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,18,.92) 0%,rgba(12,14,18,.55) 45%,rgba(12,14,18,0) 75%),linear-gradient(0deg,rgba(12,14,18,.9) 0%,rgba(12,14,18,0) 35%);pointer-events:none;z-index:1}
.hero3d .hero-content{position:relative;z-index:2;padding-block:clamp(120px,16vh,200px) clamp(72px,10vh,120px)}
.hero3d h1{margin-top:22px;font-size:clamp(44px,6vw,94px);font-weight:500;line-height:1.02;letter-spacing:-.03em;max-width:13ch}
.hero3d h1 em{display:block;font-style:normal;font-weight:600;background:linear-gradient(90deg,#09cbf5,#5b8cff 60%,#09cbf5);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.hero3d .lead{max-width:46ch}
.hero-mark.fallback{display:none;position:absolute;right:6%;top:50%;transform:translateY(-50%);width:min(34vw,420px);z-index:1}
.hero3d.no3d .hero-mark.fallback{display:block}
@media (max-width:900px){.hero3d.no3d .hero-mark.fallback{display:none}.hero-shade{background:linear-gradient(0deg,rgba(12,14,18,.96) 0%,rgba(12,14,18,.75) 50%,rgba(12,14,18,.1) 100%)}.hero3d .hero-content{padding-top:46vh}}
/* staged entrance after logo intro */
.seq > *{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
.seq > *:nth-child(1){animation-delay:1.85s}.seq > *:nth-child(2){animation-delay:1.97s}.seq > *:nth-child(3){animation-delay:2.1s}.seq > *:nth-child(4){animation-delay:2.22s}.seq > *:nth-child(5){animation-delay:2.34s}
.intro-seen .seq > *,.no-intro .seq > *{animation-delay:.3s}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;left:50%;bottom:24px;z-index:2;width:26px;height:42px;border:1px solid rgba(127,227,251,.5);border-radius:14px;transform:translateX(-50%)}
.scroll-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:#09cbf5;border-radius:2px;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@media (max-width:900px){.scroll-cue{display:none}}

/* marquee */
.marquee{background:#0c0e12;border-block:1px solid rgba(120,150,230,.16);overflow:hidden;padding-block:26px}
.marquee .track{display:flex;align-items:center;gap:40px;width:max-content;animation:marq 38s linear infinite}
.marquee span{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,6vw,84px);letter-spacing:-.02em;color:rgba(127,227,251,.16);white-space:nowrap;text-transform:uppercase}
.marquee span:nth-child(4n+1){color:#09cbf5}
.marquee i{width:18px;height:16px;flex:none;background:#09cbf5;-webkit-mask:var(--icon-mask) center/contain no-repeat;mask:var(--icon-mask) center/contain no-repeat}
@keyframes marq{to{transform:translateX(-50%)}}

/* services list (home) */
.svc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4vw,48px)}
.svc-head .section-head{margin-bottom:0}
.btn.ghost.dark{color:var(--text);border-color:var(--line-strong)}
.svc-list{border-top:1px solid var(--line)}
.svc-link{position:relative;display:grid;grid-template-columns:56px minmax(0,1.1fr) minmax(0,1fr) 48px;gap:24px;align-items:center;padding:26px 20px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);overflow:hidden;isolation:isolate}
.svc-link::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#071078,#0b3fb0 60%,#0b62d6);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1);z-index:-1}
.svc-link .ico{width:40px;height:40px;color:var(--cyan);transition:color .3s,transform .5s}
.svc-link .nm{font-family:var(--font-display);font-size:clamp(24px,2.8vw,38px);font-weight:400;letter-spacing:-.01em;transition:color .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.svc-link .ds{color:var(--steel);font-size:15px;transition:color .3s}
.svc-link .go{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--cyan);transition:all .4s}
.svc-link .go svg{width:18px;height:18px}
.svc-link:hover::before,.svc-link:focus-visible::before{transform:scaleX(1)}
.svc-link:hover .nm{color:#fff;transform:translateX(10px)}
.svc-link:hover .ds{color:#dbe4ff}
.svc-link:hover .ico{color:#09cbf5;transform:rotate(-8deg) scale(1.1)}
.svc-link:hover .go{background:#fff;color:#071078;border-color:#fff;transform:rotate(-45deg)}
@media (max-width:760px){.svc-link{grid-template-columns:40px minmax(0,1fr) 40px;gap:14px 16px;padding:22px 8px}.svc-link .ds{grid-column:2/3;grid-row:2}.svc-link .go{grid-row:1/3;grid-column:3;width:38px;height:38px}}

/* scroll reveal (only when JS is active) */
.js-rv .rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js-rv .rv.in{opacity:1;transform:none}
.ind-grid.rv.in .ind{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.ind-grid.rv.in .ind:nth-child(2){animation-delay:.06s}.ind-grid.rv.in .ind:nth-child(3){animation-delay:.12s}.ind-grid.rv.in .ind:nth-child(4){animation-delay:.18s}
.ind-grid.rv.in .ind:nth-child(5){animation-delay:.24s}.ind-grid.rv.in .ind:nth-child(6){animation-delay:.3s}.ind-grid.rv.in .ind:nth-child(7){animation-delay:.36s}.ind-grid.rv.in .ind:nth-child(8){animation-delay:.42s}
.ind{transition:border-color .3s,transform .3s,box-shadow .3s}
.ind:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,98,214,.12)}
.header{transition:background .3s}
@media (prefers-reduced-motion:reduce){.seq > *,.marquee .track,.hero3d h1 em{animation:none}.js-rv .rv{opacity:1;transform:none}}

/* ================= Photos ================= */
.page-hero.has-img{min-height:clamp(380px,56vh,560px);display:grid;align-items:end}
.ph-img{position:absolute;inset:0;background-size:cover;background-position:center;animation:kb 22s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.page-hero.has-img::after{background:linear-gradient(90deg,rgba(12,14,18,.92) 0%,rgba(12,14,18,.65) 45%,rgba(12,14,18,.15) 100%),linear-gradient(0deg,rgba(12,14,18,.85) 0%,rgba(12,14,18,0) 50%)}

.svc-rows2{display:grid;gap:clamp(56px,8vw,112px)}
.svc-row2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;scroll-margin-top:110px}
.svc-row2:nth-child(even) .svc-img{order:2}
.svc-img{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3;max-width:100%;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.svc-img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.svc-row2:hover .svc-img img{transform:scale(1.1)}
.svc-img .tag{position:absolute;left:0;bottom:0;width:72px;height:72px;display:grid;place-items:center;background:#09cbf5;color:#0c0e12}
.svc-img .tag .ico{width:34px;height:34px;color:#0c0e12}
.svc-body{display:grid;gap:18px}
.svc-body h2{font-size:clamp(30px,3.6vw,48px);font-weight:400;letter-spacing:-.02em}
.svc-body p{color:var(--text-2);font-size:17px;max-width:52ch}
.svc-body ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.svc-body li{background:var(--abyss);padding:13px 16px;display:flex;gap:12px;font-size:15px}
.svc-body li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;border:1px solid var(--cyan);transform:rotate(45deg)}
@media (max-width:860px){.svc-row2{grid-template-columns:1fr}.svc-row2:nth-child(even) .svc-img{order:0}}

.band{position:relative;overflow:hidden;min-height:clamp(420px,70vh,680px);display:grid;align-items:center;color:#fff}
.band-img{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,18,.9) 0%,rgba(12,14,18,.55) 50%,rgba(12,14,18,.1) 100%)}
.band-inner{position:relative;z-index:1;display:grid;gap:22px;justify-items:start;padding-block:80px}
.band h2{font-size:clamp(32px,4.6vw,64px);font-weight:500;line-height:1.08;max-width:20ch;letter-spacing:-.02em}
.band h2 em{font-style:normal;font-weight:600;color:#09cbf5}

.svc-preview{position:fixed;left:0;top:0;width:260px;aspect-ratio:4/3;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.svc-preview img{width:100%;height:100%;object-fit:cover;display:block}
.svc-preview.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none),(max-width:900px){.svc-preview{display:none}}
/* logo lockup: mark + wordmark side by side */
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.brand svg{height:auto}
.brand .lk-mark{height:40px;width:auto}
.brand .lk-word{height:26px;width:auto}
.brand-foot .lk-mark{height:64px}
.brand-foot .lk-word{height:40px}
footer .brand-foot svg{height:auto}
@media (max-width:560px){.brand .lk-mark{height:34px}.brand .lk-word{height:21px}.brand{gap:10px}}

/* less logo repetition */
.section .watermark{display:none}
.marquee i{-webkit-mask:none;mask:none;width:10px;height:10px;transform:rotate(45deg);background:#09cbf5}

/* ================= Forms v2 ================= */
legend{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--text);padding:0;margin:0 0 6px}
legend.sub{font-size:16px;margin-top:22px;margin-bottom:10px;color:var(--text)}
fieldset{border:0;margin:0;padding:0;min-width:0}
.hint{color:var(--steel);font-size:14px;margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;border-radius:2px;transition:box-shadow .3s}
.chips.err{box-shadow:0 0 0 2px #e5484d}
.err-msg{color:#e5484d;font-size:13.5px;margin:6px 0 0}
.chip{position:relative;display:inline-flex;cursor:pointer;font-family:var(--font-body);letter-spacing:0;color:var(--text)}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line-strong);background:var(--abyss);font-size:14.5px;line-height:1.2;transition:all .2s}
.chip span::before{content:"";width:14px;height:14px;border:1.5px solid var(--steel);flex:none;transition:all .2s}
.chip input[type=radio] + span::before{border-radius:50%}
.chip:hover span{border-color:var(--cyan)}
.chip input:checked + span{background:var(--cyan);border-color:var(--cyan);color:#fff}
.chip input:checked + span::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--cyan)}
.chip input:focus-visible + span{outline:2px solid var(--cyan);outline-offset:2px}
.fld{display:grid;gap:7px;font-size:13px;color:var(--steel);font-family:var(--font-mono);letter-spacing:.04em;margin-top:14px}
.fld.full{grid-column:1/-1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}
form[data-form]{display:block}
form[data-form] .check{margin-top:18px}
form[data-form] > .btn,form[data-form] .wz-nav{margin-top:22px}
.form-status{margin-top:12px}

/* steppers */
.steppers{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.stepper{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--abyss);padding:12px 16px}
.stepper label{font-size:15px;color:var(--text)}
.st-ctl{display:flex;align-items:center;border:1px solid var(--line-strong)}
.st-ctl button{width:40px;height:40px;border:0;background:transparent;color:var(--cyan);font-size:20px;cursor:pointer}
.st-ctl button:hover{background:var(--deep)}
.st-ctl input{width:52px;text-align:center;border:0;border-inline:1px solid var(--line);padding:8px 0;font-weight:600;-moz-appearance:textfield}
.st-ctl input::-webkit-inner-spin-button{-webkit-appearance:none}

/* wizard */
.wz-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:960px){.wz-layout{grid-template-columns:1fr}}
.wz{background:var(--deep);border:1px solid var(--line);padding:clamp(20px,3vw,40px);box-shadow:0 30px 60px rgba(7,16,120,.08)}
.wz-bar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:13px;color:var(--steel)}
.wz-bar li{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);letter-spacing:.03em}
.wz-bar li b{font-weight:500;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line-strong);font-size:12px;flex:none}
.wz-bar li.on{color:var(--text)} .wz-bar li.on b{background:var(--cyan);border-color:var(--cyan);color:#fff}
.wz-bar li.done{cursor:pointer} .wz-bar li.done b{background:var(--text);border-color:var(--text);color:var(--abyss)}
@media (max-width:620px){.wz-bar li{font-size:0;gap:0}.wz-bar li b{font-weight:500;font-size:12px}}
.wz-progress{height:3px;background:var(--line);margin:16px 0 28px}
.wz-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#071078,#09cbf5);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.wz-step{animation:up .45s cubic-bezier(.2,.7,.2,1)}
.wz-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.wz-nav [data-next],.wz-nav [type=submit]{margin-left:auto}
.wz-side{display:grid;gap:16px;position:sticky;top:100px}
.sum,.direct{background:var(--abyss);border:1px solid var(--line);padding:24px}
.sum h3,.direct h3{font-size:18px;font-weight:500;margin-bottom:12px}
.sum dl{margin:0;display:grid;gap:10px}
.sum dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.sum dd{margin:0;font-size:14.5px;color:var(--text);padding-bottom:10px;border-bottom:1px solid var(--line)}
.sum-empty{color:var(--steel);font-size:14px}
.direct{background:linear-gradient(140deg,#071078,#0b3fb0);color:#fff;border:0;display:grid;gap:6px}
.direct a{color:#fff;font-size:18px;text-decoration:none;font-family:var(--font-display)}
.direct a:hover{color:#09cbf5}
.direct p{font-size:13px;color:#b9c6ef;margin-top:6px}

/* job cards */
.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
@media (max-width:400px){.job-grid{grid-template-columns:1fr}}
.job-card{border:1px solid var(--line);background:var(--abyss);padding:28px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s,box-shadow .3s,transform .3s}
.job-card:hover{border-color:var(--cyan);box-shadow:0 20px 40px rgba(11,98,214,.1);transform:translateY(-3px)}
.jc-head{display:flex;gap:14px;align-items:center}
.jc-head .ico{width:40px;height:40px;color:var(--cyan);flex:none}
.jc-head h3{font-size:21px;font-weight:500}
.jc-meta{font-family:var(--font-mono);font-size:12px;color:var(--steel)}
.job-card > p{color:var(--text-2);font-size:15px}
.job-card h4{margin:6px 0 0;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.job-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.job-card li{display:flex;gap:10px}
.job-card li::before{content:"";flex:none;width:16px;height:16px;margin-top:3px;background:var(--cyan);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5L13 5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5L13 5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.jc-apply{margin-top:auto;align-self:flex-start}
#job-form,#wh-form{background:var(--deep);border:1px solid var(--line);padding:clamp(20px,3vw,36px)}
.perks-h{font-size:18px;font-weight:500;margin-top:36px}
.wh-info{display:grid;gap:10px;margin-top:28px;padding:24px;border:1px solid var(--line);background:var(--abyss)}
.wh-info h3{font-size:17px;font-weight:500}
.wh-info p{color:var(--text-2);font-size:14.5px}
.wh-info a{color:var(--cyan)}

/* 3D drag hint */
.hero3d .hero-content{pointer-events:none}
.hero3d .seq{max-width:640px;pointer-events:auto}
.hero3d #scene{cursor:grab;touch-action:pan-y}
.hero3d #scene.dragging{cursor:grabbing}
.drag-hint{position:absolute;z-index:3;right:clamp(16px,8vw,140px);bottom:clamp(28px,8vh,80px);display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.08em;color:#7fe3fb;padding:8px 14px;border:1px solid rgba(127,227,251,.35);background:rgba(12,14,18,.5);backdrop-filter:blur(6px);pointer-events:none;opacity:0;animation:up .8s 4.4s both;transition:opacity .6s}
.intro-seen .drag-hint,.no-intro .drag-hint{animation-delay:1.4s}
.drag-hint.gone{opacity:0!important}
.drag-hint svg{width:18px;height:18px}
.hero3d.no3d .drag-hint{display:none}
@media (max-width:900px){.drag-hint{right:auto;left:16px;bottom:auto;top:40vh}}

[hidden]{display:none!important}
.hero3d .seq{max-width:820px}
.job-init{background:linear-gradient(150deg,#071078,#0b3fb0 60%,#0b62d6);border:0;color:#fff;text-decoration:none;justify-content:center}
.job-init h3{font-size:26px;font-weight:500}
.job-init p{color:#dbe4ff!important}
.job-init .btn{align-self:flex-start;background:#fff;border-color:#fff;color:#071078;margin-top:8px}

/* ================= Corporate home (v5) ================= */
.hero-photo{position:relative;min-height:min(100svh,920px);display:grid;grid-template-rows:1fr auto;overflow:hidden;background:#0c0e12;color:#fff}
.hero-photo .slides{position:absolute;inset:0}
.hero-photo .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.4s ease,transform 8s linear}
.hero-photo .slide.on{opacity:1;transform:scale(1)}
.hero-photo .hero-shade{background:linear-gradient(90deg,rgba(12,14,18,.82) 0%,rgba(12,14,18,.45) 50%,rgba(12,14,18,.05) 100%),linear-gradient(0deg,rgba(12,14,18,.75) 0%,rgba(12,14,18,0) 40%)}
.hero-photo .hero-content{position:relative;z-index:2;align-self:center;padding-block:clamp(110px,16vh,180px) 40px}
.hero-photo h1{margin-top:22px;font-size:clamp(42px,5.8vw,88px);font-weight:500;line-height:1.04;letter-spacing:-.025em;max-width:14ch}
.hero-photo h1 em{display:block;font-style:normal;font-weight:600;color:#09cbf5}
.hero-photo .lead{max-width:48ch;color:#dfe6fa}
.sdots{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-bottom:34px}
.sdot{background:none;border:0;color:rgba(255,255,255,.65);text-align:left;font:500 14px/1.3 var(--font-display);cursor:pointer;padding:14px 0 0;position:relative;letter-spacing:.01em}
.sdot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.25)}
.sdot i{position:absolute;left:0;top:0;height:2px;width:0;background:#09cbf5}
.sdot.on{color:#fff}
.sdot.on i{animation:sbar 6.5s linear forwards}
@keyframes sbar{to{width:100%}}
@media (max-width:700px){.sdots{grid-template-columns:repeat(4,1fr);gap:8px}.sdot{font-size:0;padding-top:0}}

.facts-bar{background:#fff;border-bottom:1px solid rgba(7,16,120,.1)}
.facts{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:34px 28px;display:grid;gap:6px;border-left:1px solid rgba(7,16,120,.1)}
.fact:first-child{border-left:0;padding-left:0}
.fact strong{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3vw,40px);color:#071078;letter-spacing:-.02em;line-height:1}
.fact span{color:#56608a;font-size:14.5px}
@media (max-width:860px){.facts{grid-template-columns:1fr 1fr}.fact{padding:24px 16px}.fact:nth-child(3){border-left:0;padding-left:0}.fact:nth-child(n+3){border-top:1px solid rgba(7,16,120,.1)}}

.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:start}
.intro-grid h2{margin-top:18px;font-size:clamp(30px,3.8vw,52px);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.intro-copy{display:grid;gap:22px;font-size:18px;color:var(--text-2);padding-top:36px}
.link-arrow{display:inline-flex;gap:10px;align-items:center;color:var(--cyan);text-decoration:none;font-family:var(--font-display);font-weight:500}
.link-arrow svg{width:18px;height:18px;transition:transform .3s}
.link-arrow:hover svg{transform:translateX(5px)}
@media (max-width:860px){.intro-grid{grid-template-columns:1fr}.intro-copy{padding-top:0}}

.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.pcards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pcards{grid-template-columns:1fr}}
.pcard{position:relative;display:block;aspect-ratio:3/4;max-width:100%;overflow:hidden;color:#fff;text-decoration:none;background:#071078}
.pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,14,18,.92) 0%,rgba(12,14,18,.25) 55%,rgba(12,14,18,0) 100%);transition:background .4s}
.pcard:hover img{transform:scale(1.07)}
.pcard:hover::after{background:linear-gradient(0deg,rgba(7,16,120,.95) 0%,rgba(7,16,120,.5) 60%,rgba(7,16,120,.1) 100%)}
.pc-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:24px;display:grid;gap:8px}
.pc-body h3{font-size:22px;font-weight:500}
.pc-body p{font-size:14px;color:#cfd8f5;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .4s}
.pcard:hover .pc-body p,.pcard:focus-visible .pc-body p{max-height:120px;opacity:1}
@media (hover:none){.pc-body p{max-height:none;opacity:1}}
.pc-go{width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;margin-top:6px;transition:all .3s}
.pc-go svg{width:18px;height:18px}
.pcard:hover .pc-go{background:#09cbf5;border-color:#09cbf5;color:#0c0e12}
.pcard-all{background:linear-gradient(160deg,#071078,#0b3fb0 60%,#0b62d6)}
.pcard-all::after{display:none}
.pcard-all h3{font-size:28px}

.brand3d{background:radial-gradient(90% 90% at 75% 50%,#0b1a7a 0%,#0c0e12 70%);color:#fff;overflow:hidden;--text:#e9eefc;--text-2:#c3cbe6;--steel:#8e98bd;--line:rgba(120,150,230,.16);--abyss:#0c0e12;--cyan:#09cbf5}
.brand-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding-block:clamp(72px,9vw,120px)}
.brand-copy{display:grid;gap:20px}
.brand-copy h2{font-size:clamp(30px,3.6vw,48px);font-weight:500;letter-spacing:-.02em}
.brand-copy .values{background:rgba(120,150,230,.16);border-color:rgba(120,150,230,.16)}
.brand-copy .value{background:rgba(12,14,18,.6)}
.logo-stage{position:relative;aspect-ratio:1/1;max-width:100%;width:100%}
.logo-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.logo-stage canvas.dragging{cursor:grabbing}
.logo-stage .hero-mark.fallback{position:absolute;inset:15%;width:auto;transform:none;display:none}
.logo3d.no3d .hero-mark.fallback{display:block}
.logo-stage .drag-hint{position:absolute;left:50%;right:auto;top:auto;bottom:6%;transform:translateX(-50%);animation:none;opacity:1}
.logo3d.no3d .drag-hint{display:none}
@media (max-width:860px){.brand-grid{grid-template-columns:1fr}.logo-stage{max-width:420px;justify-self:center}}

.career-teaser{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:#fff}
.ct-img{background-size:cover;background-position:center;min-height:320px}
.ct-body{display:grid;gap:18px;align-content:center;justify-items:start;padding:clamp(40px,6vw,96px)}
.ct-body h2{font-size:clamp(30px,3.6vw,48px);font-weight:500;letter-spacing:-.02em;color:#0c0e12}
.ct-body p:not(.eyebrow){color:#2c3558;font-size:17px;max-width:44ch}
.ct-body .eyebrow{color:#0b62d6}
@media (max-width:860px){.career-teaser{grid-template-columns:1fr}}
.hero-photo > .wrap{width:100%}
input.auto-filled{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(9,203,245,.18);transition:box-shadow .3s,border-color .3s}

/* ================= Anfahrt ================= */
.anf-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:stretch}
@media (max-width:900px){.anf-grid{grid-template-columns:1fr}}
.anf-panel{border:1px solid var(--line);background:var(--abyss);padding:clamp(20px,3vw,32px);display:grid;gap:22px;align-content:start}
.anf-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-strong)}
.anf-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:0;background:transparent;color:var(--text);font:500 15px var(--font-display);cursor:pointer;transition:background .2s,color .2s}
.anf-tabs button svg{width:22px;height:22px}
.anf-tabs button.on{background:#071078;color:#fff}
.anf-body h3{font-size:14px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-weight:500}
.anf-addr{font-family:var(--font-display);font-size:24px;line-height:1.3;margin:8px 0 14px;color:var(--text)}
.copy-btn{background:none;border:1px solid var(--line-strong);color:var(--cyan);padding:9px 14px;font:500 14px var(--font-body);cursor:pointer}
.copy-btn:hover{background:var(--deep)}
.anf-stops{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.anf-stops li{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line)}
.anf-stops strong{display:block;font-family:var(--font-display);font-weight:500;font-size:17px}
.anf-stops span:not(.stop-ic){color:var(--steel);font-size:14px}
.stop-ic{flex:none;width:44px;height:44px;display:grid;place-items:center;font:700 12px var(--font-body);color:#fff}
.stop-ic.bus{background:#e2001a;border-radius:50%}
.stop-ic.db{background:#ec0016;border-radius:4px}
.anf-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}
.anf-links a{color:var(--cyan);text-decoration:none;font-size:14.5px}
.route-form{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.route-form .fld{margin-top:0}
.route-form .btn{justify-self:start}
.map-card{position:relative;min-height:440px;overflow:hidden;background:
  radial-gradient(circle at 50% 45%,rgba(9,203,245,.25),transparent 40%),
  repeating-linear-gradient(0deg,rgba(127,227,251,.07) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(90deg,rgba(127,227,251,.07) 0 1px,transparent 1px 44px),
  linear-gradient(160deg,#071078,#0c0e12);color:#fff}
.map-card::before{content:"";position:absolute;inset:0;background:
  linear-gradient(28deg,transparent 48%,rgba(127,227,251,.18) 48.4%,rgba(127,227,251,.18) 49.6%,transparent 50%),
  linear-gradient(-62deg,transparent 58%,rgba(127,227,251,.14) 58.3%,rgba(127,227,251,.14) 59.3%,transparent 59.6%),
  linear-gradient(95deg,transparent 30%,rgba(127,227,251,.12) 30.3%,rgba(127,227,251,.12) 31%,transparent 31.3%)}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.9)}
.map-consent{position:relative;z-index:1;height:100%;min-height:440px;display:grid;place-content:center;justify-items:center;text-align:center;gap:10px;padding:32px}
.map-pin{width:64px;height:64px;filter:drop-shadow(0 0 18px rgba(9,203,245,.7));animation:pin 2.4s ease-in-out infinite}
@keyframes pin{50%{transform:translateY(-8px)}}
.map-consent strong{font-family:var(--font-display);font-size:22px;font-weight:500}
.map-consent > span{color:#c3cbe6}
.map-consent .btn{margin-top:12px}
.map-consent small{color:#8e98bd;font-size:12.5px;max-width:36ch}
.map-consent small a,.map-ext{color:#7fe3fb}
.map-ext{font-size:14px;text-decoration:none;margin-top:4px}
form.route-form{background:none;border:0;border-top:1px solid var(--line);padding:20px 0 0;grid-template-columns:1fr;box-shadow:none}

/* ================= Branchen clickable + modal ================= */
button.ind{font:inherit;color:var(--text);text-align:left;cursor:pointer;width:100%;position:relative}
.ind-more{margin-left:auto;width:26px;height:26px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:18px;line-height:1;transition:all .3s}
button.ind:hover .ind-more{background:var(--cyan);color:#fff;border-color:var(--cyan);transform:rotate(90deg)}
.ind-hint{margin-top:16px;color:var(--steel);font-size:14px}
.ind-dlg{border:0;padding:0;max-width:760px;width:calc(100% - 32px);max-height:88vh;background:#fff;color:#0c0e12;box-shadow:0 40px 80px rgba(12,14,18,.35)}
.ind-dlg::backdrop{background:rgba(12,14,18,.7);backdrop-filter:blur(4px)}
.ind-dlg[open]{animation:up .4s cubic-bezier(.2,.7,.2,1)}
.idl-body{position:relative;padding:clamp(24px,4vw,44px);display:grid;gap:18px}
.idl-body .eyebrow{color:#0b62d6}
.idl-body h2{font-size:clamp(28px,4vw,42px);font-weight:400}
.idl-lead{color:#2c3558;font-size:17px}
.idl-x{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid rgba(7,16,120,.15);background:#fff;font-size:22px;cursor:pointer;color:#0c0e12}
.idl-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:620px){.idl-cols{grid-template-columns:1fr}}
.idl-cols h3{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#56608a;font-weight:500;margin-bottom:10px}
.idl-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.idl-cols li{display:flex;gap:10px}
.idl-cols li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;border:1px solid #0b62d6;transform:rotate(45deg)}
.idl-ex{background:linear-gradient(140deg,#071078,#0b3fb0);color:#fff;padding:22px 24px}
.idl-ex span{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7fe3fb}
.idl-ex p{margin-top:8px;font-size:15.5px;color:#e9eefc}
.idl-body > .btn{justify-self:start;background:#0b62d6;border-color:#0b62d6;color:#fff}

/* ================= Journey planner ================= */
.rp-stop{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);margin-bottom:18px}
.rp-stop strong{display:block;font-family:var(--font-display);font-weight:500;font-size:17px}
.rp-stop span:not(.stop-ic){color:var(--steel);font-size:14px}
.rp-stop div{margin-left:4px}
.stop-ic.tram{background:#e2001a;border-radius:4px;width:40px;height:32px;font-size:14px}
.stop-ic.tram.t15{background:#5a2d82}
.anf-body h3{margin-bottom:10px}
.rp-presets{margin-bottom:6px}
.journey{border:1px solid var(--line);background:var(--abyss);padding:clamp(20px,3vw,32px);min-height:440px;align-self:stretch}
.jr-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.jr-head span{font-family:var(--font-display);font-size:18px;font-weight:500}
.jr-head strong{font-family:var(--font-display);font-size:28px;font-weight:500;color:#071078;white-space:nowrap}
.legs{list-style:none;margin:0;padding:0;position:relative}
.lg{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px 0;position:relative}
.lg > svg{width:40px;height:40px;padding:8px;border-radius:50%;background:var(--deep);color:#56608a;position:relative;z-index:1}
.lg::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:repeating-linear-gradient(180deg,#c8d0ea 0 4px,transparent 4px 8px)}
.lg.ride::before{background:#0b62d6}
.lg.ride > svg{background:#0b62d6;color:#fff}
.lg.tram > svg{background:#e2001a}.lg.tram::before{background:#e2001a}
.lg.sbahn > svg{background:#00885a}.lg.sbahn::before{background:#00885a}
.lg.train > svg{background:#ec0016}.lg.train::before{background:#ec0016}
.lg p{font-size:15px;margin:2px 0}
.lg .muted{color:var(--steel);font-size:13.5px}
.lg-head{font-size:16px!important}
.badge{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;font:700 13px var(--font-body);color:#fff;background:#0b62d6;border-radius:3px;margin-right:4px}
.badge.tram{background:#e2001a}.badge.sbahn{background:#00885a;border-radius:12px}.badge.train{background:#ec0016}
.delay{color:#e2001a;font-weight:600;font-size:13px;margin-left:6px}
.ontime{color:#00885a;font-weight:600;font-size:13px;margin-left:6px}
.jr-end{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding-top:10px}
.jr-end svg{width:40px;height:40px;padding:8px;border-radius:50%;background:#09cbf5;color:#0c0e12}
.jr-note{margin-top:18px;color:var(--steel);font-size:13px}
.jr-load{color:var(--text-2)}
.jr-load a{color:var(--cyan)}
.rp-live{border-top:0!important;padding-top:0!important;margin-bottom:6px}
.rp-input{position:relative}
.rp-sugg{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:2px 0 0;padding:4px 0;background:#fff;border:1px solid var(--line-strong);box-shadow:0 16px 32px rgba(7,16,120,.14)}
.rp-sugg li{padding:10px 14px;font-size:14.5px;cursor:pointer;color:#0c0e12}
.rp-sugg li:hover{background:#eef4ff}
.rp-or{margin-top:18px}
.jr-mark{width:40px;height:40px;border-radius:50%;background:linear-gradient(160deg,#09cbf5,#2436e0);display:grid;place-items:center}
.jr-mark svg{width:22px;height:auto}
.map-pin{width:72px;filter:drop-shadow(0 0 22px rgba(9,203,245,.7));animation:pin 2.4s ease-in-out infinite}
.map-pin svg{width:100%;height:auto;display:block}
.legal a{word-break:break-word}
.jr-end .jr-mark svg{width:24px;height:22px;padding:0;background:none;border-radius:0}
/* contact page cards */
.ct-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.ct-cards{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ct-cards{grid-template-columns:1fr}}
.ct-card{display:grid;gap:10px;align-content:start;padding:26px;border:1px solid var(--line);background:var(--abyss);text-decoration:none;color:var(--text);transition:border-color .3s,transform .3s,box-shadow .3s}
a.ct-card:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 18px 36px rgba(11,98,214,.1)}
.ct-card svg{width:34px;height:34px;color:var(--cyan)}
.ct-card small{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.ct-card strong{font-family:var(--font-display);font-weight:500;font-size:20px;word-break:break-word}
.ct-card span{color:var(--steel);font-size:14px}
.ct-card.primary{background:linear-gradient(150deg,#071078,#0b3fb0 60%,#0b62d6);border:0;color:#fff}
.ct-card.primary svg{color:#09cbf5}.ct-card.primary small,.ct-card.primary span{color:#cfd8f5}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.jump a{font:500 14px var(--font-body);color:#fff;text-decoration:none;padding:9px 16px;border:1px solid rgba(255,255,255,.3);transition:background .2s}
.jump a:hover{background:rgba(255,255,255,.1)}
.ct-card strong.addr{display:grid;font-size:clamp(16px,1.4vw,19px)}
.ct-card strong.addr span{white-space:nowrap;color:inherit;font-size:inherit}
.ct-card strong span{font-size:inherit!important;color:inherit!important}

/* ================= Mitarbeiterportal ================= */
.pt-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.pt-tiles{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pt-tiles{grid-template-columns:1fr}}
.pt-tile{display:grid;gap:8px;justify-items:start;text-align:left;padding:26px;border:1px solid var(--line);background:var(--abyss);color:var(--text);font:inherit;cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s,background .3s}
.pt-tile svg{width:38px;height:38px;color:var(--cyan)}
.pt-tile strong{font-family:var(--font-display);font-weight:500;font-size:20px}
.pt-tile span{color:var(--steel);font-size:14px}
.pt-tile:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 18px 36px rgba(11,98,214,.1)}
.pt-tile.on{background:linear-gradient(150deg,#071078,#0b3fb0 60%,#0b62d6);border-color:transparent;color:#fff}
.pt-tile.on svg{color:#09cbf5}.pt-tile.on span{color:#cfd8f5}
.pt-form{margin-top:28px;background:var(--deep);border:1px solid var(--line);padding:clamp(20px,3vw,40px);box-shadow:0 30px 60px rgba(7,16,120,.08);scroll-margin-top:100px;animation:up .45s cubic-bezier(.2,.7,.2,1)}
.pt-form-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pt-form-head h3{font-size:26px;font-weight:500}
.pt-change{background:none;border:1px solid var(--line-strong);color:var(--cyan);padding:8px 14px;font:500 14px var(--font-body);cursor:pointer}
.pt-fs{display:grid;gap:4px;margin-bottom:6px}
.pt-fs > .chips{margin-bottom:6px}
.pt-days{font-weight:600;color:var(--cyan);min-height:1.4em;margin-top:8px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ================= Send feedback ================= */
.btn.sending{opacity:.85;cursor:progress}
.spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sent-panel{background:var(--deep);border:1px solid var(--line);border-top:4px solid #00a870;padding:clamp(24px,4vw,44px);display:grid;gap:14px;justify-items:start;animation:up .5s cubic-bezier(.2,.7,.2,1);outline:none;box-shadow:0 30px 60px rgba(7,16,120,.08)}
.sent-ic{width:56px;height:56px;border-radius:50%;background:#00a870;color:#fff;display:grid;place-items:center}
.sent-ic svg{width:28px;height:28px}
.sent-panel h3{font-size:clamp(24px,3vw,32px);font-weight:500;color:var(--text)}
.sent-panel p{color:var(--text-2);font-size:17px;max-width:52ch}
.sent-info{list-style:none;margin:6px 0 4px;padding:14px 16px;display:grid;gap:6px;font-size:14.5px;color:var(--text-2);background:var(--abyss);border:1px solid var(--line);width:100%}
.err-box{display:block;padding:12px 14px;background:#fdecec;color:#a4161a;border:1px solid #f5c2c2;font-size:14.5px}
.sent-panel{scroll-margin-top:100px}

/* ===== Smartphone: kompakter, ruhiger, weniger Scrollen ===== */
@media (max-width:600px){
  body{font-size:15px}
  .wrap{padding-inline:18px}
  .section{padding-block:52px}
  .section-head{gap:12px;margin-bottom:26px}
  .section-head h2,.intro-grid h2{font-size:27px;line-height:1.15}
  .section-head p,.cert p:not(.eyebrow),.svc-body p,.intro-copy p{font-size:15.5px}
  .eyebrow{font-size:11px}
  .btn{padding:13px 20px;font-size:14.5px}
  /* Start-Hero */
  .hero-photo{min-height:88svh}
  .hero-photo .hero-content{padding-block:96px 28px}
  .hero-photo h1{font-size:36px}
  .hero-photo .lead{font-size:15.5px}
  .fact{padding:18px 12px}
  .fact strong,.fact b{font-size:22px}
  /* Leistungs-Kacheln: 2 Spalten statt riesiger Einzelkarten */
  .pcards{grid-template-columns:1fr 1fr;gap:10px}
  .pcard{aspect-ratio:4/5}
  .pc-body{padding:14px;gap:4px}
  .pc-body h3{font-size:15.5px;line-height:1.25}
  .pc-body p{display:none}
  .pc-go{width:30px;height:30px;margin-top:4px}
  .pc-go svg{width:14px;height:14px}
  .pcard-all h3{font-size:18px}
  /* Branchen: 2 Spalten, kompakt */
  .ind-grid{grid-template-columns:1fr 1fr;gap:8px}
  .ind{padding:12px;gap:10px}
  .ind svg{width:22px;height:22px}
  .ind strong{font-size:14px;line-height:1.25}
  .ind-more{display:none}
  .tasks{gap:6px}
  /* Werte / Band / 3D */
  .value{padding:18px 16px;grid-template-columns:34px 1fr;gap:2px 14px}
  .value svg{width:28px;height:28px}
  .value h3{font-size:17px}
  .band-inner{padding-block:52px}
  .logo-stage{max-width:300px}
  /* Unterseiten */
  .page-hero .wrap{padding-block:48px 34px;gap:14px}
  .page-hero h1{font-size:32px}
  .page-hero p.lead{font-size:15.5px}
  .svc-rows2{gap:44px}
  .svc-img{aspect-ratio:16/9}
  .svc-img .tag{width:48px;height:48px}
  .svc-img .tag .ico{width:24px;height:24px}
  .svc-body{gap:12px}
  .svc-body h2{font-size:25px}
  .svc-body li{padding:10px 12px;font-size:14px}
  .cert .wrap{padding-block:44px;gap:22px}
  .cert h2{font-size:24px}
  /* Footer */
  footer{padding-block:36px 28px}
  footer .wrap{grid-template-columns:1fr 1fr;gap:22px 16px}
  footer .wrap > :first-child{grid-column:1/-1}
  footer svg{height:56px}
  footer .legal-row,footer .wrap > :last-child:not(:nth-child(2)){grid-column:1/-1}
}
@media (max-width:600px){
  .ct-cards{gap:10px}
  .ct-card{grid-template-columns:40px 1fr;gap:2px 14px;padding:16px;align-items:center}
  .ct-card svg{grid-row:span 3;width:26px;height:26px;align-self:start;margin-top:2px}
  .ct-card small{font-size:10.5px}
  .ct-card strong{font-size:17px}
  .ct-card span{font-size:13px}
}

/* ===== Festtags-Gruß ===== */
.fest-bar{background:linear-gradient(90deg,#071078,#0b3fb0 55%,#0b62d6);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden;transition:max-height .4s ease,opacity .3s}
.fest-bar.gone{max-height:0;opacity:0}
.fest-bar .wrap{display:flex;align-items:center;gap:14px;padding-block:10px;min-height:46px}
.fest-ic{width:20px;height:20px;flex:none;color:#09cbf5}
.fest-bar p{margin:0;flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14.5px;line-height:1.45;color:#eef3ff}
.fest-ar{font-family:"Geeza Pro","SF Arabic","Arial Hebrew","SF Hebrew","Noto Sans Hebrew","Segoe UI","Noto Naskh Arabic","Arial",sans-serif;font-size:18px;font-weight:600;color:#fff}
.fest-tr{font-weight:600;color:#7fe3fb;letter-spacing:.02em}
.fest-tr::after{content:"·";margin-left:12px;color:rgba(255,255,255,.4)}
.fest-x{flex:none;width:30px;height:30px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:18px;line-height:1;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.fest-x:hover{background:#fff;color:#071078}
@media (max-width:600px){.fest-bar p{font-size:13px;gap:2px 8px}.fest-ar{font-size:16px}.fest-tr::after{display:none}.fest-txt{flex-basis:100%}}

/* ===== Startseite v3: ruhig, hell, weniger Blöcke ===== */
.eyebrow{display:none}
.hero-photo .hero-content{padding-block:clamp(110px,16vh,170px) 24px}
.hero-foot{position:relative;z-index:2;display:grid;gap:26px;padding-bottom:30px}
.trust{display:flex;flex-wrap:wrap;gap:14px 44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.trust-i{display:flex;align-items:center;gap:12px;color:#fff}
.trust-i svg{width:30px;height:30px;color:#09cbf5;flex:none}
.trust-i strong{display:block;font-family:var(--font-display);font-weight:500;font-size:16px;line-height:1.2}
.trust-i span{display:block;font-size:13px;color:#b9c4e6}
.hero-foot .sdots{padding-bottom:0;grid-template-columns:repeat(4,56px);gap:8px}
.hero-foot .sdot{padding-top:10px;height:12px}
.why-sec{background:#fff}
.why-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px}
.why-i{display:grid;gap:10px;align-content:start}
.why-i svg{width:34px;height:34px;color:#0b62d6}
.why-i h3{font-size:20px;font-weight:500;color:#0c0e12}
.why-i p{font-size:15.5px;color:#2c3558;line-height:1.6}
.why-cert{display:grid;gap:14px;justify-items:start;text-decoration:none;color:#0b62d6;font-size:14px;font-weight:500}
.why-cert img{width:100%;height:auto;box-shadow:0 18px 44px rgba(7,16,120,.12)}
.why-cert span{display:inline-flex;align-items:center;gap:8px}
.why-cert svg{width:14px;height:14px}
.why-cert:hover span{text-decoration:underline}
@media (max-width:900px){.why-grid{grid-template-columns:1fr}.why-cert{max-width:420px}}
@media (max-width:600px){
  .why-list{grid-template-columns:1fr;gap:22px}
  .why-i{grid-template-columns:34px 1fr;gap:4px 14px}.why-i svg{grid-row:span 2;width:28px;height:28px}
  .why-i h3{font-size:17px}.why-i p{font-size:14.5px}
  .trust{gap:12px 22px}.trust-i svg{width:24px;height:24px}.trust-i strong{font-size:14px}.trust-i span{font-size:12px}
  .hero-photo .hero-content{padding-block:88px 16px}
}
/* Über uns: 3D-Logo neben dem Text */
.about3d{position:relative;align-self:center;background:radial-gradient(70% 70% at 50% 50%,#0b1a7a 0%,#0c0e12 75%);border-radius:4px;aspect-ratio:1/1;overflow:hidden}
.about3d .logo-stage{max-width:none;width:100%;height:100%;aspect-ratio:auto}
.about3d .drag-hint{color:#cfe6ff;border-color:rgba(255,255,255,.25)}
.about-grid + .values{margin-top:clamp(40px,6vw,72px);grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.about-grid + .values{grid-template-columns:1fr}.about3d{max-width:420px;width:100%;justify-self:center}}

/* ===== Karriere v2: hell, klar, weniger Blau ===== */
.car-perks{background:#fff}
.perk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px}
.perk{display:grid;grid-template-columns:40px 1fr;gap:4px 16px;align-items:start}
.perk svg{grid-row:span 2;width:32px;height:32px;color:#0b62d6}
.perk h3{font-size:18px;font-weight:500;color:#0c0e12}
.perk p{font-size:15px;color:#2c3558;line-height:1.55}
.job-card{background:#fff}
.job-card .jc-apply{font-size:15px}
.job-init{background:#fff!important;border:1px dashed #9fb4e8!important;color:var(--text)!important;justify-content:flex-start}
.job-init svg{width:34px;height:34px;color:#0b62d6}
.job-init h3{font-size:21px}
.job-init p{color:var(--text-2)!important}
.job-init .link-arrow{margin-top:auto}
.apply-sec{background:#fff}
.apply-sec .split{align-items:start}
.apply-side{position:sticky;top:110px}
.how{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:18px}
.how li{display:flex;gap:14px;align-items:flex-start}
.how b{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf1ff;color:#0b62d6;font-weight:600;font-size:15px}
.how strong{display:block;font-weight:600;color:#0c0e12;font-size:16px}
.how span{display:block;font-size:14.5px;color:#56608a}
.apply-call{margin-top:28px;color:#56608a;font-size:15px}
.apply-call a{color:#0b62d6;font-weight:600;text-decoration:none;white-space:nowrap}
#job-form{background:#f5f8fe;border:1px solid rgba(7,16,120,.1);padding:clamp(20px,3vw,36px)}
@media (max-width:900px){.perk-grid{grid-template-columns:1fr 1fr}.apply-side{position:static}}
@media (max-width:600px){.perk-grid{grid-template-columns:1fr;gap:20px}.perk h3{font-size:16.5px}.perk p{font-size:14.5px}#job-form{padding:18px 14px}}
.job-init .link-arrow svg,.jc-apply svg{width:14px;height:14px}

/* Danke-Fenster nach dem Absenden */
.sent-dlg{border:0;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;background:transparent}
.sent-dlg::backdrop{background:rgba(12,14,18,.55);backdrop-filter:blur(3px)}
.sent-panel.in-dlg{background:#fff;color:#0c0e12;border:0;border-top:4px solid #00a870;box-shadow:0 30px 80px rgba(12,14,18,.35);--text:#0c0e12;--text-2:#2c3558}
.sent-conf{font-size:16px;color:#0c0e12!important}
.sent-ref{font-size:14px;color:#56608a!important}
.privacy-note{font-size:13.5px;color:var(--steel);margin:4px 0 0}
.privacy-note a{color:inherit;text-decoration:underline}
.wf-hint{font-size:13px;color:var(--steel);margin:6px 0 0;max-width:70ch}

/* ===== Navigation v2: Top-Leiste + weiße Hauptleiste ===== */
.header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid rgba(7,16,120,.1);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 rgba(7,16,120,.04)}
.header .wrap{height:auto}
.topbar{background:#0c0e12;color:#b9c4e6;font-size:12.5px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px}
.tb-claim{letter-spacing:.02em}
.tb-right{display:flex;align-items:center;gap:22px}
.tb-right > a{display:inline-flex;align-items:center;gap:7px;color:#dfe6fa;text-decoration:none;transition:color .2s}
.tb-right > a:hover{color:#09cbf5}
.tb-right svg{width:14px;height:14px;color:#09cbf5}
.topbar .lang{border:0;font-family:var(--font-body);font-size:12px;gap:2px}
.topbar .lang button{padding:4px 7px;color:#8e98bd;border-radius:2px}
.topbar .lang button[aria-pressed="true"]{background:none;color:#fff;font-weight:600;box-shadow:inset 0 -2px 0 #09cbf5}
.mainbar .wrap{display:flex;align-items:center;gap:32px;height:76px;position:relative}
.header .brand{color:#071078}
.header .brand .lk-mark{height:38px}.header .brand .lk-word{height:24px}
.header .nav{display:flex;gap:4px;margin-left:auto;align-self:stretch}
.header .nav > a{position:relative;display:flex;align-items:center;padding:0 16px;font-family:var(--font-display);font-weight:500;font-size:15.5px;color:#1a2250;text-decoration:none;transition:color .2s}
.header .nav > a::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:#0b62d6;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;margin:0;display:block}
.header .nav > a:hover{color:#0b62d6}
.header .nav > a:hover::after{transform:scaleX(1)}
.header .nav > a[aria-current="page"]{color:#0b62d6}
.header .nav > a[aria-current="page"]::after{transform:scaleX(1)}
.nav-extra{display:none}
.header .hdr-cta{background:#071078;border-color:#071078;color:#fff;clip-path:none;padding:12px 20px;font-size:14.5px;display:inline-flex;gap:10px;align-items:center}
.header .hdr-cta svg{width:14px;height:14px}
.header .hdr-cta:hover{background:#0b62d6;border-color:#0b62d6;color:#fff}
.menu-btn{display:none}
@media (max-width:1100px){.tb-claim{display:none}.topbar .wrap{justify-content:flex-end}.header .nav > a{padding:0 11px}}
@media (max-width:960px){
  .tb-mail,.tb-portal{display:none}
  .topbar .wrap{justify-content:space-between;min-height:34px}
  .topbar .lang{margin-left:auto}
  .mainbar .wrap{height:64px;gap:14px}
  .header .brand .lk-mark{height:32px}.header .brand .lk-word{height:20px}
  .header .hdr-cta{display:none}
  .menu-btn{display:grid;gap:5px;align-content:center;justify-items:end;margin-left:auto;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:0 4px}
  .menu-btn span{display:block;height:2px;width:24px;background:#071078;transition:transform .3s,opacity .2s,width .3s}
  .menu-btn span:nth-child(2){width:18px}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .header .nav{position:fixed;top:98px;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:0;margin:0;padding:12px 20px 28px;background:#fff;border-top:1px solid rgba(7,16,120,.08);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .header .nav.open{opacity:1;visibility:visible;transform:none}
  .header .nav > a{padding:18px 4px;font-size:22px;font-weight:400;border-bottom:1px solid rgba(7,16,120,.08);justify-content:space-between}
  .header .nav > a::after{content:none;position:static;height:auto;background:none;transform:none;color:#0b62d6;font-size:18px;margin:0}
  .header .nav > a[aria-current="page"]{color:#0b62d6}
  .nav-extra{display:grid;gap:14px;margin-top:28px}
  .nav-extra .btn{justify-content:center;display:flex;gap:10px;background:#071078;border-color:#071078;color:#fff;clip-path:none;padding:15px}
  .nav-extra .btn svg{width:14px}
  .nav-extra a:not(.btn){color:#2c3558;text-decoration:none;font-size:15px}
}
@media (max-width:560px){.tb-right{gap:12px}}
html{scroll-padding-top:120px}
body.menu-open{overflow:hidden}
@media (max-width:960px){
  .tb-right > .tb-mail,.tb-right > .tb-portal{display:none}
  .header .menu-btn{margin-left:auto}
  .header .nav .nav-extra a:not(.btn){padding:6px 0;border:0;font-size:15px}
}

/* Auto-Route direkt auf der Seite */
.car-steps{list-style:none;margin:0;padding:6px 0;max-height:460px;overflow-y:auto}
.car-steps .cs{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid rgba(7,16,120,.07)}
.cs-ic{width:30px;height:30px;border-radius:50%;background:#eaf1ff;color:#0b62d6;display:grid;place-items:center}
.cs-ic svg{width:17px;height:17px}
.car-steps .cs p{margin:0;font-size:15px;color:#0c0e12;line-height:1.4}
.cs-d{font-size:13px;color:#56608a;white-space:nowrap}
/* Hinweis-Box */
.info-box{display:flex;gap:12px;align-items:flex-start;background:#eaf1ff;border-left:4px solid #0b62d6;padding:14px 16px;margin:6px 0 4px;border-radius:2px}
.info-box::before{content:"i";flex:none;width:22px;height:22px;border-radius:50%;background:#0b62d6;color:#fff;font:700 13px/22px var(--font-display);text-align:center}
.info-box p{margin:0;font-size:14.5px;color:#0b2a6b;line-height:1.5}
.fest-more{flex:none;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font:600 12.5px/1 var(--font-body);padding:6px 11px;border-radius:14px;cursor:pointer;margin-left:4px}
.fest-more:hover,.fest-more.on{background:#fff;color:#071078}
.fest-info{background:rgba(3,6,40,.35);border-top:1px solid rgba(255,255,255,.12)}
.fest-info .wrap{padding-block:12px}
.fest-info p{margin:0;max-width:80ch;font-size:14px;line-height:1.55;color:#e6ecff}
@media (max-width:600px){.fest-bar .wrap{gap:10px;padding-block:9px;min-height:0;align-items:flex-start}.fest-ic{display:none}.fest-bar p{font-size:13.5px;line-height:1.4;gap:7px 8px}.fest-more{margin-left:0;font-size:12px;padding:5px 10px}.fest-x{width:28px;height:28px;font-size:16px}.fest-info .wrap{padding-block:10px 12px}.fest-info p{font-size:13px;line-height:1.5}}
/* Branchen: weißer Hintergrund statt Grau-Blau */
#branchen{background:#fff}
#branchen .ind{background:#f6f8fc;border-color:rgba(7,16,120,.08)}
#branchen .ind:hover{background:#fff}

/* Anfahrt v3: links Formular + Weg, rechts Karte */
.anf-left{display:grid;gap:18px;align-content:start}
.anf-left .journey{min-height:0}
.map-card{min-height:560px;position:sticky;top:130px}
.rmap{position:absolute;inset:0}
.map-card.loaded{background:#e9eef7}
.m3d{position:relative;width:110px;height:130px;display:grid;justify-items:center;pointer-events:none}
.m3d-logo{width:110px;height:110px;display:block;filter:drop-shadow(0 10px 14px rgba(7,16,120,.35))}
.m3d-logo svg{width:70%;height:auto;margin:15%}
.m3d-logo canvas{width:110px!important;height:110px!important;display:block}
.m3d-ring{position:absolute;bottom:14px;left:50%;width:44px;height:16px;margin-left:-22px;border-radius:50%;background:rgba(11,98,214,.35);animation:m3dp 2s ease-out infinite}
@keyframes m3dp{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.m3d-lbl{position:absolute;bottom:-14px;background:#071078;color:#fff;font:600 12px/1 var(--font-display);padding:6px 9px;border-radius:3px;white-space:nowrap;box-shadow:0 6px 16px rgba(7,16,120,.3)}
.maplibregl-ctrl-attrib{font-size:11px}
@media (max-width:900px){.map-card{position:relative;top:auto;min-height:420px}}
.about-img{margin:0;align-self:stretch;overflow:hidden;min-height:320px}
.about-img img{width:100%;height:100%;object-fit:cover;display:block}
/* Größeres Logo in der Leiste */
.header .brand .lk-mark{height:48px}.header .brand .lk-word{height:30px}.header .brand{gap:16px}
@media (max-width:960px){.header .brand .lk-mark{height:38px}.header .brand .lk-word{height:24px}.header .brand{gap:12px}}
/* Aufruf-Band: größer, mit Telefon */
.cta2{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:32px 56px;align-items:center;padding-block:clamp(56px,7vw,96px)}
.cta2-copy{display:grid;gap:14px}
.cta2-copy h2{font-size:clamp(30px,3.8vw,48px);line-height:1.12}
.cta2-copy p{color:#d6e0ff;font-size:17px;max-width:52ch;margin:0}
.cta2-act{display:grid;gap:18px;justify-items:start}
.cta-band .cta2-btn{font-size:17px;padding:20px 34px;display:inline-flex;gap:12px;align-items:center;background:#fff;color:#071078;border-color:#fff;clip-path:none;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.cta-band .cta2-btn svg{width:16px;height:16px}
.cta-band .cta2-btn:hover{background:#09cbf5;border-color:#09cbf5;color:#0c0e12}
.cta2-tel{display:grid;text-decoration:none;color:#fff}
.cta2-tel span{font-size:13px;color:#b9c6f0}
.cta2-tel strong{font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:.01em}
@media (max-width:800px){.cta2{grid-template-columns:1fr}.cta-band .cta2-btn{width:100%;justify-content:center}}

/* Ablauf-Schritte: Zeitstrahl mit Symbolen */
.steps-wrap{margin-top:clamp(56px,7vw,96px)}
.steps-h{font-size:clamp(26px,3vw,38px);font-weight:400;margin-bottom:32px;color:#0c0e12}
.steps{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:0;position:relative}
.steps::before{content:"";position:absolute;left:36px;right:36px;top:36px;height:2px;background:linear-gradient(90deg,#2436e0,#09cbf5);opacity:.35}
.step{border:0;padding:0;display:grid;gap:10px;align-content:start;position:relative}
.step::before{display:none}
.st-top{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.st-ic{position:relative;z-index:1;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#071078,#0b62d6);color:#fff;box-shadow:0 12px 28px rgba(11,98,214,.28);outline:6px solid #fff}
.st-ic svg{width:32px;height:32px}
.step .n{font-family:var(--font-display);font-size:34px;font-weight:500;color:#c5d3f5;letter-spacing:0;line-height:1}
.step h3{font-size:19px;font-weight:500;margin:0;color:#0c0e12}
.step p{margin:0;font-size:15px;color:#2c3558;line-height:1.55}
.step:hover .st-ic{transform:translateY(-3px);transition:transform .25s}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:0}
  .steps::before{left:35px;right:auto;top:36px;bottom:36px;width:2px;height:auto;background:linear-gradient(180deg,#2436e0,#09cbf5)}
  .step{grid-template-columns:72px 1fr;column-gap:18px;row-gap:4px;padding-bottom:26px}
  .st-top{grid-row:span 3;flex-direction:column;align-items:center;gap:6px;margin:0}
  .step .n{font-size:14px;color:#8e98bd}
  .step h3{margin-top:10px}
}
.st-top{position:relative;width:72px}
.step .n{position:absolute;z-index:2;top:-4px;left:52px;width:28px;height:28px;border-radius:50%;background:#09cbf5;color:#0c0e12;font:600 12px/28px var(--font-display);text-align:center;box-shadow:0 0 0 3px #fff}
@media (max-width:860px){.step .n{font-size:12px;color:#0c0e12;top:-4px;left:52px}.st-top{flex-direction:row}}
/* Schritte leuchten nacheinander auf */
.js-rv .steps-wrap .st-ic{background:#e3e9f6;color:#8e98bd;box-shadow:none;transition:background .5s,color .5s,box-shadow .5s,transform .5s}
.js-rv .steps-wrap .step .n{background:#c9d3ea;transition:background .5s}
.js-rv .steps-wrap .step h3,.js-rv .steps-wrap .step p{opacity:.35;transition:opacity .5s}
.steps::after{content:"";position:absolute;left:36px;right:36px;top:36px;height:2px;background:linear-gradient(90deg,#2436e0,#09cbf5);transform:scaleX(0);transform-origin:left;transition:transform 2.4s linear}
.js-rv .steps-wrap.in .steps::after{transform:scaleX(1)}
.js-rv .steps-wrap.in .st-ic{background:linear-gradient(145deg,#071078,#0b62d6);color:#fff;box-shadow:0 12px 28px rgba(11,98,214,.28)}
.js-rv .steps-wrap.in .step .n{background:#09cbf5}
.js-rv .steps-wrap.in .step h3,.js-rv .steps-wrap.in .step p{opacity:1}
.js-rv .steps-wrap.in .step:nth-child(1) *{transition-delay:.1s}
.js-rv .steps-wrap.in .step:nth-child(2) *{transition-delay:.8s}
.js-rv .steps-wrap.in .step:nth-child(3) *{transition-delay:1.5s}
.js-rv .steps-wrap.in .step:nth-child(4) *{transition-delay:2.2s}
.js-rv .steps-wrap.in .step:nth-child(n) .st-ic{transform:scale(1.06)}
@media (max-width:860px){.steps::after{left:35px;right:auto;top:36px;bottom:36px;width:2px;height:auto;background:linear-gradient(180deg,#2436e0,#09cbf5);transform:scaleY(0);transform-origin:top}.js-rv .steps-wrap.in .steps::after{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.steps::after{transform:none}}
.js-rv .steps-wrap .st-ic{background-image:none;background-color:#e3e9f6;transition:background-color .6s,color .6s,box-shadow .6s,transform .6s}
.js-rv .steps-wrap.in .st-ic{background-image:none;background-color:#0b3fb0}
/* Schritte: schneller nacheinander */
.js-rv .steps-wrap .st-ic,.js-rv .steps-wrap .step .n,.js-rv .steps-wrap .step h3,.js-rv .steps-wrap .step p{transition-duration:.45s}
.js-rv .steps-wrap.in .step:nth-child(1) *{transition-delay:0s}
.js-rv .steps-wrap.in .step:nth-child(2) *{transition-delay:.35s}
.js-rv .steps-wrap.in .step:nth-child(3) *{transition-delay:.7s}
.js-rv .steps-wrap.in .step:nth-child(4) *{transition-delay:1.05s}
.steps::after{transition-duration:1.3s}
/* Karte: MapLibre setzt position:relative – überschreiben */
.map-card .rmap.maplibregl-map,.map-card .rmap{position:absolute!important;inset:0;width:100%;height:100%}
/* Schritte: Symbol sofort weiß, wenn der Kreis blau wird */
.js-rv .steps-wrap.in .st-ic{color:#fff;transition-property:background-color,box-shadow,transform}
/* Live-Abfahrten */
.deps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dep{border:1px solid rgba(7,16,120,.1);background:#fff}
.dep-head{width:100%;display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.dep.open .dep-head{background:#f3f6fd}
.dep-in{display:grid;justify-items:center;line-height:1;color:#071078}
.dep-in b{font-family:var(--font-display);font-size:26px;font-weight:600}
.dep-in small{font-size:11px;color:#56608a;margin-top:3px}
.dep-main{display:grid;gap:5px}
.dep-lines{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.chev{font-style:normal;color:#8e98bd}
.dep-meta{font-size:13px;color:#2c3558}
.dep-meta em{font-style:normal;font-weight:600;margin-left:4px}
.dep-dur{text-align:right;font-family:var(--font-display);font-weight:500;color:#0c0e12;display:grid}
.dep-dur small{font-family:var(--font-body);font-weight:400;font-size:12px;color:#56608a}
.dep .legs{display:none;padding:4px 16px 8px}
.dep.open .legs{display:block}
.spin.dark{border-color:rgba(7,16,120,.2);border-top-color:#0b62d6;display:inline-block;vertical-align:-3px}
.map-card{align-self:start;height:min(620px,78vh);min-height:420px}
@media (max-width:900px){.map-card{height:420px}}

/* Anfahrt v4: links Suche + Ergebnis (scrollbar), rechts breite Karte; Handy: Suche → Karte → Ergebnis */
.anf-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"panel map" "jr map";gap:16px 20px;align-items:start}
.anf-grid .anf-panel{grid-area:panel}
.anf-grid .journey{grid-area:jr;min-height:0;max-height:520px;overflow-y:auto;padding:18px 18px 12px}
.anf-grid .map-card{grid-area:map;position:sticky;top:130px;height:min(680px,80vh);min-height:460px;align-self:start}
.anf-grid .journey .car-steps{max-height:none;overflow:visible}
.jr-head{position:sticky;top:-18px;background:inherit;z-index:1;padding-top:4px}
@media (max-width:900px){
  .anf-grid{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"panel" "map" "jr";gap:12px}
  .anf-grid .map-card{position:relative;top:auto;height:320px;min-height:0}
  .anf-grid .journey{max-height:none;overflow:visible;padding:16px 14px}
  .jr-head{position:static}
  .jr-head strong{font-size:22px}
}
.nav-btn{display:none}
@media (max-width:900px){.nav-btn{display:flex;justify-content:center;margin:10px 0 6px;clip-path:none}}
.map-card{scroll-margin-top:110px}
@media (max-width:900px){.anf-grid .map-card{height:360px}.map-consent{padding:18px 16px;gap:8px}.map-consent .map-pin{width:44px;height:44px}.map-consent .map-pin svg{width:44px}.map-consent small{font-size:11.5px}}
@media (max-width:900px){.map-consent{min-height:0}}
/* Footer schlank */
footer .wrap.foot2{display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:center}
.foot2-brand{display:grid;gap:10px}
.foot2-claim{color:var(--steel);font-size:14px;margin:0}
.foot2-links{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px}
.foot2-links a{color:var(--text-2);text-decoration:none}
.foot2-links a:hover{color:var(--cyan)}
footer .legal-row{grid-column:1/-1}
@media (max-width:760px){footer .wrap.foot2{grid-template-columns:1fr}.foot2-links{gap:10px 20px}}
/* Autoroute ohne Abbiege-Symbole */
.car-steps .cs{grid-template-columns:1fr auto;padding:11px 4px}

/* Branchen-Popup kompakt */
.idl-body{gap:10px;padding:clamp(22px,3.5vw,36px) clamp(20px,3.5vw,36px) 0}
.idl-body h2{font-size:clamp(26px,3.4vw,36px);padding-right:44px}
.idl-lead{font-size:15.5px;margin-bottom:6px}
.idl-body h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#56608a;font-weight:600;margin:8px 0 2px}
.idl-chips{display:flex;flex-wrap:wrap;gap:6px}
.idl-chips span{background:#eaf1ff;color:#0b3fb0;font-size:13.5px;padding:6px 10px;border-radius:3px}
.idl-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:14px;color:#2c3558}
.idl-checks li::before{content:"✓";color:#00a870;font-weight:700;margin-right:7px}
.idl-ex{margin-top:6px;border:1px solid rgba(7,16,120,.1);background:#f6f8fc}
.idl-ex summary{cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600;color:#0b62d6;list-style:none}
.idl-ex summary::-webkit-details-marker{display:none}
.idl-ex summary::after{content:" +";}
.idl-ex[open] summary::after{content:" −"}
.idl-ex p{margin:0;padding:0 14px 12px;font-size:14px;color:#2c3558;line-height:1.55}
.idl-foot{position:sticky;bottom:0;background:#fff;padding:14px 0 clamp(20px,3vw,30px);margin-top:4px}
.idl-foot .btn{width:100%;justify-content:center;display:flex;clip-path:none}
@media (max-width:620px){
  .ind-dlg{width:100%;max-width:100%;margin:auto 0 0;max-height:86vh;border-radius:14px 14px 0 0}
  .idl-checks{grid-template-columns:1fr}
}
/* Branchen am Handy erkennbar klickbar */
@media (max-width:600px){
  #branchen .ind{padding-right:8px}
  #branchen .ind .ind-more{display:grid;width:20px;height:20px;font-size:14px;margin-left:auto;flex:none}
}
@media (max-width:620px){.idl-body h2{font-size:24px}.idl-lead{font-size:14.5px}.idl-chips span{font-size:12.5px;padding:5px 8px}.idl-checks{font-size:13.5px}.idl-body h3{font-size:11.5px}}

/* Obere Leiste: wechselnde Aussagen */
.tb-claim{position:relative;display:block;flex:1;min-width:0;height:18px;overflow:hidden}
.tbc{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tbc.on{opacity:1;transform:none}
@media (max-width:1100px){.tb-claim{display:block}.topbar .wrap{justify-content:space-between}}
@media (max-width:960px){
  .topbar .wrap{gap:12px}
  .tb-right{gap:10px;flex:none}
  .tb-right > a:first-child span{display:none}
  .tb-right > a:first-child{width:28px;height:28px;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:50%}
  .topbar .lang{margin-left:0}
  .tbc{font-size:12px}
}
/* Logo im Aufruf-Band vollständig zeigen */
.cta-band .watermark{width:auto;height:78%;top:11%;bottom:auto;right:4%;opacity:.12}
@media (max-width:800px){.cta-band .watermark{height:46%;top:auto;bottom:6%;right:5%;opacity:.08}}
.cta-band .watermark{height:70%;top:15%;right:2.5%}
@media (max-width:1560px){.cta-band .watermark{display:none}}
/* Wasserzeichen bewusst groß und angeschnitten */
.cta-band .watermark{display:block;height:150%;width:auto;top:auto;bottom:-42%;right:-1.5%;opacity:.09}
@media (max-width:1560px){.cta-band .watermark{display:block;right:-6%}}
@media (max-width:800px){.cta-band .watermark{height:90%;bottom:-30%;right:-12%;opacity:.07}}
.cta-band .watermark{top:14%;bottom:auto;height:140%;right:-1%}
@media (max-width:1560px){.cta-band .watermark{right:-7%}}
@media (max-width:800px){.cta-band .watermark{top:auto;bottom:-30%;height:90%;right:-12%}}
/* Menü-Symbol: drei gleich lange Striche, sauberer Übergang zum X */
@media (max-width:960px){
  .menu-btn{display:grid;place-items:center;gap:0;justify-items:center;position:relative;width:44px;height:44px;-webkit-tap-highlight-color:transparent}
  .menu-btn span{position:absolute;left:11px;width:22px;height:2px;border-radius:2px;background:#071078;transform-origin:50% 50%;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .18s ease,top .32s cubic-bezier(.4,0,.2,1)}
  .menu-btn span:nth-child(1){top:15px}
  .menu-btn span:nth-child(2){top:21px;width:22px}
  .menu-btn span:nth-child(3){top:27px}
  .menu-btn[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.2)}
  .menu-btn[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
  .menu-btn:focus{outline:none}
  .menu-btn:focus-visible{outline:2px solid #0b62d6;outline-offset:2px}
}
/* Hero: ADYGE-Schriftzug + wechselnde Hauptaussage */
.hero-brand{display:flex;align-items:center;gap:16px;margin-bottom:26px;color:#fff}
.hero-brand .lk-mark{height:clamp(46px,5vw,68px);width:auto}
.hero-brand .lk-word{height:clamp(28px,3vw,42px);width:auto}
.hero-rot{display:grid}
.hero-rot .hr-i{grid-area:1/1;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.hero-rot .hr-i.on{opacity:1;transform:none;pointer-events:auto}
.hero-rot .hr-i.out{opacity:0;transform:translateY(-14px)}
@media (max-width:800px){.hero-brand{margin-bottom:18px;gap:12px}.hero-brand .lk-mark{height:40px}.hero-brand .lk-word{height:24px}}
@media (prefers-reduced-motion:reduce){.hero-rot .hr-i{transition:none}}
.hero h1.hero-rot{max-width:17ch}
.ind strong{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* Karriere: "Dein Beruf ist nicht dabei?" deutlich zeigen */
.any-job{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 28px;padding:30px 34px;background:linear-gradient(135deg,#071078 0%,#0b3fb0 60%,#0b62d6 100%);color:#fff;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.any-job h3{font-size:clamp(24px,2.6vw,32px);font-weight:400;margin:0 0 8px;color:#fff}
.any-job h3 em{font-style:normal;font-weight:600;color:#7fe3fb}
.any-job p{margin:0 0 14px;color:#dbe4ff}
.aj-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.aj-tags li{font-size:14px;padding:6px 12px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff}
.any-job .aj-btn{flex:none;background:#fff;border-color:#fff;color:#071078;white-space:nowrap}
.any-job .aj-btn:hover{background:#09cbf5;border-color:#09cbf5;color:#0c0e12}
@media (max-width:800px){.any-job{flex-direction:column;align-items:flex-start;padding:24px 20px;gap:18px}.any-job .aj-btn{width:100%;justify-content:center}}
.other-job{margin:12px 0 4px}
/* Vertrauenszeile im Hero anklickbar */
a.trust-i{text-decoration:none;color:inherit;transition:opacity .2s,transform .2s}
a.trust-i:hover{transform:translateY(-2px)}
a.trust-i:hover strong{color:#09cbf5}
a.trust-i strong{transition:color .2s}
/* ===== Navigation neu: nummeriert, eckige ADYGE-Flächen, Leistungen als Mega-Menü ===== */
@media (min-width:961px){
  .mainbar .wrap{position:static}
  .header .nav{position:static;gap:2px;align-self:stretch}
  .header .nav > a.nv::after,.header .nv::after{display:none!important}
  .nv-wrap{display:flex;align-items:stretch}
  .header .nv{position:relative;display:flex;align-items:center;gap:7px;padding:0 18px;font-family:var(--font-display);font-weight:500;font-size:15.5px;color:#1a2250;text-decoration:none;isolation:isolate;transition:color .2s}
  .header .nv i{font-style:normal;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:#0b62d6;transform:translateY(-7px);transition:color .2s}
  .header .nv::before{content:"";position:absolute;inset:18px 4px;z-index:-1;background:#eaf1ff;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));opacity:0;transform:scale(.92);transition:opacity .22s,transform .22s,background .22s}
  .header .nv:hover::before,.nv-wrap.has-mega:hover > .nv::before,.nv-wrap.has-mega:focus-within > .nv::before{opacity:1;transform:none}
  .header .nv:hover,.nv-wrap.has-mega:hover > .nv{color:#071078}
  .header .nv[aria-current="page"]{color:#fff}
  .header .nv[aria-current="page"]::before{opacity:1;transform:none;background:#071078}
  .header .nv[aria-current="page"] i{color:#09cbf5}
  .nv-wrap.has-mega > .nv span::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .25s}
  .nv-wrap.has-mega:hover > .nv span::after{transform:translateY(0) rotate(225deg)}
  /* Mega-Menü */
  .mega{position:absolute;left:0;right:0;top:100%;background:#0c0e12;color:#fff;border-top:3px solid transparent;border-image:linear-gradient(90deg,#2436e0,#09cbf5) 1;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s,transform .25s,visibility .22s;box-shadow:0 30px 60px rgba(12,14,18,.35);z-index:70}
  .nv-wrap.has-mega:hover .mega,.nv-wrap.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:.08s}
  .mega-in{display:grid;grid-template-columns:250px 1fr 300px;gap:36px;padding-top:34px;padding-bottom:36px;height:auto!important}
  .mg-k{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#09cbf5;margin-bottom:12px}
  .mg-lead strong{display:block;font-family:var(--font-display);font-weight:500;font-size:30px;line-height:1.1;margin-bottom:12px}
  .mg-lead strong em{font-style:normal;font-weight:600;color:#09cbf5}
  .mg-lead p{color:#b9c4e6;font-size:14.5px;margin:0 0 20px}
  .mg-all{display:inline-flex;gap:8px;align-items:center;color:#fff;text-decoration:none;font-family:var(--font-display);font-weight:500;font-size:14.5px;border-bottom:1px solid #09cbf5;padding-bottom:3px}
  .mg-all svg{width:14px;height:14px}
  .mg-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;align-content:start}
  .mg-i{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;color:#fff;text-decoration:none;position:relative;isolation:isolate}
  .mg-i::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(9,203,245,.09);border-left:2px solid #09cbf5;opacity:0;transition:opacity .2s}
  .mg-i:hover::before,.mg-i:focus-visible::before{opacity:1}
  .mg-i svg{width:30px;height:30px;flex:none;color:#09cbf5;margin-top:2px}
  .mg-i strong{display:block;font-family:var(--font-display);font-weight:500;font-size:15.5px;margin-bottom:3px}
  .mg-i small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#9fb0dc;font-size:13px;line-height:1.4}
  .mg-img{position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));min-height:250px}
  .mg-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
  .mg-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,14,18,.6))}
  /* beim Scrollen kompakter */
  .header .mainbar .wrap{transition:height .3s}
  .header.scrolled .mainbar .wrap{height:64px}
  .header.scrolled{box-shadow:0 10px 30px rgba(7,16,120,.12)}
}
@media (max-width:1200px) and (min-width:961px){.mega-in{grid-template-columns:220px 1fr}.mg-img{display:none}}
@media (max-width:960px){
  .mega{display:none}
  .nv-wrap{display:contents}
  .header .nav .nv{display:flex;align-items:center;gap:14px;padding:18px 4px;font-size:22px;font-weight:400;border-bottom:1px solid rgba(7,16,120,.08);color:#1a2250;text-decoration:none;font-family:var(--font-display)}
  .header .nav .nv i{font-style:normal;font-family:var(--font-mono);font-size:12px;color:#0b62d6;letter-spacing:.06em;min-width:22px}
  .header .nav .nv span{flex:1}
  .header .nav .nv::after{content:none;color:#0b62d6;font-size:18px}
  .header .nav .nv[aria-current="page"]{color:#0b62d6}
}
@media (min-width:961px){
  .mainbar .mega .mega-in,.header.scrolled .mainbar .mega .mega-in{display:grid;height:auto;align-items:stretch}
  .header .nav .nv[aria-current="page"]{color:#fff!important}
}
@media (min-width:961px){.mega .mg-i strong{color:#fff}.mega .mg-i:hover strong{color:#7fe3fb}}
/* ===== Kopfleiste dunkel mit Logo-Farbverlauf-Linie ===== */
.header{background:#0c0e12!important;border-bottom:0!important;box-shadow:none!important}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,#2436e0,#09cbf5);pointer-events:none}
.topbar{background:#08090c!important;border-bottom:1px solid rgba(255,255,255,.06)}
.header .mainbar{background:#0c0e12}
.header .brand{color:#fff!important}
.header .brand .lk-word{transition:opacity .35s,max-width .45s,margin .45s;max-width:260px}
.header.scrolled{box-shadow:0 12px 34px rgba(0,0,0,.45)!important}
@media (min-width:961px){
  .header .nv{color:#dfe6ff;font-size:17px;padding:0 19px}
  .header .nv i{color:#09cbf5;font-size:11px}
  .header .nv::before{background:rgba(9,203,245,.13)}
  .header .nv:hover,.nv-wrap.has-mega:hover > .nv{color:#fff}
  .header .nv[aria-current="page"]::before{background:#0b3fb0}
  .header .hdr-cta{background:#09cbf5!important;border-color:#09cbf5!important;color:#0c0e12!important;font-size:15px}
  .header .hdr-cta:hover{background:#fff!important;border-color:#fff!important}
  .mega{box-shadow:0 30px 60px rgba(0,0,0,.5)}
}
/* Startseite: oben nur das Zeichen (großes Logo steht im Titelbild), Schriftzug kommt beim Scrollen */
.header.is-home:not(.scrolled) .brand .lk-word{opacity:0;max-width:0;margin-left:-16px}
/* Handy: dunkles Menü */
@media (max-width:960px){
  .menu-btn span{background:#fff!important}
  .header .nav{background:#0c0e12!important;border-top:1px solid rgba(9,203,245,.25)!important}
  .header .nav .nv{color:#e9eefc!important;border-bottom-color:rgba(255,255,255,.08)!important}
  .header .nav .nv i,.header .nav .nv::after{color:#09cbf5!important}
  .header .nav .nv[aria-current="page"]{color:#09cbf5!important}
  .nav-extra .btn{background:#09cbf5!important;border-color:#09cbf5!important;color:#0c0e12!important}
  .header .nav .nav-extra a:not(.btn){color:#b9c4e6!important}
}
@media (min-width:961px){.header .nav > a.nv,.header .nav .nv-wrap > a.nv{color:#dfe6ff}.header .nav > a.nv:hover,.header .nav .nv-wrap:hover > a.nv{color:#fff}.header .nav > a.nv[aria-current="page"]{color:#fff!important}}
/* ===== Kopfleiste: größere Schrift, aktive Seite betont, lebendige Linie ===== */
@media (min-width:961px){
  .header .nav > a.nv,.header .nav .nv-wrap > a.nv{font-size:18px;padding:0 20px}
  .header .nav > a.nv[aria-current="page"],.header .nav .nv-wrap > a.nv[aria-current="page"]{font-size:19.5px;font-weight:600;letter-spacing:.005em}
  .header .nav a.nv[aria-current="page"]::before{inset:14px 2px;box-shadow:0 0 0 1px rgba(9,203,245,.55),0 8px 24px rgba(9,203,245,.25)}
  .header .nv i{font-size:11.5px}
}
.header::after{background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;animation:hdrflow 9s linear infinite}
.header::before{content:"";position:absolute;left:0;bottom:-3px;height:3px;width:220px;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);filter:blur(.5px);animation:hdrsweep 6s cubic-bezier(.45,0,.2,1) infinite}
@keyframes hdrflow{to{background-position:-200% 0}}
@keyframes hdrsweep{0%{transform:translateX(-240px);opacity:0}8%{opacity:1}55%{opacity:1}62%,100%{transform:translateX(calc(100vw + 20px));opacity:0}}
@media (prefers-reduced-motion:reduce){.header::after,.header::before{animation:none}.header::before{display:none}}
/* Hero-Logo "dockt" an der Leiste an */
.hero-brand{will-change:transform,opacity}
.hero-brand > *{transition:opacity .15s linear}
/* Andocken ohne Ruckeln: nur Transform/Opacity, per CSS-Variable */
.hero-brand{--dock:1;--dx:0px}
.hero-brand > *{transform:translate3d(var(--dx),0,0);opacity:var(--dock);transition:none!important;will-change:opacity}
.header .brand .lk-word{transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)!important;max-width:none!important;margin-left:0!important}
.header.is-home:not(.scrolled) .brand .lk-word{opacity:0;transform:translateX(-14px);max-width:none!important;margin-left:0!important}
/* Großes Logo im Titelbild */
.hero-brand{gap:clamp(16px,1.6vw,26px);margin-bottom:30px}
.hero-brand .lk-mark{height:clamp(70px,7vw,112px)}
.hero-brand .lk-word{height:clamp(42px,4.2vw,68px)}
@media (max-width:800px){.hero-brand .lk-mark{height:58px}.hero-brand .lk-word{height:35px}.hero-brand{margin-bottom:20px}}
/* Aktive Seite auf dunkler Leiste: helle Fläche, dunkle Schrift (wie früher der Kontrast) */
@media (min-width:961px){
  .header .nav a.nv[aria-current="page"]::before{background:#fff!important;box-shadow:0 0 0 1px rgba(9,203,245,.8),0 6px 26px rgba(9,203,245,.35)!important}
  .header .nav > a.nv[aria-current="page"],.header .nav .nv-wrap > a.nv[aria-current="page"]{color:#071078!important}
  .header .nav a.nv[aria-current="page"] i{color:#0b62d6!important}
}
/* Lichtstreifen ohne seitliches Überlaufen (verhindert horizontales Scrollen) */
.header::before{left:0;right:0;width:auto;transform:none!important;background:linear-gradient(90deg,transparent 0%,transparent 44%,rgba(255,255,255,.95) 50%,transparent 56%,transparent 100%);background-size:300% 100%;background-repeat:no-repeat;animation:hdrsweep2 6s cubic-bezier(.45,0,.2,1) infinite}
@keyframes hdrsweep2{0%{background-position:100% 0;opacity:0}8%{opacity:1}60%{opacity:1}70%,100%{background-position:0% 0;opacity:0}}
html,body{overflow-x:clip}
/* Weicher Übergang Titelbild -> Montage-Animation */
.hero.hero-photo{border-bottom:0}
.hero-photo::after{content:"";position:absolute;top:auto;left:0;right:0;bottom:0;height:260px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(12,14,18,0),#0c0e12 92%)}
.hero-photo .hero-foot{position:relative;z-index:3}
.asm{background:linear-gradient(180deg,#0c0e12 0,rgba(12,14,18,0) 60vh),radial-gradient(ellipse 80% 60% at 60% 45%,#1c2029 0%,#15181e 45%,#0c0e12 80%)!important}
/* ===== Kontakt kompakter: Karte schneller im Blick ===== */
.kon-top .page-hero .wrap{padding-block:clamp(40px,5vw,64px) clamp(70px,7vw,96px)}
.kon-top .page-hero h1{font-size:clamp(34px,4vw,56px)}
.kon-cards.section{padding-block:0 28px;background:transparent}
.kon-cards .ct-cards{margin-top:-56px;position:relative;z-index:3}
.kon-cards .ct-card{background:#fff;box-shadow:0 18px 40px rgba(7,16,120,.12)}
.kon-top + #anfahrt.section{padding-top:36px}
@media (max-width:800px){.kon-top .page-hero .wrap{padding-block:30px 60px}.kon-cards .ct-cards{margin-top:-42px}}
/* ===== Karten-Vorschau (ohne externe Daten) ===== */
.map-consent.mp{position:absolute;inset:0;display:block;padding:0;min-height:0;overflow:hidden;perspective:900px}
.mp-ground{position:absolute;left:50%;top:44%;width:1600px;height:1600px;margin:-800px 0 0 -800px;background:url(img/map-plan.svg?v=2610191706) center/100% 100%;transform:rotateX(58deg) rotateZ(-18deg) scale(.95);transform-origin:50% 50%;animation:mpdrift 40s linear infinite}
@keyframes mpdrift{to{transform:rotateX(58deg) rotateZ(342deg) scale(.95)}}
.map-consent.mp::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 50% 42%,transparent 30%,rgba(12,14,18,.85) 100%),linear-gradient(180deg,rgba(12,14,18,.75),transparent 25%)}
.mp-pin{position:absolute;left:50%;top:40%;z-index:2;width:0;height:0}
.mp-pin i{position:absolute;left:-60px;top:-18px;width:120px;height:36px;border:2px solid rgba(9,203,245,.7);border-radius:50%;animation:mpring 2.6s ease-out infinite;opacity:0}
.mp-pin i:nth-child(2){animation-delay:.85s}.mp-pin i:nth-child(3){animation-delay:1.7s}
@keyframes mpring{0%{transform:scale(.2);opacity:1}100%{transform:scale(1.6);opacity:0}}
.mp-head{position:absolute;left:-38px;top:-128px;width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 6px rgba(9,203,245,.25),0 0 40px rgba(9,203,245,.6);animation:pin 2.4s ease-in-out infinite}
.mp-head svg{width:44px;height:40px}
.mp-stem{position:absolute;left:-1px;top:-52px;width:2px;height:52px;background:linear-gradient(#fff,#09cbf5)}
.mp-card{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;width:min(440px,calc(100% - 32px));padding:22px 24px;background:rgba(18,20,26,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(9,203,245,.35);text-align:center;display:grid;gap:6px;justify-items:center;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.mp-k{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#09cbf5}
.mp-card strong{font-family:var(--font-display);font-size:26px;font-weight:500;color:#fff}
.mp-a{color:#c3cbe6;font-size:14.5px}
.mp-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0 4px}
.mp-tags span{font-size:12.5px;color:#dfe6ff;padding:4px 10px;border:1px solid rgba(127,227,251,.3);background:rgba(9,203,245,.08)}
.mp-tags span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#09cbf5;margin-right:7px;vertical-align:1px}
.mp-card .btn{margin-top:6px}
.mp-card small{color:#8e98bd;font-size:11.5px;max-width:40ch;line-height:1.45}
@media (prefers-reduced-motion:reduce){.mp-ground{animation:none}.mp-pin i{animation:none}}
@media (max-width:800px){.mp-card{padding:16px}.mp-card strong{font-size:21px}.mp-head{width:60px;height:60px;left:-30px;top:-104px}.mp-head svg{width:34px}}
.kon-cards.section{overflow:visible!important;position:relative;z-index:4}
.kon-cards .ct-card.primary{background:linear-gradient(150deg,#071078,#0b3fb0 60%,#0b62d6)!important;color:#fff}
.kon-cards .ct-card.primary *{color:#fff}
.mp-ground{filter:brightness(1.35) saturate(1.2)}
.page-hero.has-img > .wrap{width:100%;box-sizing:border-box}
.kon-top .page-hero.has-img{min-height:clamp(300px,40vh,420px)}
.kon-cards.section{background:#fff}

/* Karten-Vorschau: echter Straßenverlauf, ohne Drehen; Tags ohne doppelte Punkte */
.mp-ground{transform:rotateX(52deg) scale(.95)!important;animation:none!important;filter:brightness(1.4) saturate(1.2)}
.mp-tags span span{border:0!important;background:none!important;padding:0!important}
.mp-tags span span::before{display:none!important}
.mp-src{position:absolute;right:10px;top:8px;z-index:3;font-size:10.5px;color:#8e98bd}
/* Hero: Logo bündig mit Text */
.hero-brand{--dx:0px!important}
.hero-brand .lk-mark{margin-left:-2px}
/* Unterseiten: Titelbild kompakter wie Kontakt */
.page-hero.has-img{min-height:clamp(280px,38vh,400px)!important}
.page-hero .wrap{padding-block:clamp(40px,5vw,64px) clamp(40px,5vw,56px)}
/* Hero-Logo auf eigener Fläche */
.hero-brand{display:inline-flex!important;align-items:center;padding:18px 28px 18px 22px;background:rgba(12,14,18,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(9,203,245,.28);border-left:3px solid #09cbf5;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero-brand .lk-mark{margin-left:0}
@media (max-width:800px){.hero-brand{padding:12px 18px 12px 14px}}
/* Leistung: keine Unschärfe-Filter über dem bewegten Titelbild, kein scrollabhängiges Ausblenden */
.hero-brand{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(12,14,18,.82)!important}
.hero-brand > *{opacity:1!important;transform:none!important;will-change:auto!important}
.header .brand .lk-word{will-change:opacity,transform}
/* Logo-Variante C: frei stehend, Farbverlauf-Linie darunter, Foto links abgedunkelt */
.hero-brand{background:none!important;border:0!important;box-shadow:none!important;clip-path:none!important;padding:0 0 22px!important;position:relative}
.hero-brand::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#2436e0,#09cbf5 60%,rgba(9,203,245,0))}
.hero-photo .hero-shade{background:linear-gradient(90deg,rgba(12,14,18,.95) 0%,rgba(12,14,18,.8) 40%,rgba(12,14,18,.15) 75%),linear-gradient(0deg,rgba(12,14,18,.75) 0%,rgba(12,14,18,0) 40%)!important}
@media (max-width:800px){.hero-brand{padding-bottom:16px!important}}
/* Karte dunkel: Bedienelemente passend */
.map-card .maplibregl-ctrl-group{background:#1a1d24;border:1px solid rgba(9,203,245,.3)}
.map-card .maplibregl-ctrl-group button span{filter:invert(1) brightness(1.4)}
.map-card .maplibregl-ctrl-attrib{background:rgba(12,14,18,.75)!important;color:#9fb0dc}
.map-card .maplibregl-ctrl-attrib a{color:#7fe3fb}
.map-card .rmap{background:#0e1014}
/* ===== Intro neu: erst das Zeichen steigt auf, dann der Schriftzug ===== */
#intro{animation:introOut2 .6s cubic-bezier(.7,0,.2,1) 2.35s forwards!important}
#intro .stage{gap:26px}
#intro .mark{filter:drop-shadow(0 0 22px rgba(9,203,245,.45));will-change:transform,opacity}
#intro .mark path{animation:markRise .95s cubic-bezier(.16,.84,.3,1) .1s both!important;transform-origin:50% 100%;transform-box:fill-box}
#intro .word svg{animation:wordRise .7s cubic-bezier(.16,.84,.3,1) 1.05s both!important;will-change:transform,opacity}
#intro .bar i{animation:bar 2.1s cubic-bezier(.4,0,.2,1) .1s both!important}
@keyframes markRise{0%{opacity:0;transform:translateY(60%) scale(.85)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes wordRise{0%{opacity:0;transform:translateY(110%)}100%{opacity:1;transform:none}}
@keyframes introOut2{to{transform:translateY(-100%);visibility:hidden}}
/* Startseite: Inhalte erst nach dem Intro einblenden */
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(1){animation-delay:2.55s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(2){animation-delay:2.67s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(3){animation-delay:2.8s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(4){animation-delay:2.92s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(5){animation-delay:3.04s}
/* Menü-Symbol: nur Transform (kein Layout beim Umschalten), sicher auch auf iPhone */
@media (max-width:960px){
  .menu-btn{touch-action:manipulation;z-index:80}
  .menu-btn span{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s ease!important;will-change:transform}
  .menu-btn span:nth-child(1),.menu-btn[aria-expanded="true"] span:nth-child(1){top:15px!important}
  .menu-btn span:nth-child(2),.menu-btn[aria-expanded="true"] span:nth-child(2){top:21px!important}
  .menu-btn span:nth-child(3),.menu-btn[aria-expanded="true"] span:nth-child(3){top:27px!important}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translate3d(0,6px,0) rotate(45deg)!important}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.2)!important}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translate3d(0,-6px,0) rotate(-45deg)!important}
}
/* ===== Weniger Blau: große Flächen Anthrazit, Blau nur als Akzent ===== */
.cta-band{background:radial-gradient(70% 140% at 100% 50%,rgba(36,54,224,.35),transparent 60%),linear-gradient(100deg,#111318,#181b21 60%,#1d2129)!important}
.cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#2436e0,#09cbf5)}
.brand3d{background:radial-gradient(90% 90% at 75% 50%,#1c2130 0%,#0c0e12 70%)!important}
.about3d{background:radial-gradient(70% 70% at 50% 50%,#1c2130 0%,#0c0e12 75%)!important}
.map-card{background:radial-gradient(circle at 50% 45%,rgba(9,203,245,.16),transparent 40%),linear-gradient(160deg,#15181e,#0c0e12)!important}
.mp-card{background:rgba(18,20,26,.9)!important}
.asm{background:linear-gradient(180deg,#0c0e12 0,rgba(12,14,18,0) 60vh),radial-gradient(ellipse 80% 60% at 60% 45%,#1d212a 0%,#14171c 45%,#0c0e12 80%)!important}
.mega{background:#101216!important}
.topbar{background:#08090c!important}
.header,.header .mainbar{background:#0c0e12!important}
/* Scroll-Sperre bei offenem Menü */
html.menu-open,html.menu-open body{overflow:hidden!important;overscroll-behavior:none}
@media (max-width:960px){.header .nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}}
html.menu-open body{position:fixed;left:0;right:0;width:100%}
html.menu-open .header{position:fixed!important;top:0;left:0;right:0}
/* Menü offen: Logo-Zustand nicht animieren */
html.menu-open .header .brand .lk-word{transition:none!important}
/* Verbindungsliste: Kopf bleibt oben, Symbole laufen darunter durch */
.anf-grid .journey{position:relative;isolation:isolate}
.jr-head{z-index:10!important;background:#fff!important;flex-direction:column-reverse;align-items:flex-start!important;gap:2px!important;box-shadow:0 8px 12px -10px rgba(7,16,120,.25)}
.jr-head strong{font-size:24px!important;line-height:1.15}
.jr-head span{font-size:15px!important;color:var(--steel)}
/* "Sie planen ein Projekt?" wieder in ADYGE-Farben */
.cta-band{background:linear-gradient(100deg,#071078 0%,#1b2bd0 55%,#0b62d6 100%)!important}
.cta-band::before{background:linear-gradient(90deg,#09cbf5,rgba(9,203,245,0))!important}
/* Karten-Vorschau: Pin-Logo dreht sich */
.mp-head{perspective:300px}
.mp-head svg{animation:mpspin 5s linear infinite;transform-style:preserve-3d}
@keyframes mpspin{to{transform:rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.mp-head svg{animation:none}}
/* Intro hell: Zeichen dreht sich einmal von links nach rechts, Schriftzug in ADYGE-Blau kommt von unten */
#intro{background:radial-gradient(ellipse 70% 60% at 50% 45%,#ffffff 0%,#eef2f8 60%,#e3e8f1 100%)}
#intro .mark{animation:markWipe 1.05s cubic-bezier(.65,0,.25,1) .15s both;will-change:clip-path}
#intro .mark path{animation:none!important;transform:none}
#intro .stage{perspective:900px}
#intro .word svg{will-change:transform,opacity;animation-delay:1.15s!important}
#intro .bar{background:rgba(20,22,28,.08)}
@keyframes markSpin{0%{opacity:0;transform:rotateY(-360deg) scale(.8)}35%{opacity:1}100%{opacity:1;transform:rotateY(0) scale(1)}}

/* ===== Update 28.09.: mehr ADYGE-Blau, Karten mit Text unter dem Bild, Team-Teaser im Rahmen ===== */
/* Wo wir arbeiten: ADYGE-Blau */
#branchen{background:radial-gradient(ellipse 70% 90% at 85% 10%,#1b2bd0 0%,rgba(27,43,208,0) 60%),linear-gradient(160deg,#071078 0%,#0a1a8f 55%,#0b3fb0 100%);color:#fff;
  --text:#fff;--text-2:#d7def7;--steel:#c3cdf2;--line:rgba(255,255,255,.16);--line-strong:rgba(255,255,255,.5);--cyan:#09cbf5;position:relative;overflow:hidden}
#branchen .ind-wm,.about-claim .ind-wm{position:absolute;right:-7%;bottom:-28%;width:min(460px,55vw);height:auto;opacity:.05;pointer-events:none;z-index:0}
#branchen .wrap{position:relative;z-index:1}
#branchen .section-head h2{color:#fff}
#branchen .section-head p{color:#d7def7}
#branchen .ind{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
#branchen .ind svg{color:#09cbf5}
#branchen .ind:hover{background:rgba(255,255,255,.14);border-color:#09cbf5;box-shadow:0 14px 30px rgba(3,6,40,.35)}
#branchen .ind-more{border-color:rgba(255,255,255,.4);color:#fff}
#branchen button.ind:hover .ind-more{background:#09cbf5;border-color:#09cbf5;color:#071078}

/* Leistungskarten: Bild oben, Beschriftung darunter (gut lesbar) */
.pcards{gap:22px}
.pcard{aspect-ratio:auto;display:flex;flex-direction:column;background:#fff;color:#0c0e12;border:1px solid rgba(7,16,120,.1);box-shadow:0 10px 28px rgba(7,16,120,.07);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.pcard img{position:relative;inset:auto;height:auto;aspect-ratio:4/3;flex:none}
.pcard::after{display:none}
.pcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(7,16,120,.16);border-color:rgba(11,98,214,.35)}
.pcard:hover img{transform:scale(1.05)}
.pcard > img{clip-path:inset(0)}
.pc-body{position:relative;inset:auto;padding:18px 20px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;flex:1;border-top:3px solid #0b62d6;background:#fff}
.pc-body h3{font-size:19px;color:#0c0e12;line-height:1.2}
.pc-body p{grid-column:1/-1;grid-row:2;color:#56608a;font-size:14px;max-height:none;opacity:1}
.pc-go{grid-column:2;grid-row:1;margin:0;width:38px;height:38px;border-color:rgba(7,16,120,.2);color:#0b62d6}
.pcard:hover .pc-go{background:#0b62d6;border-color:#0b62d6;color:#fff}
.pcard-all{background:linear-gradient(160deg,#071078,#0b3fb0 60%,#0b62d6);border:0;color:#fff;justify-content:flex-end;min-height:260px}
.pcard-all .pc-body{background:transparent;border-top:0}
.pcard-all h3{color:#fff;font-size:26px}
.pcard-all .pc-go{border-color:rgba(255,255,255,.5);color:#fff}
@media (max-width:600px){.pcards{gap:12px}.pc-body{padding:12px 12px 14px}.pc-body h3{font-size:15px}.pc-body p{display:none}.pc-go{width:30px;height:30px}.pcard-all{min-height:0}.pcard-all h3{font-size:18px}}

/* Karriere-Teaser: Teamfoto im Rahmen statt randlos */
.career-teaser{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(64px,8vw,110px) max(24px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,#f3f6fb,#fff);min-height:0}
.ct-img{position:relative;aspect-ratio:3/2;min-height:0;border-radius:4px;box-shadow:0 30px 60px rgba(7,16,120,.18);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.ct-frame{position:relative}
.ct-frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:linear-gradient(135deg,#071078,#0b62d6);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}
.ct-badge{position:absolute;left:-14px;bottom:28px;background:#fff;color:#071078;font:600 14px/1.2 var(--font-display);padding:12px 16px;box-shadow:0 14px 30px rgba(7,16,120,.2);display:flex;gap:10px;align-items:center}
.ct-badge i{width:10px;height:10px;border-radius:50%;background:#09cbf5;box-shadow:0 0 0 4px rgba(9,203,245,.2)}
.ct-body{padding:0}
@media (max-width:860px){.career-teaser{grid-template-columns:1fr}.ct-frame{margin-right:18px}}

/* Wir ♥ Menschen (m/w/d) */
.people-note{margin-top:28px;display:flex;gap:16px;align-items:flex-start;background:#f3f6fb;border-left:3px solid #0b62d6;padding:18px 20px;max-width:760px}
.people-note b{font-family:var(--font-display);font-size:18px;color:#071078;white-space:nowrap}
.people-note b span{color:#e0245e}
.people-note p{margin:0;color:#2c3558;font-size:15px;line-height:1.55}
@keyframes markWipe{0%{clip-path:inset(0 100% 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:1}}
/* Lichtkante, die beim Wischen über das Zeichen läuft */
#intro .stage{position:relative}
#intro .stage::before{content:"";position:absolute;top:0;left:19%;width:62%;aspect-ratio:1288/1145;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%);background-size:260% 100%;background-position:130% 0;mix-blend-mode:screen;animation:markSheen 1.05s cubic-bezier(.65,0,.25,1) .15s both;pointer-events:none;z-index:1}
@keyframes markSheen{0%{background-position:130% 0;opacity:1}90%{opacity:1}100%{background-position:-30% 0;opacity:0}}
/* Zahlen & Fakten */
.kfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);margin-top:clamp(40px,5vw,64px);border:1px solid rgba(255,255,255,.14)}
.kfact{background:#0a1a8f;padding:26px 24px;display:grid;gap:6px}
.kfact b{font-family:var(--font-display);font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1;background:linear-gradient(90deg,#fff,#9fe9fb);-webkit-background-clip:text;background-clip:text;color:transparent}
.kfact > span{color:#c9d3f5;font-size:15px}
.kfacts-light{background:rgba(7,16,120,.1);border-color:rgba(7,16,120,.1);margin:0 0 clamp(36px,5vw,56px)}
.kfacts-light .kfact{background:#fff}
.kfacts-light .kfact b{background:linear-gradient(90deg,#071078,#0b62d6);-webkit-background-clip:text;background-clip:text}
.kfacts-light .kfact > span{color:#56608a}
@media (max-width:800px){.kfacts{grid-template-columns:1fr 1fr}.kfact{padding:18px 16px}}
/* Anspruch (Über uns) */
.about-claim{background:linear-gradient(160deg,#071078 0%,#0a1a8f 55%,#0b3fb0 100%);color:#fff;position:relative;overflow:hidden}
.claim{margin:0;max-width:900px;display:grid;gap:18px}
.claim-k{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#09cbf5}
.quals .claim-k{color:#0b62d6}
.claim blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.6vw,48px);line-height:1.15;letter-spacing:-.01em;color:#fff}
.claim blockquote em{font-style:normal;color:#9fe9fb}
.claim p{color:#d7def7;font-size:18px;max-width:60ch;margin:0}
/* Qualifikationen */
.quals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start;margin-bottom:clamp(56px,7vw,96px)}
.quals h2{font-size:clamp(28px,3.4vw,44px);margin:14px 0 16px}
.quals p{color:#56608a;font-size:17px}
.quals ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quals li{display:flex;gap:10px;align-items:center;background:#f3f6fb;border:1px solid rgba(7,16,120,.08);padding:14px 14px;font-size:15px;color:#0c0e12}
.quals li svg{color:#0b62d6;flex:none}
@media (max-width:860px){.quals{grid-template-columns:1fr}.quals ul{grid-template-columns:1fr}}
.quals li svg{width:18px;height:18px}
/* Fakten animiert */
.kfact b{display:flex;align-items:baseline;gap:2px;font-variant-numeric:tabular-nums;min-height:1em}
.kfact .kc{display:inline-block;min-width:1ch}
.kplus,.kstar{font-style:normal;display:inline-block;opacity:0;transform:translateY(40%) scale(.4);transition:opacity .4s,transform .5s cubic-bezier(.3,1.6,.5,1)}
.kfacts.go .kplus{opacity:1;transform:none;transition-delay:1.2s}
.kfacts.go .kstar{opacity:1;transform:none;transition-delay:.35s}
.kfacts.go .kstar + .kstar{transition-delay:.6s}
.kf-f4 b{align-items:center;gap:10px;background:none!important;color:inherit}
.kfl{display:inline-flex;align-items:center;gap:8px;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.kfl i{font-style:normal;background:linear-gradient(90deg,#fff,#9fe9fb);-webkit-background-clip:text;background-clip:text;color:transparent}
.kfacts-light .kfl i{background:linear-gradient(90deg,#071078,#0b62d6);-webkit-background-clip:text;background-clip:text}
.kpl{opacity:0;transition:opacity .4s .5s;color:#09cbf5;font-size:.7em}
.kfacts-light .kpl{color:#0b62d6}
.kflag{width:.9em;height:.6em;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 4px 10px rgba(0,0,0,.2);flex:none}
.kfacts.go .kfl{opacity:1;transform:none}
.kfacts.go .kfl + .kpl + .kfl{transition-delay:.7s}
.kfacts.go .kpl{opacity:1}
.kflag-eu circle{opacity:0;transition:opacity .2s}
.kfacts.go .kflag-eu circle{opacity:1}
.kfacts.go .kflag-eu circle:nth-of-type(1){transition-delay:0.90s}
.kfacts.go .kflag-eu circle:nth-of-type(2){transition-delay:0.96s}
.kfacts.go .kflag-eu circle:nth-of-type(3){transition-delay:1.02s}
.kfacts.go .kflag-eu circle:nth-of-type(4){transition-delay:1.08s}
.kfacts.go .kflag-eu circle:nth-of-type(5){transition-delay:1.14s}
.kfacts.go .kflag-eu circle:nth-of-type(6){transition-delay:1.20s}
.kfacts.go .kflag-eu circle:nth-of-type(7){transition-delay:1.26s}
.kfacts.go .kflag-eu circle:nth-of-type(8){transition-delay:1.32s}
.kfacts.go .kflag-eu circle:nth-of-type(9){transition-delay:1.38s}
.kfacts.go .kflag-eu circle:nth-of-type(10){transition-delay:1.44s}
.kfacts.go .kflag-eu circle:nth-of-type(11){transition-delay:1.50s}
.kfacts.go .kflag-eu circle:nth-of-type(12){transition-delay:1.56s}
.kfact b{background:none!important;color:#fff;-webkit-text-fill-color:currentColor}
.kfacts-light .kfact b{color:#071078}
.kfact b .kstar,.kfact b .kplus{color:#09cbf5}
.kfacts-light .kfact b .kstar,.kfacts-light .kfact b .kplus{color:#0b62d6}
.kfl i:not(.kg){-webkit-text-fill-color:currentColor;background:none!important;color:inherit}
.kflag{width:1em;height:.66em}
/* ADYGE-Verlauf mit Glanz auf den Zahlen */
.kfact .kg{font-style:normal;background:linear-gradient(100deg,#ffffff 0%,#9fe9fb 35%,#ffffff 50%,#9fe9fb 65%,#ffffff 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.kfacts-light .kfact .kg{background-image:linear-gradient(100deg,#071078 0%,#0b62d6 35%,#09cbf5 50%,#0b62d6 65%,#071078 100%)}
.kfacts.go .kg{animation:kShine 2.2s cubic-bezier(.4,0,.2,1) .3s both}
@keyframes kShine{from{background-position:100% 0}to{background-position:0 0}}
.about-claim .wrap{position:relative;z-index:1}
.kfacts.go .kg{animation-duration:3s;animation-delay:.6s}
.kfacts.go .kplus{transition-delay:2.6s}
.kfacts.go .kstar{transition-delay:.9s}.kfacts.go .kstar + .kstar{transition-delay:1.4s}
.kfacts.go .kfl{transition-duration:.8s,.9s;transition-delay:.4s}.kfacts.go .kfl + .kpl + .kfl{transition-delay:1.4s}.kfacts.go .kpl{transition-delay:1s}
.kfacts.go .kflag-eu circle:nth-of-type(1){transition-delay:1.90s}
.kfacts.go .kflag-eu circle:nth-of-type(2){transition-delay:2.00s}
.kfacts.go .kflag-eu circle:nth-of-type(3){transition-delay:2.10s}
.kfacts.go .kflag-eu circle:nth-of-type(4){transition-delay:2.20s}
.kfacts.go .kflag-eu circle:nth-of-type(5){transition-delay:2.30s}
.kfacts.go .kflag-eu circle:nth-of-type(6){transition-delay:2.40s}
.kfacts.go .kflag-eu circle:nth-of-type(7){transition-delay:2.50s}
.kfacts.go .kflag-eu circle:nth-of-type(8){transition-delay:2.60s}
.kfacts.go .kflag-eu circle:nth-of-type(9){transition-delay:2.70s}
.kfacts.go .kflag-eu circle:nth-of-type(10){transition-delay:2.80s}
.kfacts.go .kflag-eu circle:nth-of-type(11){transition-delay:2.90s}
.kfacts.go .kflag-eu circle:nth-of-type(12){transition-delay:3.00s}
/* Karriere-Teaser: Bild bewegt sich langsam (Ken-Burns), leichtes Mitscrollen */
.ct-img{overflow:hidden;background-image:none!important}
.ct-img::after{content:"";position:absolute;inset:-6%;background:var(--ct-bg) center/cover no-repeat;animation:ctKen 16s ease-in-out infinite alternate;transform:translate3d(0,var(--ct-par,0px),0);will-change:transform}
@keyframes ctKen{0%{transform:scale(1.04) translate3d(-1.5%,var(--ct-par,0px),0)}100%{transform:scale(1.14) translate3d(1.5%,calc(var(--ct-par,0px) - 1%),0)}}
@media (prefers-reduced-motion:reduce){.ct-img::after{animation:none}}
/* Wasserzeichen vollständig sichtbar */
#branchen .ind-wm,.about-claim .ind-wm{width:auto;height:78%;top:11%;bottom:auto;right:3%;opacity:.09}
@media (max-width:800px){#branchen .ind-wm,.about-claim .ind-wm{height:38%;top:auto;bottom:4%;right:4%;opacity:.08}}
.cta-band .watermark{display:block!important;width:auto;height:80%;top:10%;bottom:auto;right:24%;opacity:.1}
@media (max-width:1100px){.cta-band .watermark{right:3%;height:70%;top:15%}}
@media (max-width:800px){.cta-band .watermark{height:42%;top:6%;right:5%;opacity:.08}}
/* Glanz auf "Projekt anfragen" */
.shine-txt{background:linear-gradient(100deg,#071078 0%,#0b62d6 35%,#09cbf5 50%,#0b62d6 65%,#071078 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:btnShine 4.5s ease-in-out infinite;font-weight:600}
.cta-band .cta2-btn:hover .shine-txt{background-image:linear-gradient(100deg,#071078,#0c0e12 50%,#071078)}
@keyframes btnShine{0%,55%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.shine-txt{animation:none;background-position:50% 0}}
@media (max-width:800px){
  #branchen .ind-wm,.about-claim .ind-wm{height:42%;top:3%;bottom:auto;right:-4%;opacity:.1}
  .kfacts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .kfact{min-width:0}
  .kf-f4 b{font-size:22px;gap:5px;flex-wrap:wrap}
  .kf-f4 .kfl{gap:5px}
}
/* Wasserzeichen: groß, von oben bis unten, rechts angeschnitten */
#branchen .ind-wm,.about-claim .ind-wm,.cta-band .watermark{display:block!important;width:auto;height:135%;top:-18%;bottom:auto;right:-9%;opacity:.09}
@media (max-width:800px){#branchen .ind-wm,.about-claim .ind-wm,.cta-band .watermark{height:115%;top:-8%;right:-38%;opacity:.08}}
#branchen .ind-wm,.about-claim .ind-wm,.cta-band .watermark{-webkit-mask-image:linear-gradient(105deg,transparent 8%,#000 55%);mask-image:linear-gradient(105deg,transparent 8%,#000 55%);opacity:.11}
/* wie bei "Sie planen ein Projekt": Zeichen weiter nach rechts, nur ein Teil sichtbar */
@media (min-width:801px){#branchen .ind-wm,.about-claim .ind-wm{right:-24%;height:125%;top:-12%}}
/* Header-Button wie unten: weiß mit glänzender Schrift */
.header .hdr-cta{background:#fff!important;border-color:#fff!important;color:#071078!important;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.header .hdr-cta svg{color:#071078}
.header .hdr-cta:hover{background:#e6f9ff!important;border-color:#e6f9ff!important}
/* SCC-Sterne glitzern */
.kstar,.star-glint{position:relative}
.kfacts.go .kstar{animation:starGlint 3.2s ease-in-out 2s infinite}
.kfacts.go .kstar + .kstar{animation-delay:2.4s}
.star-glint{color:#09cbf5;display:inline-block;animation:starGlint 3.2s ease-in-out 1s infinite}
@keyframes starGlint{0%,70%,100%{filter:drop-shadow(0 0 0 rgba(9,203,245,0));transform:none}80%{filter:drop-shadow(0 0 10px rgba(159,233,251,.95)) brightness(1.6);transform:scale(1.25) rotate(20deg)}90%{filter:drop-shadow(0 0 4px rgba(159,233,251,.6));transform:scale(1.05)}}
/* Wo wir arbeiten: Zeichen etwas weiter links (mehr sichtbar) */
@media (min-width:801px){#branchen .ind-wm{right:-12%}}
/* Leistungskarten: Bild bündig, animierte ADYGE-Linie wie im Header */
.pcard img{display:block;margin-bottom:-1px}
.pc-body{border-top:0}
.pc-body::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;animation:hdrflow 9s linear infinite}
.pcard-all .pc-body::before{display:none}
.asm-werk + .section,#branchen,.about-claim,.asm-werk + .section.light{border-top:0}
/* "+" bei 15 funkelt wie die SCC-Sterne */
.kfacts.go .kplus{animation:starGlint 3.2s ease-in-out 3.2s infinite}
/* Header-Button: dunkel, laufender ADYGE-Rahmen wie die Leiste, heller Glanz */
.header .hdr-cta{background:linear-gradient(#0c0e12,#0c0e12) padding-box,linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%) border-box!important;background-size:100% 100%,200% 100%!important;border:1.5px solid transparent!important;box-shadow:0 0 22px rgba(9,203,245,.12)!important;color:#fff!important;animation:ctaBorder 9s linear infinite;transition:box-shadow .3s}
@keyframes ctaBorder{to{background-position:0 0,-200% 0}}
.header .hdr-cta svg{color:#09cbf5!important}
.header .hdr-cta .shine-txt{background-image:linear-gradient(100deg,#ffffff 0%,#9fe9fb 35%,#ffffff 50%,#9fe9fb 65%,#ffffff 100%)}
.header .hdr-cta:hover{background:linear-gradient(90deg,#1b2bd0,#0b62d6) padding-box,linear-gradient(90deg,#2436e0,#09cbf5) border-box!important;box-shadow:0 0 28px rgba(9,203,245,.35)!important}
.header .hdr-cta:hover .shine-txt{background-image:linear-gradient(100deg,#fff,#fff)}
.header .hdr-cta:hover svg{color:#fff!important}
/* Topleiste kompakter; beim Scrollen gleitet sie weg */
.topbar .wrap{min-height:30px!important}
.topbar{font-size:12px}
.header{transition:top .35s cubic-bezier(.2,.7,.2,1),background .3s}
html.tb-off .header{top:calc(-1 * var(--tbh,30px))}
html.menu-open .header{top:0!important}
/* DE + EU: gleichmäßiger Abstand um das Plus */
.kf-f4 b{gap:0!important}
.kf-f4 .kpl{margin:0 .38em;display:inline-block}
.kf-f4 .kfl i{padding-right:.04em}
.header .nv i,.header .nav .nv i{display:none!important}
.star-glint.sg2{animation-delay:2.6s}
/* Kacheln heben sich beim Überfahren (wie auf der Kontaktseite) – überall */
.why-i,.value,.perk,.job-card,.kfact,.quals li,.step,.trust-i{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s,background .3s}
.why-i:hover,.value:hover,.perk:hover,.job-card:hover,.quals li:hover,.trust-i:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,98,214,.12)}
.kfacts .kfact:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(3,6,40,.3);position:relative;z-index:1}
.kfacts-light .kfact:hover{box-shadow:0 18px 36px rgba(11,98,214,.14)}
@media (hover:none){.why-i:hover,.value:hover,.perk:hover,.job-card:hover,.quals li:hover,.trust-i:hover,.kfacts .kfact:hover{transform:none;box-shadow:none}}

/* ===== Showreel-Video statt 3D-Werk ===== */
.reel{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;color:#fff;background:#0c0e12;overflow:hidden}
.rl-media{position:absolute;inset:0}
.rl-video{width:100%;height:100%;object-fit:cover;display:block;background:#0c0e12 url(img/reel-poster.jpg?v=2610191706) center/cover}
.rl-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,18,.88) 0%,rgba(12,14,18,.6) 38%,rgba(12,14,18,.1) 70%),linear-gradient(0deg,rgba(12,14,18,.92) 0%,rgba(12,14,18,0) 42%),linear-gradient(180deg,#0c0e12 0%,rgba(12,14,18,0) 18%)}
.rl-in{position:relative;z-index:1;width:100%;padding-block:clamp(120px,16vh,180px) clamp(36px,5vw,56px);display:grid;gap:clamp(36px,6vh,64px)}
.rl-copy{max-width:640px;display:grid;gap:18px;justify-items:start}
.rl-k{font-family:var(--font-mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#09cbf5}
.reel h2{font-size:clamp(40px,5.6vw,80px);line-height:1.02;letter-spacing:-.02em;margin:0}
.reel h2 em{font-style:normal;background:linear-gradient(90deg,#09cbf5,#5b6bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.reel p{font-size:18px;color:#dfe5f3;max-width:48ch;margin:0}
.rl-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px}
.rl-all{color:#fff;text-decoration:none;font-family:var(--font-display);font-size:15px;display:inline-flex;gap:8px;align-items:center;border-bottom:1px solid rgba(9,203,245,.6);padding-bottom:3px}
.rl-all svg{width:15px;height:15px;color:#09cbf5}
.rl-all:hover{color:#09cbf5}
.rl-chips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.rl-chip{display:flex;flex-direction:column;gap:10px;padding:16px 14px;background:rgba(12,14,18,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;text-decoration:none;font-family:var(--font-display);font-size:14.5px;line-height:1.2;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s,box-shadow .3s}
.rl-chip::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;animation:hdrflow 9s linear infinite;opacity:.8}
.rl-chip svg{width:30px;height:30px;color:#09cbf5}
.rl-chip:hover{transform:translateY(-6px);background:rgba(27,43,208,.55);border-color:#09cbf5;box-shadow:0 18px 40px rgba(0,0,0,.35)}
@media (max-width:1100px){.rl-chips{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){
  .reel{min-height:88svh}
  .rl-media::after{background:linear-gradient(0deg,rgba(12,14,18,.96) 0%,rgba(12,14,18,.75) 45%,rgba(12,14,18,.15) 80%),linear-gradient(180deg,#0c0e12 0%,rgba(12,14,18,0) 16%)}
  .rl-in{padding-block:140px 28px;gap:26px}
  .reel p{font-size:16px}
  .rl-chips{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:6px 20px 4px;scrollbar-width:none}
  .rl-chips::-webkit-scrollbar{display:none}
  .rl-chip{flex:0 0 42%;scroll-snap-align:start}
}
/* ===== Branchen + Europakarte ===== */
#branchen .ind-wm{display:none!important}
.br-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
#branchen .ind-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.ind-hint2{color:#c3cdf2;font-size:14px;margin:0 0 12px}
.eu-map{margin:0;position:relative}
.eu-map svg{width:100%;height:auto;display:block;overflow:visible}
.m-o{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.14);stroke-width:.6}
.m-de{fill:rgba(9,203,245,.2);stroke:#09cbf5;stroke-width:1}
.m-nl,.m-be{fill:rgba(9,203,245,.12);stroke:rgba(9,203,245,.7);stroke-width:.8}
.m-arc{fill:none;stroke:#9fe9fb;stroke-width:1.4;stroke-dasharray:4 5;opacity:0}
.eu-map.in .m-arc{animation:arcIn .9s ease-out var(--d) both,arcFlow 1.6s linear calc(var(--d) + .9s) infinite}
@keyframes arcIn{from{opacity:0;stroke-dashoffset:60}to{opacity:.85;stroke-dashoffset:0}}
@keyframes arcFlow{to{stroke-dashoffset:-18}}
.m-pt{opacity:0}
.eu-map.in .m-pt{animation:ptIn .5s cubic-bezier(.3,1.6,.5,1) var(--d) both}
@keyframes ptIn{from{opacity:0;transform-box:fill-box}to{opacity:1}}
.m-dot{fill:#fff;stroke:#09cbf5;stroke-width:2}
.m-pt.hq .m-dot{fill:#09cbf5;stroke:#fff}
.m-ring{fill:none;stroke:#09cbf5;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ring 2.4s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.m-pt text{font-family:var(--font-display);font-size:13px;font-weight:500;fill:#fff;paint-order:stroke;stroke:#0a1a8f;stroke-width:4px;stroke-linejoin:round}
.m-pt.hq text{font-weight:600;fill:#9fe9fb}
.eu-map figcaption{position:absolute;left:0;bottom:4px;font-size:12px;color:#aebbe8;letter-spacing:.04em}
@media (max-width:900px){.br-grid{grid-template-columns:1fr}.eu-map{max-width:520px;margin-inline:auto}}
@media (max-width:460px){#branchen .ind-grid{grid-template-columns:1fr 1fr}.m-pt text{font-size:15px}}
.m-pt text{font-size:16px}
.m-dot{r:4.5px}
.m-pt.hq .m-dot{r:6.5px}
.m-arc{stroke-width:1.8}
.m-o{stroke:rgba(255,255,255,.1)}
/* Punktraster-Karte */
.md-o,.md-nb,.md-de{fill:none;stroke-linecap:round}
.md-o{stroke:rgba(255,255,255,.16);stroke-width:3.2}
.md-nb{stroke:rgba(159,233,251,.55);stroke-width:4}
.md-de{stroke:#9fe9fb;stroke-width:4.4;opacity:.9}
.eu-map.in .md-de{animation:deGlow 3.5s ease-in-out 1.5s infinite alternate}
@keyframes deGlow{to{opacity:1;filter:drop-shadow(0 0 3px rgba(9,203,245,.8))}}
.m-glow{fill:url(#mglow);opacity:.9}
.m-pt text{font-size:17px}
.m-pt.hq text{font-size:18px}
.md-o{stroke:rgba(255,255,255,.3)}
.md-nb{stroke:rgba(159,233,251,.7)}
.m-pt text{stroke:#0b1c96;stroke-width:8px}
.eu-map{transform:scale(1.12);transform-origin:center}
@media (max-width:900px){.eu-map{transform:none}}
/* Projektablauf: ruhiger, Schritt für Schritt */
.steps::after{transition-duration:4.2s!important}
.js-rv .steps-wrap .st-ic,.js-rv .steps-wrap .step .n,.js-rv .steps-wrap .step h3,.js-rv .steps-wrap .step p{transition-duration:.7s!important}
.js-rv .steps-wrap.in .step:nth-child(1) *{transition-delay:.2s!important}
.js-rv .steps-wrap.in .step:nth-child(2) *{transition-delay:1.4s!important}
.js-rv .steps-wrap.in .step:nth-child(3) *{transition-delay:2.6s!important}
.js-rv .steps-wrap.in .step:nth-child(4) *{transition-delay:3.8s!important}
/* Wir ♥ Menschen – zentrierte Karte */
.people-note{margin:clamp(40px,5vw,64px) auto 0;max-width:720px;display:grid;justify-items:center;text-align:center;gap:10px;background:#fff;border:1px solid rgba(7,16,120,.08);border-left:0;border-top:3px solid transparent;border-image:linear-gradient(90deg,#071078,#0b62d6,#09cbf5) 1;padding:clamp(28px,4vw,40px) clamp(20px,4vw,48px);box-shadow:0 18px 40px rgba(7,16,120,.08)}
.pn-heart{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#071078,#0b62d6);box-shadow:0 10px 24px rgba(11,98,214,.3);margin-bottom:4px}
.pn-heart svg{width:26px;height:26px;fill:#fff;animation:pnBeat 2.4s ease-in-out infinite}
@keyframes pnBeat{0%,60%,100%{transform:scale(1)}70%{transform:scale(1.18)}80%{transform:scale(1)}88%{transform:scale(1.12)}}
.people-note h3{font-size:clamp(24px,2.6vw,32px);color:#071078;margin:0}
.people-note h3 span{color:#e0245e}
.people-note .pn-lead{font-family:var(--font-display);font-size:clamp(18px,1.8vw,21px);color:#0c0e12;margin:0;max-width:34ch}
.people-note .pn-small{font-size:14px;color:#56608a;margin:4px 0 0;max-width:52ch;line-height:1.55}
.ph-vid{animation:none!important;background:#0c0e12}
.ph-vid video{width:100%;height:100%;object-fit:cover;display:block}
.about-img video{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.m-pill{fill:rgba(6,14,90,.88);stroke:rgba(9,203,245,.45);stroke-width:1}
.m-pt.hq .m-pill{fill:#09cbf5;stroke:#fff}
.m-pt text{stroke:none!important;font-size:14.5px;font-weight:500}
.m-pt.hq text{fill:#071078!important;font-size:15px;font-weight:600}
.eu-map{transform:none!important}
.eu-map figcaption{position:static;margin-top:10px;text-align:center}
.md-o{stroke:rgba(255,255,255,.22)}
@media (max-width:900px){.eu-map{margin-top:48px}}
.mf-note{margin:28px 0 0;font-size:13px;color:#8e98bd;text-align:center}
/* Europakarte (Flächen, groß) */
@media (min-width:901px){.br-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,3vw,48px)}.eu-map svg{width:112%;margin:-4% -6% -2% -6%}}
.m-shapes .m-o{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.24);stroke-width:.8;stroke-linejoin:round}
.m-shapes .m-nb{fill:rgba(9,203,245,.14);stroke:rgba(159,233,251,.75);stroke-width:1;stroke-linejoin:round}
.m-shapes .m-de{fill:url(#mde);stroke:#9fe9fb;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(9,203,245,.35))}
.m-cl{font-family:var(--font-display);font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;fill:rgba(215,222,247,.42)}
.m-cl-de{font-size:13px;letter-spacing:.34em;fill:rgba(255,255,255,.5)}
.m-lead{stroke:rgba(159,233,251,.7);stroke-width:1.2;fill:none}
.m-pill{fill:rgba(6,14,90,.9);stroke:rgba(9,203,245,.5);stroke-width:1}
.m-pt text{font-size:15px;font-weight:500;fill:#fff;stroke:none!important}
.m-pt.hq text{fill:#071078!important;font-size:15.5px;font-weight:600}
.m-num{display:none}
.m-num circle{fill:rgba(6,14,90,.92);stroke:#09cbf5;stroke-width:1.2}
.m-num text{font-size:13px!important;font-weight:600}
.m-pt.hq .m-num circle{fill:#09cbf5;stroke:#fff}
.m-list{display:none}
.m-lab{transition:opacity .2s}
@media (max-width:700px){
  .m-lab,.m-lead{display:none}.m-num{display:inline}
  .m-num circle{r:17px}.m-num text{font-size:17px!important}.m-num text{transform:translateY(2px)}
  .m-cl{font-size:17px}.m-cl-de{font-size:19px}
  .m-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:#e6ebfb}
  .m-list li{display:flex;align-items:center;gap:8px;line-height:1.25}
  .m-list b{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(6,14,90,.92);border:1px solid #09cbf5;font-size:12px;font-weight:600;color:#fff}
  .m-list li:first-child b{background:#09cbf5;color:#071078;border-color:#fff}
  .m-list li:first-child{font-weight:600}
}
@media (min-width:701px){.m-cl-be{display:none}}
/* Branchen: Karte groß, Branchen darunter */
@media (min-width:901px){
  .br-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);grid-template-areas:"copy map" "inds inds";row-gap:clamp(36px,4vw,56px)}
  .br-copy{grid-area:copy;align-self:center}.eu-map{grid-area:map}.br-inds{grid-area:inds}
  .eu-map svg{width:118%;margin:-6% -9% -3% -9%}
  #branchen .ind-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){.br-inds{margin-top:8px}}
/* Branchen: Pfeil statt Plus */
#branchen .ind .ind-more,.ind-more{border:0!important;background:none!important;width:22px;height:22px;border-radius:0;color:#09cbf5!important;transform:none!important;flex:none;margin-left:auto;display:grid}
.ind-more svg{width:18px;height:18px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
button.ind:hover .ind-more svg,button.ind:focus-visible .ind-more svg{transform:translateX(4px)}
@media (max-width:640px){#branchen .ind .ind-more{display:grid;width:18px;height:18px}.ind-more svg{width:15px;height:15px}}
/* Warum ADYGE: echte Karten */
.why-list{gap:18px}
.why-i{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(7,16,120,.09);padding:28px 26px 26px;gap:12px;box-shadow:0 10px 28px rgba(7,16,120,.06)}
.why-i::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;animation:hdrflow 9s linear infinite}
.why-i svg{box-sizing:border-box;width:52px!important;height:52px!important;padding:13px;color:#fff!important;background:linear-gradient(145deg,#071078,#0b62d6 60%,#09cbf5);box-shadow:0 10px 22px rgba(11,98,214,.28);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.why-i h3{font-size:19px;font-weight:600;margin-top:6px}
.why-i p{font-size:15px}
.why-i:hover{border-color:rgba(9,203,245,.55)}
.why-i:hover svg{transform:translateY(-2px) scale(1.06);box-shadow:0 14px 28px rgba(9,203,245,.35)}
.why-cert{background:#f6f8fc;border:1px solid rgba(7,16,120,.08);padding:clamp(20px,2.4vw,30px);align-self:stretch;align-content:center}
.why-cert img{box-shadow:0 12px 30px rgba(7,16,120,.1)}
@media (max-width:640px){
  .why-list{gap:14px}
  .why-i{grid-template-columns:44px 1fr;gap:4px 14px;padding:20px 18px}
  .why-i svg{width:44px!important;height:44px!important;padding:11px;grid-row:span 2}
  .why-i h3{margin-top:0;font-size:17px;align-self:center}
}
/* Warum ADYGE: 4 Karten nebeneinander, Zertifikat als Band */
.why-grid{grid-template-columns:1fr!important;gap:18px}
.why-list{grid-template-columns:repeat(4,1fr)}
.why-i svg{padding:9px}
.why-cert{display:flex!important;align-items:center;gap:clamp(20px,3vw,44px);padding:clamp(18px,2.2vw,26px) clamp(20px,3vw,36px);max-width:none!important}
.why-cert img{width:min(340px,40%);flex:none}
.wc-txt{display:grid!important;gap:6px;justify-items:start;color:#2c3558;font-weight:400;font-size:15px;line-height:1.55}
.wc-txt strong{font-family:var(--font-display);font-size:20px;font-weight:600;color:#0c0e12}
.wc-txt em{font-style:normal;color:#0b62d6;font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.why-cert:hover .wc-txt em{text-decoration:underline}
.why-cert:hover{border-color:rgba(9,203,245,.55)}
@media (max-width:1100px){.why-list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.why-list{grid-template-columns:1fr}.why-cert{flex-direction:column;align-items:flex-start}.why-cert img{width:100%}.wc-txt strong{font-size:18px}}
@media (max-width:900px){.eu-map{margin-top:0!important}.eu-map svg{margin:-10% -4% -4%;width:108%}}
/* SCC-Titel: ADYGE-Verlauf mit Glanz statt Einzelfarbe */
.cert h2 em{background:linear-gradient(100deg,#071078 0%,#0b62d6 35%,#09cbf5 50%,#0b62d6 65%,#071078 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:btnShine 4.5s ease-in-out infinite}
.cert h2 em .star-glint{-webkit-text-fill-color:#09cbf5;color:#09cbf5}
@media (prefers-reduced-motion:reduce){.cert h2 em{animation:none;background-position:50% 0}}
/* TÜV-Band: keine Unterstreichung beim Hover, nur der Link-Text */
.why-cert,.why-cert:hover,.why-cert *{text-decoration:none!important}
.why-cert:hover .wc-txt em{text-decoration:underline!important;text-underline-offset:3px}
.why-cert:hover .wc-txt em svg{transform:translateX(3px)}.wc-txt em svg{transition:transform .25s}
/* Warum ADYGE: Zahlen und Karten exakt in einer Flucht */
.why-sec .kfacts-light{gap:18px;background:none;border:0}
.why-sec .kfacts-light .kfact{border:1px solid rgba(7,16,120,.09);box-shadow:0 10px 28px rgba(7,16,120,.06);padding:26px}
.why-sec .why-i{padding:28px 26px 26px}
@media (max-width:1100px){.why-sec .kfacts-light{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.why-sec .kfacts-light{gap:12px}.why-sec .kfacts-light .kfact{padding:18px 16px}}
@media (min-width:1101px){.why-sec .kfacts-light,.why-sec .why-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.why-sec .kf-f4 b{font-size:clamp(26px,2.6vw,36px)}.why-sec .kf-f4 .kflag{width:30px;height:20px}
@media (max-width:800px){.why-sec .kf-f4 b{font-size:22px;flex-wrap:nowrap;white-space:nowrap}.why-sec .kf-f4 .kflag{width:22px;height:15px}.why-sec .kf-f4 .kpl{margin:0 1px}}
/* ===== Europakarte 3D: gekippte Glasplatte mit Lichtsäulen ===== */
.eu3d{position:relative}
.e3-stage{position:relative;width:100%;aspect-ratio:740/600}
.e3-persp{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 0%}
.e3-plate{position:absolute;left:3%;top:-2%;width:94%;aspect-ratio:740/680;transform-style:preserve-3d;transform:rotateX(46deg) rotateZ(-8deg);transform-origin:50% 55%}
.e3-plate svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.e3-base{transform:translateZ(-14px)}
.e3-base path{fill:#030a4a;stroke:#1d6fd8;stroke-width:2.4}
.eu3d .m-shapes .m-o{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.2);stroke-width:.9}
.eu3d .m-shapes .m-nb{fill:rgba(9,203,245,.1);stroke:rgba(159,233,251,.6);stroke-width:1}
.eu3d .m-shapes .m-de{fill:url(#mde);stroke:#b8f1ff;stroke-width:2.2;filter:drop-shadow(0 0 7px rgba(9,203,245,.75))}
.eu3d .m-arc{stroke:rgba(159,233,251,.55);stroke-width:1.5}
.e3-pt{fill:#9fe9fb}
.e3-grid{position:absolute;inset:-30%;background-image:linear-gradient(rgba(159,233,251,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(159,233,251,.09) 1px,transparent 1px);background-size:5.5% 6%;transform:translateZ(-16px);-webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent);mask-image:radial-gradient(closest-side,#000 35%,transparent)}
.e3-fx{position:absolute;inset:0;pointer-events:none}
.e3-b{position:absolute;left:0;top:0;--h:60px}
.e3-beam{position:absolute;left:-1.5px;bottom:0;width:3px;height:var(--h);border-radius:2px;background:linear-gradient(to top,#09cbf5,rgba(9,203,245,.05));box-shadow:0 0 10px rgba(9,203,245,.7);transform-origin:50% 100%;transform:scaleY(0)}
.e3-b.hq .e3-beam{left:-2.5px;width:5px;background:linear-gradient(to top,#fff,#09cbf5 35%,rgba(9,203,245,.05));box-shadow:0 0 16px rgba(9,203,245,.9)}
.e3-foot{position:absolute;left:-7px;top:-3.5px;width:14px;height:7px;border-radius:50%;background:#9fe9fb;box-shadow:0 0 12px 4px rgba(9,203,245,.6);opacity:0}
.e3-b.hq .e3-foot{left:-10px;top:-5px;width:20px;height:10px;background:#fff}
.e3-tag,.e3-num{position:absolute;bottom:calc(var(--h) + 4px);left:0;transform:translate(-50%,6px);opacity:0;white-space:nowrap}
.e3-tag{font-family:var(--font-display);font-size:14px;font-weight:500;color:#fff;padding:5px 12px;border-radius:14px;background:rgba(6,14,90,.78);border:1px solid rgba(9,203,245,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.e3-b.hq .e3-tag{background:#09cbf5;color:#071078;font-weight:600;border-color:#fff;font-size:14.5px}
.e3-num{display:none;width:24px;height:24px;border-radius:50%;place-items:center;font-size:12px;font-weight:600;color:#fff;background:rgba(6,14,90,.9);border:1px solid #09cbf5}
.e3-b.hq .e3-num{background:#09cbf5;color:#071078;border-color:#fff}
.eu3d.in .e3-beam{transition:transform 1s cubic-bezier(.2,.7,.2,1) var(--d);transform:scaleY(1)}
.eu3d.in .e3-foot{transition:opacity .5s var(--d);opacity:1}
.eu3d.in .e3-tag,.eu3d.in .e3-num{transition:opacity .5s calc(var(--d) + .7s),transform .5s calc(var(--d) + .7s);opacity:1;transform:translate(-50%,0)}
.e3-b.hq .e3-foot{animation:e3pulse 2.6s ease-in-out infinite}
@keyframes e3pulse{50%{box-shadow:0 0 22px 9px rgba(9,203,245,.45)}}
.eu3d figcaption{margin-top:4px}
@media (max-width:700px){.e3-tag{display:none}.e3-num{display:grid}}
@media (prefers-reduced-motion:reduce){.e3-beam{transform:none}.e3-foot,.e3-tag,.e3-num{opacity:1}}
.e3-stage{aspect-ratio:740/640}
.e3-plate{left:-6%;width:112%;top:2%;transform:rotateX(36deg) rotateZ(-7deg)}
@media (max-width:900px){.e3-plate{left:-4%;width:108%}}
.e3-stage{aspect-ratio:740/700}
@media (max-width:700px){.e3-num{width:21px;height:21px;font-size:11px}.e3-stage{aspect-ratio:740/660}}
.e3-beam{width:2.5px;left:-1.25px;background:linear-gradient(to top,#9fe9fb,#09cbf5 40%,rgba(9,203,245,.35));box-shadow:0 0 10px rgba(9,203,245,.85)}
@media (min-width:901px){.e3-plate{left:-12%;width:128%;top:-3%}.e3-stage{aspect-ratio:740/690}}
@media (min-width:901px){.e3-plate{left:-3%}.e3-stage{aspect-ratio:740/740}.br-copy{position:relative;z-index:2}}
#branchen{overflow:hidden}
.e3-beam,.e3-foot{z-index:1}.e3-tag,.e3-num{z-index:3}.e3-b.hq .e3-tag{z-index:4}
/* Karte: Hover/Tap-Hervorhebung einer Region */
.e3-tag,.e3-num{pointer-events:auto;cursor:pointer}
.e3-b{transition:opacity .35s}
.eu3d.hov .e3-b:not(.on){opacity:.3}
.eu3d.in .e3-b .e3-tag,.eu3d.in .e3-b .e3-num{transition:opacity .5s calc(var(--d) + .7s),transform .5s calc(var(--d) + .7s),background .3s,box-shadow .3s,border-color .3s}
.eu3d.in.hov .e3-b .e3-tag,.eu3d.in.hov .e3-b .e3-num,.eu3d.in.was .e3-b .e3-tag,.eu3d.in.was .e3-b .e3-num{transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1),background .3s,box-shadow .3s,border-color .3s}
.e3-b.on .e3-tag{transform:translate(-50%,-4px) scale(1.16)!important;border-color:#9fe9fb;background:linear-gradient(135deg,rgba(9,203,245,.45),rgba(27,43,208,.85));box-shadow:0 0 0 5px rgba(9,203,245,.16),0 12px 32px rgba(9,203,245,.45)}
.e3-b.hq.on .e3-tag{background:#09cbf5}
.e3-b.on .e3-num{transform:translate(-50%,-3px) scale(1.25)!important;box-shadow:0 0 0 5px rgba(9,203,245,.2),0 8px 20px rgba(9,203,245,.5)}
.e3-b.on .e3-beam{width:4px;left:-2px;background:linear-gradient(to top,#fff,#9fe9fb 30%,#09cbf5);box-shadow:0 0 18px 2px rgba(9,203,245,.95)}
.e3-b.on .e3-foot{animation:e3ring 1.3s ease-out infinite}
@keyframes e3ring{0%{box-shadow:0 0 0 0 rgba(159,233,251,.9),0 0 14px 5px rgba(9,203,245,.7)}100%{box-shadow:0 0 0 18px rgba(159,233,251,0),0 0 14px 5px rgba(9,203,245,.7)}}
.eu3d.hov .m-arc{opacity:.12!important;transition:opacity .3s}
.eu3d.hov .m-arc.on{opacity:1!important;stroke:#e6fbff;stroke-width:2.6;stroke-dasharray:none;filter:drop-shadow(0 0 5px rgba(9,203,245,.9))}
.m-list li{cursor:pointer;transition:color .25s}
.m-list li.on{color:#fff}.m-list li.on b{background:#09cbf5;color:#071078;border-color:#fff;box-shadow:0 0 0 4px rgba(9,203,245,.2)}
/* Intro-Varianten (Vorschau) */
#intro .stage{isolation:isolate}
.iv-a #intro .stage::after{content:"";position:absolute;left:50%;top:26%;width:190%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,rgba(9,203,245,.55) 0%,rgba(36,54,224,.32) 32%,rgba(7,16,120,.08) 55%,rgba(7,16,120,0) 70%);z-index:-1;animation:ivBloom 1.3s cubic-bezier(.2,.7,.2,1) .95s both;pointer-events:none}
@keyframes ivBloom{0%{transform:translate(-50%,-50%) scale(0);opacity:0}35%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.7);opacity:.9}}
.iv-a #intro::after,.iv-c #intro::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;animation:hdrflow 2s linear infinite;z-index:3}
.iv-b #intro .stage::after{content:"";position:absolute;left:50%;top:26%;width:80%;aspect-ratio:1;border-radius:50%;border:2px solid #09cbf5;box-shadow:0 0 24px rgba(9,203,245,.6),inset 0 0 24px rgba(9,203,245,.35);transform:translate(-50%,-50%) scale(.4);opacity:0;z-index:-1;animation:ivRing 1.2s cubic-bezier(.2,.7,.2,1) 1s both;pointer-events:none}
.iv-b #intro .mark{animation:markWipe 1.05s cubic-bezier(.65,0,.25,1) .15s both,ivFlash 1s ease-out 1s both}
@keyframes ivRing{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(-50%,-50%) scale(2.1);opacity:0}}
@keyframes ivFlash{0%,100%{filter:drop-shadow(0 0 0 rgba(9,203,245,0))}30%{filter:drop-shadow(0 0 28px rgba(9,203,245,.9))}}
.iv-c #intro::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 30%,#1b2bd0 0%,rgba(27,43,208,0) 70%),linear-gradient(160deg,#071078,#0b62d6 60%,#09cbf5);transform:translateY(101%);animation:ivCurtain .6s cubic-bezier(.7,0,.2,1) 1.75s forwards;z-index:2}
@keyframes ivCurtain{to{transform:translateY(0)}}
/* Intro C (Standard): ADYGE-Farbvorhang, Logo wird weiß, dann gleitet alles nach oben */
#intro .stage{z-index:3}
#intro::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(9,203,245,.28) 0%,rgba(9,203,245,0) 60%),radial-gradient(ellipse 90% 70% at 80% 10%,#1b2bd0 0%,rgba(27,43,208,0) 65%),linear-gradient(165deg,#050c5e 0%,#0a1a8f 45%,#0b62d6 85%,#09a8e6 100%);
  box-shadow:0 -2px 0 #9fe9fb,0 -18px 60px rgba(9,203,245,.55);transform:translateY(calc(100% + 80px));animation:ivCurtain2 .75s cubic-bezier(.76,0,.24,1) 1.7s forwards}
@keyframes ivCurtain2{to{transform:translateY(0)}}
#intro::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:4;background:linear-gradient(90deg,#2436e0 0%,#09cbf5 25%,#2436e0 50%,#09cbf5 75%,#2436e0 100%);background-size:200% 100%;opacity:0;animation:hdrflow 2s linear infinite,ivLine .3s ease 2.35s forwards}
@keyframes ivLine{to{opacity:1}}
#intro .mark,#intro .word svg{transition:filter .35s ease}
#intro .mark{animation:markWipe 1.05s cubic-bezier(.65,0,.25,1) .15s both,ivWhite .22s ease 1.98s forwards}
#intro .word{animation:ivWhite .22s ease 2.03s forwards}
#intro .bar{animation:ivFade .3s ease 2s forwards}
@keyframes ivWhite{to{filter:brightness(0) invert(1) drop-shadow(0 0 18px rgba(159,233,251,.55))}}
@keyframes ivFade{to{opacity:0}}
#intro{animation:introOut2 .7s cubic-bezier(.76,0,.24,1) 2.6s forwards!important}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(1){animation-delay:2.9s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(2){animation-delay:3.02s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(3){animation-delay:3.15s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(4){animation-delay:3.27s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(5){animation-delay:3.39s}
#intro .mark{filter:none}
@keyframes ivWhiteM{to{filter:brightness(0) invert(1)}}
#intro .mark{animation:markWipe 1.05s cubic-bezier(.65,0,.25,1) .15s both,ivWhiteM .22s ease 1.98s forwards}
.e3-persp,.e3-persp *{pointer-events:none}.m-list{position:relative;z-index:2}
/* Intro: ADYGE-Fluss statt Vorhang – Logo wird weiß, wo der Fluss es berührt */
#intro::after{content:none!important}
#intro .mark{animation:markWipe 1.05s cubic-bezier(.65,0,.25,1) .15s both!important}
#intro .word{animation:none!important}
#intro .bar{animation:none}
.rv-river{position:absolute;left:0;top:50%;width:200vw;height:max(80vmin,360px);transform:translate(-200vw,-50%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;z-index:4;pointer-events:none;animation:rvFlow 1.15s cubic-bezier(.55,0,.2,1) 1.5s forwards;will-change:transform}
@keyframes rvFlow{to{transform:translate(-100vw,-50%)}}
.rv-fill{position:absolute;inset:0;background:radial-gradient(ellipse 30% 70% at 88% 50%,rgba(9,203,245,.55),rgba(9,203,245,0) 70%),linear-gradient(90deg,#050c5e 0%,#0a1a8f 35%,#1b2bd0 60%,#0b62d6 82%,#09cbf5 98%)}
.rv-fill::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(100deg,rgba(159,233,251,0) 0 90px,rgba(159,233,251,.13) 90px 93px,rgba(159,233,251,0) 93px 170px);animation:rvStreak 1.6s linear infinite}
@keyframes rvStreak{to{background-position:340px 0}}
.rv-w{position:absolute;left:0;top:50%;width:100vw;height:100vh;display:grid;place-items:center;transform:translate(200vw,-50%);animation:rvCounter 1.15s cubic-bezier(.55,0,.2,1) 1.5s forwards;will-change:transform}
@keyframes rvCounter{to{transform:translate(100vw,-50%)}}
.stage-w::before{display:none!important}
.stage-w *{animation:none!important;filter:none!important;clip-path:none!important;opacity:1!important;transform:none!important}
.stage-w .bar{visibility:hidden}
.stage-w .mark{filter:drop-shadow(0 0 14px rgba(159,233,251,.45))!important}
@media (prefers-reduced-motion:reduce){.rv-river{display:none}}
#intro{overflow:hidden}
@keyframes rvFlow{to{transform:translate(-82vw,-50%)}}
@keyframes rvCounter{to{transform:translate(82vw,-50%)}}
.rv-river,.rv-w{animation-duration:1.25s!important;animation-timing-function:cubic-bezier(.45,0,.2,1)!important}
#intro{--rw:200vw}
@media (max-width:700px){#intro{--rw:420vw}}
.rv-river{width:var(--rw);transform:translate(calc(-1 * var(--rw)),-50%)}
.rv-w{transform:translate(var(--rw),-50%)}
@keyframes rvFlow{to{transform:translate(calc(118vw - var(--rw)),-50%)}}
@keyframes rvCounter{to{transform:translate(calc(var(--rw) - 118vw),-50%)}}
/* Intro wieder klassisch: ohne Farbeffekt */
.rv-river{display:none!important}
#intro::before{content:none!important}
#intro{animation:introOut2 .6s cubic-bezier(.7,0,.2,1) 2.35s forwards!important}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(1){animation-delay:2.55s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(2){animation-delay:2.67s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(3){animation-delay:2.8s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(4){animation-delay:2.92s}
html:not(.intro-seen):not(.no-intro) .seq > *:nth-child(5){animation-delay:3.04s}
#intro .bar{animation:none;opacity:1}
/* Werte: 4 Spalten mit Umwelt */
.about-grid + .values{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.about-grid + .values{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.about-grid + .values{grid-template-columns:1fr}}
/* Umwelt-Band klein unter SCC */
.eco{display:flex;align-items:center;gap:18px;margin-top:clamp(26px,3vw,40px);padding:16px 22px;background:linear-gradient(100deg,rgba(9,203,245,.08),rgba(36,54,224,.04));border:1px solid rgba(9,203,245,.28);position:relative;overflow:hidden}
.eco::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#09cbf5,#2436e0)}
.eco-ic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0b62d6,#09cbf5);box-shadow:0 8px 20px rgba(9,203,245,.3)}
.eco-ic svg{width:26px;height:26px;color:#fff;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:ecoSway 5s ease-in-out infinite;transform-origin:30% 85%}
@keyframes ecoSway{0%,100%{transform:rotate(0)}50%{transform:rotate(-7deg)}}
.eco-b{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.eco-b strong{font-family:var(--font-display);font-size:16px;font-weight:600;color:#0c0e12;margin-right:4px}
.eco ul{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}
.eco li{position:relative;padding-left:16px;font-size:14px;color:#2c3558;line-height:1.45}
.eco li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#09cbf5;box-shadow:0 0 0 3px rgba(9,203,245,.18)}
.eco li b{color:#0b62d6;font-weight:600}
@media (max-width:700px){.eco{align-items:flex-start;padding:16px}.eco ul{flex-direction:column}.eco-ic{width:40px;height:40px}.eco-ic svg{width:22px;height:22px}}
.foot-eco{display:inline-flex;align-items:center;gap:7px;opacity:.75}
.foot-eco svg{width:14px;height:14px;fill:none;stroke:#09cbf5;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.legal-row{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.cert .eco{grid-column:1/-1;margin-top:8px}.why-sec .eco{margin-top:18px}
.eco-ic svg{width:30px!important;height:30px!important;stroke-width:2.2}.why-sec .eco{margin-top:18px!important}
/* Blatt: sichtbar im Wind wiegen, beim Drüberfahren flattern */
.eco-ic svg{animation:ecoLeaf 3.6s ease-in-out infinite!important;transform-origin:25% 90%}
@keyframes ecoLeaf{0%,100%{transform:rotate(-10deg) translateY(0)}25%{transform:rotate(8deg) translateY(-2px)}50%{transform:rotate(-4deg) translateY(-3px)}75%{transform:rotate(12deg) translateY(-1px)}}
.eco-ic{animation:ecoGlow 3.6s ease-in-out infinite}
@keyframes ecoGlow{50%{box-shadow:0 8px 26px rgba(9,203,245,.55)}}
.eco:hover .eco-ic svg{animation:ecoFlutter .5s ease-in-out 3!important}
@keyframes ecoFlutter{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(16deg)}}
.foot-eco svg{animation:ecoLeaf 3.6s ease-in-out infinite;transform-origin:25% 90%}
@media (prefers-reduced-motion:reduce){.eco-ic svg,.eco-ic,.foot-eco svg{animation:none!important}}
/* Portal: 7 Kacheln sauber verteilt */
@media (min-width:861px){.pt-tiles{grid-template-columns:repeat(4,1fr)}}
/* Portal: Begrüßung angemeldeter Mitarbeiter */
.pt-user{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:clamp(26px,3vw,40px);padding:14px 18px;background:#fff;border:1px solid rgba(7,16,120,.08);box-shadow:0 10px 26px rgba(7,16,120,.06);position:relative}
.pt-user::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#09cbf5,#2436e0)}
.pt-hi{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:20px;color:#0c0e12}
.pt-hi b{font-weight:600;color:#0b62d6}
.pt-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#071078,#0b62d6 60%,#09cbf5);color:#fff}
.pt-av svg{width:22px;height:22px}
.pt-user nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.pt-user nav a{color:#0b62d6;text-decoration:none}.pt-user nav a:hover{text-decoration:underline}
.pt-user .pt-out{color:#56608a}
.pt-note{background:#eefaf4;border-left:3px solid #00a870;color:#0b4d33;padding:10px 14px;font-size:14.5px;margin:-18px 0 24px}
.pt-sender{font-size:14px;color:#56608a;margin:6px 0 4px}.pt-sender b{color:#0c0e12}
.pv-grid{align-items:end}
.pv-next{display:flex;align-items:center;gap:14px;padding:12px 16px;background:linear-gradient(100deg,rgba(9,203,245,.1),rgba(36,54,224,.05));border:1px solid rgba(9,203,245,.35);font-size:13px;color:#56608a;min-height:52px}
.pv-next svg{width:30px;height:30px;color:#0b62d6;flex:none}
.pv-next b{display:block;font-family:var(--font-display);font-size:17px;font-weight:600;color:#071078;margin-top:2px}
/* ===== Mitarbeiterportal (angemeldet) ===== */
.pt-hero .wrap{position:relative;z-index:2}
.pt-greet{font-family:var(--font-display);font-size:clamp(18px,2vw,22px);color:#9fe9fb;margin:0 0 4px;font-weight:500}
.pt-name{margin:0;font-size:clamp(34px,5vw,58px)!important;line-height:1.05}
.pt-date{color:#c9d3f5;font-size:15px;margin:10px 0 0}
.pt-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pt-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,border-color .25s}
.pt-links a:hover{background:rgba(255,255,255,.16);border-color:#09cbf5}
.pt-links svg{width:18px;height:18px;color:#9fe9fb}
.pt-links em{font-style:normal;font-size:12px;min-width:20px;height:20px;border-radius:10px;background:#09cbf5;color:#071078;display:inline-grid;place-items:center;padding:0 5px;margin-left:4px;font-weight:600}
.pt-h{font-family:var(--font-display);font-size:clamp(24px,3vw,34px);margin:0 0 20px;font-weight:600}
.pt-note{background:#eefaf4;border-left:3px solid #00a870;color:#0b4d33;padding:12px 16px;font-size:15px;margin:0 0 22px}
.pt-bday{position:relative;overflow:hidden;display:grid;gap:4px;padding:20px 22px;margin:0 0 24px;color:#fff;background:linear-gradient(120deg,#071078,#0b62d6 55%,#09cbf5)}
.pt-bday b{position:relative;z-index:1;font-family:var(--font-display);font-size:22px}
.pt-bday span{position:relative;z-index:1;color:#e6f6ff}
.pt-conf i{position:absolute;top:-12px;width:8px;height:14px;opacity:.9;animation:ptConf 3.2s linear infinite}
.pt-conf i:nth-child(3n){background:#ffd166}.pt-conf i:nth-child(3n+1){background:#9fe9fb}.pt-conf i:nth-child(3n+2){background:#ff7aa8}
.pt-conf i:nth-child(1){left:4%;animation-delay:0s}.pt-conf i:nth-child(2){left:10%;animation-delay:1.1s}.pt-conf i:nth-child(3){left:16%;animation-delay:.4s}.pt-conf i:nth-child(4){left:22%;animation-delay:2s}.pt-conf i:nth-child(5){left:28%;animation-delay:.8s}.pt-conf i:nth-child(6){left:34%;animation-delay:1.6s}
.pt-conf i:nth-child(7){left:40%;animation-delay:.2s}.pt-conf i:nth-child(8){left:46%;animation-delay:2.4s}.pt-conf i:nth-child(9){left:52%;animation-delay:1.3s}.pt-conf i:nth-child(10){left:58%;animation-delay:.6s}.pt-conf i:nth-child(11){left:64%;animation-delay:1.9s}.pt-conf i:nth-child(12){left:70%;animation-delay:.3s}
.pt-conf i:nth-child(13){left:76%;animation-delay:2.7s}.pt-conf i:nth-child(14){left:82%;animation-delay:1s}.pt-conf i:nth-child(15){left:88%;animation-delay:.5s}.pt-conf i:nth-child(16){left:94%;animation-delay:2.2s}.pt-conf i:nth-child(17){left:98%;animation-delay:1.5s}.pt-conf i:nth-child(18){left:1%;animation-delay:2.9s}
@keyframes ptConf{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(140px) rotate(540deg)}}
@media (prefers-reduced-motion:reduce){.pt-conf{display:none}}
.pt-mine{margin-top:clamp(36px,5vw,56px)}
.pm-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pm-head h2{font-family:var(--font-display);font-size:clamp(22px,2.6vw,28px);margin:0;font-weight:600}
.pm-head span{font-size:13px;min-width:26px;height:26px;border-radius:13px;background:#e8efff;color:#1b2bd0;display:inline-grid;place-items:center;padding:0 7px;font-weight:600}
.pm-empty{color:#56608a;background:#fff;border:1px dashed rgba(7,16,120,.15);padding:18px 20px;margin:0}
.pm-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pm{display:flex;gap:14px;padding:16px 18px;background:#fff;border:1px solid rgba(7,16,120,.08);position:relative;box-shadow:0 6px 18px rgba(7,16,120,.04)}
.pm::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:#e0a100}
.pm.st-genehmigt::before,.pm.st-erledigt::before{background:#00a870}.pm.st-abgelehnt::before{background:#d0752b}
.pm .pm-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eef3ff;color:#0b62d6}.pm .pm-ic svg{width:21px;height:21px}
.pm-b{flex:1;min-width:0}.pm-t{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.pm-t b{font-size:16px;font-family:var(--font-display);font-weight:600}
.pm-st{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;background:#fff5dd;color:#7a5600;white-space:nowrap}
.st-genehmigt .pm-st,.st-erledigt .pm-st{background:#e7f8ef;color:#0b6b42}.st-abgelehnt .pm-st{background:#fdeee6;color:#9a4a12}
.pm-d{font-size:15px;color:#0c0e12;margin-top:4px}.pm-m{font-size:12.5px;color:#8e98bd;margin-top:4px}
.pm-a{font-size:14px;color:#2c3558;background:#f3f6fd;padding:8px 12px;margin-top:8px}
/* Portal auf dem Handy: kompakt wie eine App */
@media (max-width:700px){
  .pt-hero{padding-bottom:26px}
  .pt-links{gap:8px}.pt-links a{padding:9px 12px;font-size:13.5px;flex:1 1 auto;justify-content:center}
  .pt-tiles{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .pt-tile{padding:16px 14px!important;gap:6px!important;min-height:118px}
  .pt-tile svg{width:30px!important;height:30px!important}
  .pt-tile strong{font-size:16px!important;line-height:1.2}
  .pt-tile span{font-size:12.5px!important;line-height:1.35}
  .pt-form{padding:20px 16px!important}
  .pm{padding:14px}
  #portal{padding-top:28px}
}
.pt-motto{display:inline-block;margin:14px 0 0;padding:10px 16px;font-size:15.5px;color:#fff;background:rgba(9,203,245,.14);border-left:3px solid #09cbf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:560px;line-height:1.45}
.pt-bday .pt-conf{z-index:0}.pt-conf i{opacity:.55!important}
/* Portal: Mitteilungen, Hinweis, Meine Daten */
.pt-h2{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:clamp(22px,2.6vw,28px);font-weight:600;margin:0 0 14px}
.pt-h2 svg{width:26px;height:26px;color:#0b62d6}
.pt-news{margin:0 0 clamp(30px,4vw,44px)}
.pt-msg{background:#fff;border:1px solid rgba(7,16,120,.08);margin-bottom:10px;box-shadow:0 6px 18px rgba(7,16,120,.05);position:relative}
.pt-msg.neu::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:#09cbf5}
.pt-msg summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px}
.pt-msg summary::-webkit-details-marker{display:none}
.pt-msg summary b{font-family:var(--font-display);font-size:17px;font-weight:600}
.pt-msg summary span{flex:none;font-size:12.5px;color:#8e98bd;display:flex;align-items:center;gap:8px}
.pt-msg summary em{font-style:normal;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:10px;background:#09cbf5;color:#071078}
.pt-msgtext{padding:0 18px 16px;color:#2c3558;font-size:15.5px;line-height:1.65}
.pt-msgtext p{margin:0 0 10px}.pt-msgtext ul{margin:0 0 10px;padding-left:20px}.pt-msgtext b{color:#0c0e12}
.pt-miss{display:grid;gap:3px;text-decoration:none;padding:14px 18px;margin:0 0 22px;background:#fff7e6;border-left:3px solid #e0a100;color:#6b4a00}
.pt-miss b{font-size:15.5px}.pt-miss span{font-size:14px}
.pt-profil{margin-top:clamp(36px,5vw,56px);scroll-margin-top:110px}
.pt-pform{background:#fff;border:1px solid rgba(7,16,120,.08);padding:20px;display:grid;gap:14px}
.pt-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pt-pform label{display:grid;gap:6px;font-size:13.5px;color:#56608a}
.pt-pform label small{color:#8e98bd}
.pt-pform input{font:inherit;font-size:16px;padding:12px 14px;border:1px solid rgba(7,16,120,.14);background:#f3f6fd;color:#0c0e12;min-height:48px}
.pt-pform input:disabled{background:#f7f8fb;color:#56608a}
.pt-pform .btn{justify-self:start}
.pt-small{font-size:13px;color:#8e98bd;margin:0}.pt-small a{color:#0b62d6}
.pt-err{background:#fff1f1;border-left:3px solid #d93030;color:#8a1c1c;padding:10px 14px;font-size:14.5px;margin:0 0 12px}
@media (max-width:700px){.pt-pgrid{grid-template-columns:1fr}.pt-pform{padding:16px}.pt-pform .btn{justify-self:stretch;justify-content:center}.pt-msg summary{flex-direction:column;align-items:flex-start;gap:4px}}
.pt-msg .pt-x{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;background:#f3f6fd;color:#56608a;font-size:22px;line-height:1;border-radius:50%;cursor:pointer;display:none}
.pt-msg[open] .pt-x{display:grid;place-items:center}.pt-msg[open] summary{padding-right:56px}
.pt-msg .pt-x:hover{background:#e6ecfa;color:#0c0e12}
.pt-msg{transition:opacity .3s,transform .3s}.pt-msg.gone{opacity:0;transform:translateX(30px)}
.pt-app{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px 44px 16px 16px;margin:0 0 22px;background:#fff;border:1px solid rgba(9,203,245,.5);box-shadow:0 10px 26px rgba(7,16,120,.08)}
.pt-app img{flex:none;border-radius:12px;box-shadow:0 6px 14px rgba(7,16,120,.25)}
.pt-app-b{display:grid;gap:4px;font-size:14.5px;color:#2c3558;line-height:1.5}.pt-app-b b{font-family:var(--font-display);font-size:17px;color:#0c0e12}
.pt-app-b svg{width:18px;height:18px;vertical-align:-3px;color:#0b62d6}.pt-app-b em{font-style:normal;font-weight:600;color:#0c0e12}
.pt-app .ios,.pt-app .and{display:none}.pt-app.m-ios .ios{display:inline}.pt-app.m-and .and{display:inline-block}
.pt-app-go{justify-self:start;margin-top:6px;padding:10px 16px;border:0;background:#0b62d6;color:#fff;font:600 14.5px var(--font-body,inherit);cursor:pointer}
.pt-app-x{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;background:none;font-size:22px;color:#8e98bd;cursor:pointer}
/* Portal-Kopf ohne Foto: ADYGE-Verlauf mit feinem Raster */
.pt-hero{background:radial-gradient(ellipse 60% 90% at 90% 0%,#1b2bd0 0%,rgba(27,43,208,0) 60%),radial-gradient(ellipse 50% 80% at 0% 100%,rgba(9,203,245,.28) 0%,rgba(9,203,245,0) 60%),linear-gradient(160deg,#050c5e 0%,#0a1a8f 55%,#0b3fb0 100%)!important;color:#fff}
.pt-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(159,233,251,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(159,233,251,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 80% 90% at 70% 30%,#000,transparent);mask-image:radial-gradient(ellipse 80% 90% at 70% 30%,#000,transparent);pointer-events:none}
.pt-hero::after{content:"";position:absolute;right:-50px;bottom:-60px;width:320px;height:285px;background:#9fe9fb;-webkit-mask:var(--icon-mask) center/contain no-repeat;mask:var(--icon-mask) center/contain no-repeat;opacity:.08;pointer-events:none}
.pt-hero .pt-name{color:#fff}
.pt-check{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0 0 14px;text-decoration:none;color:#0c0e12;background:linear-gradient(100deg,#eefaf4,#f3fbff);border:1px solid #a9e2c8;box-shadow:0 8px 22px rgba(0,136,90,.08)}
.pt-check.late{background:linear-gradient(100deg,#fff4ea,#fffaf4);border-color:#f2c7a0}
.pt-check-ic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#00885a,#2fd39a);color:#fff}
.pt-check.late .pt-check-ic{background:linear-gradient(145deg,#d0752b,#f0a45c)}
.pt-check-ic svg{width:24px;height:24px}
.pt-check-b{flex:1;display:grid;gap:2px}.pt-check-b small{font-size:13px;font-weight:600;color:#00885a}.pt-check.late small{color:#b0561a}
.pt-check-b b{font-family:var(--font-display);font-size:17px}
.pt-check-go{flex:none;font-weight:600;color:#00885a;font-size:14.5px}.pt-check.late .pt-check-go{color:#b0561a}
@media (max-width:500px){.pt-check{flex-wrap:wrap}.pt-check-go{width:100%;text-align:center;padding:10px;background:#fff;border:1px solid #a9e2c8}}
/* Mitarbeiterportal: Dokument senden */
.pd-up{position:relative;display:grid;gap:12px;margin:8px 0 4px}
.pd-add{display:flex!important;align-items:center;gap:14px;padding:18px;border:2px dashed #9fb6e8;background:#f5f8ff;cursor:pointer;color:#0a0f2c;transition:border-color .2s,background .2s}
.pd-add:hover,.pd-add:focus-within{border-color:#0b62d6;background:#eef3ff}
.pd-add input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pd-add svg{width:34px;height:34px;flex:none;color:#0b62d6}
.pd-add span{display:grid;gap:2px}.pd-add b{font-size:16px;font-weight:600}.pd-add small{font-size:13px;color:#56608a}
/* Ausweis, Aufenthaltstitel, Führerschein: Vorderseite / Rückseite */
.pd-up{position:relative}
.pd-up.zwei>.pd-add{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0;margin:0}
.pd-seiten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pd-seite{position:relative;display:grid;justify-items:center;align-content:center;gap:8px;min-height:150px;padding:16px 10px;border:2px dashed #9fb6e8;background:#f5f8ff;cursor:pointer;text-align:center;overflow:hidden;transition:border-color .2s,background .2s}
.pd-seite:hover,.pd-seite:focus-within{border-color:#0b62d6;background:#eef3ff}
.pd-seite input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pd-seite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.pd-seite img[hidden]{display:none}
.pd-s-nr{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0b62d6;color:#fff;font:700 20px Outfit,sans-serif}
.pd-s-t{position:relative;display:grid;gap:2px}.pd-s-t b{font-size:16px;font-weight:600;color:#0a0f2c}.pd-s-t small{font-size:12.5px;color:#56608a}
.pd-seite.ok{border-style:solid;border-color:#12b76a;background:#ecfdf3}
.pd-seite.ok .pd-s-nr{background:#12b76a;font-size:24px}
.pd-seite.ok .pd-s-t small{color:#067647;font-weight:600}
.pd-seite.busy .pd-s-nr{background:#9fb6e8}
.pd-seite.bad{border-color:#d92d20;background:#fff4f2}
.pd-s-mehr{grid-column:1/-1;justify-self:center;font-size:14px;font-weight:600;color:#0b62d6;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px}
.pd-add.bad{border-color:#d92d20;background:#fff4f3}
.pd-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.pd-thumbs:empty{display:none}
.pd-th{position:relative;aspect-ratio:3/4;background:#e9edf6;overflow:hidden;border:1px solid rgba(7,16,120,.12)}
.pd-th img{width:100%;height:100%;object-fit:contain;display:block}
.pd-th.pdf{display:grid;place-items:center;font:600 13px/1.3 "DM Sans",sans-serif;color:#0b62d6;text-align:center;padding:8px}
.pd-th i{position:absolute;left:6px;bottom:6px;font:600 11px "DM Sans",sans-serif;font-style:normal;background:rgba(10,15,44,.78);color:#fff;padding:2px 6px}
.pd-th button{position:absolute;top:5px;right:5px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(10,15,44,.8);color:#fff;font-size:17px;line-height:1;cursor:pointer;display:grid;place-items:center}
.pd-th.busy::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%230b62d6' stroke-width='3' stroke-dasharray='40 20'/%3E%3C/svg%3E") center/26px no-repeat}
.pd-need{position:absolute;left:18px;top:18px;width:1px;height:1px;opacity:0;border:0;padding:0;pointer-events:none}
.pd-add[hidden]{display:none!important}
/* Mitarbeiterportal: Telefon mit Ländervorwahl */
.tel-in{display:flex!important;gap:6px;align-items:stretch;width:100%}
.tel-in select{flex:0 0 96px!important;width:96px!important;min-width:0;font:inherit;font-size:15px;padding:0 8px;border:1px solid rgba(7,16,120,.14);background:#f6f8fc;color:#0a0f2c;text-overflow:ellipsis;margin:0}
.tel-in input{flex:1 1 auto!important;min-width:0;width:auto!important;margin:0}
/* Mitarbeiterportal: Dokument angefordert */
.pt-anf{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;margin:0 0 14px;background:#fff;border:1px solid rgba(11,98,214,.25);border-left:4px solid #0b62d6;box-shadow:0 6px 18px rgba(7,16,120,.07)}
.pt-anf.late{border-left-color:#d92d20}
.pt-anf.dringend{border-color:rgba(217,45,32,.35);border-left-color:#d92d20;background:#fff8f7}
.pt-anf.dringend .pt-anf-b small{color:#d92d20}
.pt-anf-b em{justify-self:start;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#d92d20;padding:2px 8px;border-radius:999px}
.pt-anf-ic{width:44px;height:44px;border-radius:50%;background:#eef3ff;color:#0b62d6;display:grid;place-items:center}.pt-anf-ic svg{width:24px;height:24px}
.pt-anf-b{display:grid;gap:3px;min-width:0}.pt-anf-b small{font-size:12.5px;color:#0b62d6;font-weight:600;letter-spacing:.02em}.pt-anf.late .pt-anf-b small{color:#d92d20}
.pt-anf-b b{font:600 17px/1.3 Outfit,sans-serif;color:#0a0f2c}.pt-anf-b span{font-size:14px;color:#56608a;line-height:1.45}
.pt-anf-go{font:600 15px "DM Sans",sans-serif;padding:12px 16px;border:0;background:#0b62d6;color:#fff;cursor:pointer;white-space:nowrap}
.pt-anf-go:hover{background:#0a52b3}
@media(max-width:640px){.pt-anf{grid-template-columns:auto 1fr}.pt-anf-go{grid-column:1/-1;width:100%;padding:14px}}
/* Mitarbeiterportal: von uns per E-Mail erhalten */
.pt-zu{margin:0 0 22px}
.pt-zu ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pt-zu li{display:grid;gap:3px;padding:14px 16px;background:#fff;border:1px solid var(--line,#dfe4f0);border-left:4px solid #00a870}
.pt-zu b{font:600 16px/1.3 Outfit,sans-serif;color:#0a0f2c}.pt-zu span{font-size:14px;color:#56608a;line-height:1.45}
/* Portal-Kopf: dunkleres ADYGE-Blau, Wasserzeichen vollständig sichtbar */
.pt-hero{background:radial-gradient(ellipse 55% 85% at 88% 10%,rgba(27,43,208,.55) 0%,rgba(27,43,208,0) 65%),radial-gradient(ellipse 45% 70% at 0% 100%,rgba(9,203,245,.14) 0%,rgba(9,203,245,0) 60%),linear-gradient(160deg,#050816 0%,#060d4a 50%,#071078 100%)!important}
.pt-hero::after{left:auto!important;top:auto!important;right:max(24px,6vw);bottom:50%;transform:translateY(50%);width:230px;height:205px;opacity:.07}
@media (max-width:640px){.pt-hero::after{right:18px;top:22px!important;bottom:auto;transform:none;width:96px;height:86px;opacity:.09}}
/* Wasserzeichen groß und bewusst angeschnitten, linke Seite */
.pt-hero{overflow:hidden}
.pt-hero::after{left:-90px!important;right:auto!important;top:-12%!important;bottom:auto!important;transform:none!important;height:135%!important;width:auto!important;aspect-ratio:320/285;background:#4d8dff!important;opacity:.13!important}
@media (max-width:640px){.pt-hero::after{left:-70px!important;top:-6%!important;height:112%!important;opacity:.11!important}}
/* Footer: dezenter Zugang zum Mitarbeiterportal */
.foot2-links a.foot-portal{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border:1px solid rgba(255,255,255,.16);border-radius:20px;transition:border-color .2s,background .2s}
.foot2-links a.foot-portal:hover{border-color:#09cbf5;background:rgba(9,203,245,.08)}
.foot2-links a.foot-portal img{width:22px;height:22px;border-radius:6px;display:block}
/* Mobiles Menü: Mitarbeiterportal wie im Footer */
.header .nav .nav-extra a.nav-portal{display:inline-flex;align-items:center;gap:10px;justify-self:start;margin-top:6px;padding:6px 16px 6px 6px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:22px;font-size:15px}
.header .nav .nav-extra a.nav-portal img{width:26px;height:26px;border-radius:7px;display:block}
/* Geburtstag: Glückwunsch statt Tagesspruch + Konfetti über die ganze Seite */
.pt-motto.bday{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;background:linear-gradient(120deg,rgba(255,209,102,.24),rgba(255,122,168,.16) 60%,rgba(9,203,245,.14));border-left-color:#ffd166;max-width:620px}
.pt-motto.bday b{display:block;font-family:var(--font-display);font-size:22px;line-height:1.2;color:#fff;margin-bottom:4px}
.pt-motto.bday span span{color:#e6f6ff}
.pt-bday-ic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffd166,#ff7aa8);color:#071078;box-shadow:0 10px 24px rgba(255,122,168,.35)}
.pt-bday-ic svg{width:24px;height:24px}
.pt-konfetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden;transition:opacity .8s}
.pt-konfetti.aus{opacity:0}
.pt-konfetti i{position:absolute;top:-24px;width:9px;height:14px;border-radius:2px;opacity:.95;animation-name:ptKonf;animation-timing-function:cubic-bezier(.25,.6,.45,1);animation-fill-mode:forwards;will-change:transform}
@keyframes ptKonf{0%{transform:translate3d(0,-4vh,0) rotate(0)}100%{transform:translate3d(var(--dx,0),110vh,0) rotate(var(--rot,360deg))}}
@media (prefers-reduced-motion:reduce){.pt-konfetti{display:none}}
/* Branchen-Kacheln: lange Wörter (z. B. "Pharmaceuticals") laufen nicht über den Rand */
.ind-grid>.ind{min-width:0}
.ind strong{min-width:0;overflow-wrap:break-word}
@media (max-width:900px){.ind-grid,#branchen .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){#branchen .ind{padding:11px 10px;gap:8px}#branchen .ind strong{font-size:13.5px}}
/* ---- Nachweise für Kunden und Lieferanten ---- */
.nw-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.nw-head p{color:var(--text-2);font-size:16.5px;max-width:60ch;margin:0}
.nw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.nw-card{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid rgba(7,16,120,.1);padding:24px 24px 20px;box-shadow:0 10px 30px rgba(7,16,120,.06);transition:box-shadow .3s,transform .3s,border-color .3s}
.nw-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#071078,#0b62d6 55%,#09cbf5)}
.nw-card:hover{box-shadow:0 18px 40px rgba(7,16,120,.12);transform:translateY(-2px);border-color:rgba(11,98,214,.3)}
.nw-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.nw-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#071078,#0b62d6 60%,#09cbf5);color:#fff;flex:none}
.nw-ic svg{width:24px;height:24px}
.nw-bis{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#0b6b42;background:#e7f8ef;border:1px solid #bfe8d2;padding:5px 11px;border-radius:999px}
.nw-bis::before{content:"";width:7px;height:7px;border-radius:50%;background:#00a870}
.nw-bis.bald{color:#7a5600;background:#fff5dd;border-color:#f0dca6}.nw-bis.bald::before{background:#e0a100}
.nw-card h3{font-family:var(--font-display);font-size:19px;line-height:1.3;margin:0;color:var(--text)}
.nw-norm{font-size:13.5px;font-weight:600;color:#0b62d6;margin:0}
.nw-txt{font-size:15px;color:var(--text-2);line-height:1.55;margin:0;flex:1}
.nw-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;padding-top:14px;border-top:1px solid rgba(7,16,120,.08)}
.nw-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:#fff;background:linear-gradient(100deg,#071078,#0b62d6);padding:10px 16px;text-decoration:none;transition:box-shadow .3s}
.nw-btn:hover{box-shadow:0 8px 20px rgba(11,98,214,.3)}
.nw-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#0b62d6;text-decoration:none}
.nw-link:hover{text-decoration:underline}
.nw-frage{margin-top:28px;color:var(--text-2);font-size:15px}
.nw-leer{color:var(--text-2);font-size:16px}
@media (max-width:600px){.nw-grid{grid-template-columns:1fr}.nw-card{padding:20px 18px 18px}.nw-head .btn{width:100%;justify-content:center}}
.info-box.warn{background:#fff4f2;border-left-color:#d92d20}
.pt-tile[data-pt="unfall"] svg{color:#d92d20}
.pm-verl{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font:600 13.5px "DM Sans",sans-serif;color:#0b62d6;background:#eef3ff;border:1px solid #d6e2ff;border-radius:999px;padding:6px 12px;cursor:pointer}
.pm-verl:hover{background:#e2ebff}
.info-box.warn::before{content:"!";background:#d92d20}.info-box.warn p{color:#6e1d1d}
/* Nachweise: gleich hohe Karten, Knöpfe immer unten und gleich groß */
.nw-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch}
.nw-card{height:100%;padding:26px 24px 22px}
.nw-card h3{min-height:2.6em}
.nw-norm{min-height:2.7em}
.nw-act{display:grid;gap:10px;margin-top:auto;padding-top:16px}
.nw-btn,.nw-sek{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;font:600 14.5px var(--font-body,inherit);text-decoration:none;border-radius:0;transition:background .2s,border-color .2s,box-shadow .2s}
.nw-btn{width:100%}
.nw-zwei{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nw-zwei.eins{grid-template-columns:1fr}
.nw-sek{border:1px solid rgba(7,16,120,.16);color:#0b62d6;background:#fff}
.nw-sek:hover{border-color:#0b62d6;background:#f3f6fd}
.nw-sek svg,.nw-btn svg{flex:none}
.nw-txt{flex:1}
.nw-sek{white-space:nowrap;padding:0 10px;font-size:14px}
.nw-zip{width:auto;padding:0 22px}
@media (max-width:600px){.nw-zip{width:100%}}
.nw-fuer{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0b4fc0;background:#eef3ff;border:1px solid #dbe5ff;border-radius:999px;padding:4px 10px}
.nw-fuer.nu{color:#7a4a00;background:#fff5e6;border-color:#f3dcb4}
.nw-act .nw-sek{width:100%}
.nw-card h3,.nw-norm{min-height:0}
/* Nachweise: immer symmetrisch – letzte Reihe mittig, 4 Karten als 2×2 */
.nw-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;--nw-cols:3}
.nw-grid>.nw-card{flex:0 0 calc((100% - (var(--nw-cols) - 1) * 18px) / var(--nw-cols));max-width:calc((100% - (var(--nw-cols) - 1) * 18px) / var(--nw-cols));height:auto}
.nw-grid[style*="--nw-cols:1"]>.nw-card{max-width:440px;flex-basis:440px}
.nw-grid[style*="--nw-cols:2"]{max-width:880px;margin-left:auto;margin-right:auto}
@media (max-width:1000px){.nw-grid>.nw-card{flex-basis:calc(50% - 9px);max-width:calc(50% - 9px)}}
@media (max-width:640px){.nw-grid>.nw-card,.nw-grid[style*="--nw-cols:1"]>.nw-card{flex-basis:100%;max-width:100%}}
/* ===== Flüssig statt ruckelig: Dauer-Animationen, die jedes Bild neu malen, abgeschaltet ===== */
.header::before,.header::after,#intro::after,.iv-c #intro::before,.rl-chip::before,.why-i::before{animation:none!important}
.header .hdr-cta{animation:none!important}
.shine-txt{animation:none!important}
#intro .stage::before{display:none!important}               /* Glanz-Streifen mit Mischmodus */
#intro .mark{filter:none!important}                         /* Schatten-Filter während der Wisch-Animation */
.sdot i{width:100%!important;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.sdot.on i{animation:sbarT 6.5s linear forwards!important}
@keyframes sbarT{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-photo .slide{will-change:opacity,transform;backface-visibility:hidden}
.anim-off,.anim-off *,.anim-off *::before,.anim-off *::after{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.hero-photo .slide{transition:opacity .6s ease!important;transform:none!important}}
/* Intro-Logo nur mit Transform/Deckkraft animieren: läuft auf der Grafikkarte weiter, auch wenn der Browser gerade die Seite aufbaut */
#intro .mark{animation:markPop .9s cubic-bezier(.16,.84,.3,1) .12s both!important;will-change:transform,opacity}
@keyframes markPop{0%{opacity:0;transform:translateY(14%) scale(.9)}100%{opacity:1;transform:none}}
/* ===== Portal: kompakter, symmetrisch, schlanke Kopfzeile ===== */
body:has(#portal) .tb-claim,body:has(#portal) .tb-right>a,body:has(#portal) #nav,body:has(#portal) .hdr-cta,body:has(#portal) #menu-btn{display:none!important}
body:has(#portal) .topbar .wrap{justify-content:flex-end}
.pt-hero .wrap{padding-block:clamp(26px,4vw,48px) clamp(26px,4vw,44px)!important;gap:0!important}
.pt-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;max-width:560px}
.pt-links a{justify-content:center;flex:none!important}
.pt-links .pt-admin{grid-column:1/-1;background:linear-gradient(90deg,rgba(9,203,245,.26),rgba(27,43,208,.36))!important;border-color:rgba(9,203,245,.6)!important;font-weight:700}
.pt-links .pt-out{grid-column:1/-1;justify-self:center;background:none!important;border:0!important;padding:6px 10px!important;font-size:14px;color:#c9d3f5!important;opacity:.9}
.pt-links .pt-out svg{width:16px;height:16px;color:#c9d3f5}
.pt-help{position:absolute;top:clamp(20px,3vw,40px);right:max(16px,3vw);z-index:3;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px 0 10px;border-radius:20px;border:1px solid rgba(159,233,251,.45);background:rgba(9,203,245,.16);color:#fff;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;max-width:180px;transition:max-width .45s cubic-bezier(.2,.7,.2,1),padding .45s,background .2s;animation:helpIn .5s cubic-bezier(.2,.7,.2,1) .6s both}
.pt-help svg{width:20px;height:20px;flex:none;color:#9fe9fb}
.pt-help.klein{max-width:40px;padding:0 9px;gap:0}
.pt-help.klein span{opacity:0}
.pt-help span{transition:opacity .25s}
@media (hover:hover){.pt-help:hover{background:rgba(9,203,245,.28)}}
@keyframes helpIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .pt-greet{font-size:16px!important;margin:0!important}
  .pt-name{font-size:clamp(26px,7.4vw,34px)!important;padding-right:52px}
  .pt-date{font-size:13px!important;margin-top:6px!important}
  .pt-motto{margin-top:12px!important;font-size:14px!important;padding:8px 12px!important}
  .pt-links{gap:8px;margin-top:16px}
  .pt-links a{font-size:14px!important;padding:10px 8px!important}
  .pt-help{top:18px}
  #portal{padding-top:22px!important}
  .pt-h{margin-top:4px}
}
/* Stundenzettel: KW-Auswahl + Freitext darunter */
#pst-kw{width:100%}
#pst-zeit:not([hidden]){margin-top:8px}
/* Meine Anträge: ausblenden / wegwischen */
.pm-head{flex-wrap:wrap}
.pm-alle{margin-left:auto;font-size:14px;font-weight:600;color:#0b62d6;text-decoration:none}
.pm-alle:hover{text-decoration:underline}
.pm-tipp{font-size:13px;color:#8e98bd;margin:-6px 0 10px}
li.pm{position:relative;touch-action:pan-y}
.pm-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#a3acc9;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center}
.pm-x:hover{background:#eef1f8;color:#56608a}
li.pm.weg-ok .pm-t{padding-right:28px}
.pm-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0c0e12;color:#e8ecf8;font-size:14px;border-radius:10px}
.pm-undo button{border:0;background:none;color:#7fe3fb;font:inherit;font-weight:700;cursor:pointer;padding:6px 4px}
li.pm.pm-neu{animation:pmNeu 1.8s ease-out}
@keyframes pmNeu{0%{box-shadow:0 0 0 3px #09cbf5}100%{box-shadow:0 0 0 0 rgba(9,203,245,0)}}
/* Sicherheits-Checks zusammengefasst */
.pt-checks{margin:0 0 14px;border:1px solid #a9e2c8;background:linear-gradient(100deg,#eafaf2,#f6fdf9)}
.pt-checks.late{border-color:#f2c7a0;background:linear-gradient(100deg,#fff4ea,#fffaf4)}
.pt-checks>summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.pt-checks>summary::-webkit-details-marker{display:none}
.pt-checks.late .pt-check-ic{background:linear-gradient(145deg,#d0752b,#f0a45c)}
.pt-checks.late .pt-check-b small{color:#b0561a}
.pt-checks-go{flex:none;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#00885a;font-size:14.5px}
.pt-checks.late .pt-checks-go{color:#b0561a}
.pt-checks-go::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.pt-checks[open] .pt-checks-go::after{transform:rotate(225deg) translateY(-2px)}
.pt-checks-l{padding:0 12px 12px;display:grid;gap:8px}
.pt-checks-l .pt-check{margin:0;padding:12px 14px;background:#fff}
.pt-checks-l .pt-check-ic{width:36px;height:36px}.pt-checks-l .pt-check-ic svg{width:19px;height:19px}
.pt-checks-l .pt-check-b b{font-size:15.5px}
@media (max-width:500px){.pt-checks-l .pt-check{flex-wrap:nowrap}.pt-checks-l .pt-check-go{width:auto;padding:0;background:none;border:0}}
.pt-checks-l .pt-check-b small{display:none}
.pt-checks-l .pt-check.late .pt-check-b b::after{content:"überfällig";margin-left:8px;color:#b0561a;font-size:13px;font-weight:600}
html[lang=en] .pt-checks-l .pt-check.late .pt-check-b b::after{content:" · overdue"}
/* Portal: Abmelden oben rechts in der Kopfleiste (erst mit Text, dann nur Symbol) */
.pt-logout{display:none}
body:has(#portal) .pt-logout{display:inline-flex;align-items:center;gap:8px;height:40px;margin-left:auto;padding:0 16px 0 12px;border-radius:20px;border:1px solid rgba(255,138,128,.55);background:rgba(255,99,88,.12);color:#ffd6d2;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;max-width:160px;transition:max-width .45s cubic-bezier(.2,.7,.2,1),padding .45s,background .2s,border-color .2s}
body:has(#portal) .pt-logout svg{width:19px;height:19px;flex:none;color:#ff9d94}
body:has(#portal) .pt-logout span{transition:opacity .25s}
body:has(#portal) .pt-logout.klein{max-width:40px;padding:0 10px;gap:0}
body:has(#portal) .pt-logout.klein span{opacity:0}
@media (hover:hover){body:has(#portal) .pt-logout:hover{background:rgba(255,99,88,.24);border-color:#ff8a80;max-width:160px;padding:0 16px 0 12px;gap:8px}}
@media (hover:hover){body:has(#portal) .pt-logout:hover span{opacity:1}}
/* Portal: Eintippen, was man machen möchte */
.pt-such{position:relative;margin:0 0 16px}
.pt-such svg{position:absolute;left:16px;top:27px;transform:translateY(-50%);width:20px;height:20px;color:#0b62d6;pointer-events:none}
.pt-such input{width:100%;height:54px;box-sizing:border-box;padding:0 16px 0 48px;border:1.5px solid #d6deef;border-radius:14px;background:#fff;font:500 16px "DM Sans",sans-serif;color:#0a0f2c;box-shadow:0 6px 18px rgba(7,16,120,.05);transition:border-color .2s,box-shadow .2s}
.pt-such input::placeholder{color:#8e98bd}
.pt-such input:focus{outline:none;border-color:#0b62d6;box-shadow:0 0 0 4px rgba(11,98,214,.14)}
.pt-such-h{margin:8px 4px 0;font-size:13.5px;color:#56608a}
.pt-tile.pt-best{border-color:#0b62d6!important;box-shadow:0 0 0 3px rgba(11,98,214,.18)}
.pt-tiles .pt-tile[hidden]{display:none!important}

body:has(#portal) .pt-logout{flex:none;will-change:max-width}
/* Portal-Formulare: Auswahlknöpfe als gleichmäßiges Raster (symmetrisch am PC und am Handy) */
#pt-form .chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
#pt-form .chip,#pt-form .chip span{width:100%;box-sizing:border-box;min-width:0}
#pt-form .chip span{overflow-wrap:break-word;hyphens:auto}
#pt-form .chips{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
#pt-form .chip span{min-height:48px;height:100%}
#pt-form .grid2>.chips{grid-column:1/-1}
@media (max-width:560px){#pt-form .chips{grid-template-columns:repeat(2,minmax(0,1fr))}#pt-form .chip span{font-size:14px;padding:10px 12px}}
@media (max-width:380px){#pt-form .chips{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
  #pt-form fieldset[data-pt="besch"] > .chips,#pt-form fieldset[data-pt="dok"] > .chips,#pt-form fieldset[data-pt="unfall"] .chips:first-of-type{grid-template-columns:minmax(0,1fr)}
  #pt-form .pb-deliv .chips{grid-template-columns:repeat(3,minmax(0,1fr))}#pt-form .pb-deliv .chip span{padding:10px 8px;font-size:13.5px}
}

.bt-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border:1.5px solid #d6deef;border-radius:999px;background:#fff;color:#0b3fa8;font:600 14.5px "DM Sans",sans-serif;text-decoration:none;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.bt-pill svg{width:17px;height:17px;flex:none}.bt-pill:active{background:#eef3ff}
@media (hover:hover){.bt-pill:hover{background:#f3f6ff;border-color:#b9c7ea;text-decoration:none}}
.lg-mehr{margin:4px 0 16px}.lg-back .bt-pill,.lg-mehr .bt-pill{text-decoration:none}
.pm-alle.bt-pill{min-height:36px;padding:0 14px;font-size:13.5px}

.pt-push,.kt-push{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px 44px 16px 16px;margin:0 0 22px;background:#fff;border:1px solid rgba(9,203,245,.5);border-radius:16px;box-shadow:0 10px 26px rgba(7,16,120,.08)}
.kt-push{padding:16px;margin:18px 0}
.pt-push-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1b4fd8,#09cbf5);color:#fff}.pt-push-ic svg{width:24px;height:24px}
.pt-push-b{display:grid;gap:4px;font-size:14.5px;color:#2c3558;line-height:1.5}.pt-push-b b{font-size:17px;color:#0c0e12}
.pt-push-go{justify-self:start;margin-top:8px;min-height:42px;padding:0 20px;border:0;border-radius:999px;background:#0b62d6;color:#fff;font:600 14.5px "DM Sans",sans-serif;cursor:pointer}
.kt-push .pt-push-go{background:#fff;color:#0b3fa8;border:1.5px solid #d6deef}
.pt-push-go:disabled{opacity:.6}.pt-push.ok{border-color:#12b76a}.pt-push.ok .pt-push-ic{background:linear-gradient(145deg,#079455,#12b76a)}
.pt-push-x{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;background:none;font-size:22px;color:#8e98bd;cursor:pointer}
.pt-app{border-radius:16px}.pt-app-go{border-radius:999px;min-height:42px;padding:0 20px;margin-top:8px}
.pt-push-ic{width:52px;height:52px}
.pt-news-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.pt-news-h .pt-h2{margin-bottom:0}.pt-news-h+.pt-msg{margin-top:12px}
.pt-l{position:relative}.pt-l-n{position:absolute;top:6px;right:8px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#09cbf5;color:#071078;font:700 12px/20px "DM Sans",sans-serif;font-style:normal;text-align:center}

/* Mitteilungen: Karte (fett Überschrift + kurzer Text), antippen = große Ansicht */
.pt-msg{border-radius:16px;overflow:hidden}.pt-msg.neu::before{width:4px}
.pt-msg-a{display:flex;align-items:center;gap:12px;padding:15px 16px 15px 18px;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
.pt-msg:has(.pt-x) .pt-msg-a{padding-right:52px}
.pt-msg-b{display:grid;gap:3px;min-width:0;flex:1}
.pt-msg-top{display:flex;align-items:center;gap:8px}.pt-msg-top small{font-size:12.5px;color:#8e98bd}
.pt-msg-top em{font-style:normal;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:10px;background:#09cbf5;color:#071078}
.pt-msg-b>b{font-family:var(--font-display,"Outfit",sans-serif);font-size:17.5px;font-weight:700;color:#0c0e12;line-height:1.3}
.pt-msg-k{font-size:15px;color:#2c3558;line-height:1.5}
.pt-msg-go{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3ff;color:#0b62d6}.pt-msg-go svg{width:18px;height:18px}
.pt-msg .pt-x{display:grid;place-items:center;top:50%;margin-top:-17px;right:10px}
.pt-msg:has(.pt-x) .pt-msg-go{display:none}
@media (hover:hover){.pt-msg-a:hover .pt-msg-go{background:#0b62d6;color:#fff}.pt-msg-a:hover{background:#fafcff}}
.pt-msg-a:active{background:#f3f7ff}
.err-box .err-code{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #f5c2c2;font-size:13px;color:#7a1c1f}.err-box .err-code b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;letter-spacing:.04em;background:#fff;border:1px solid #f0b7b7;padding:1px 6px;border-radius:5px}.err-box .err-code a{color:#a4161a;font-weight:600}

.err-box .err-hint{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #f5c2c2;font-size:13.5px;color:#7a1c1f}
.err-box small.err-code{display:block;margin:6px 0 0;padding:0;border:0;font-size:11.5px;color:#b98a8c;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}
/* Fenster „Mitteilungen aktivieren“ */
.pp-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(5,8,40,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:ppIn .25s ease-out}
.pp-modal[hidden]{display:none}html.pp-offen{overflow:hidden}
@keyframes ppIn{from{opacity:0}to{opacity:1}}@keyframes ppUp{from{transform:translateY(40px)}to{transform:none}}
.pp-box{width:100%;max-width:420px;padding:28px 22px calc(18px + env(safe-area-inset-bottom));border-radius:26px;background:#fff;text-align:center;box-shadow:0 30px 70px rgba(2,6,40,.45);animation:ppUp .3s cubic-bezier(.2,.8,.2,1)}
.pp-ic{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:22px;background:linear-gradient(145deg,#1b4fd8,#09cbf5);color:#fff;box-shadow:0 14px 30px rgba(11,98,214,.35)}.pp-ic svg{width:36px;height:36px}
.pp-box h2{margin:0 0 10px;font:800 24px/1.2 var(--font-display,"Outfit",sans-serif);color:#0a0f2c}
.pp-box p{margin:0 0 20px;font-size:16px;line-height:1.55;color:#2c3558}
.pp-go,.pp-ok{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,#0b62d6,#09a5e8);color:#fff;font:700 17px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 10px 24px rgba(11,98,214,.3)}
.pp-spaeter{margin-top:8px;width:100%;min-height:46px;border:0;background:none;color:#56608a;font:600 15px "DM Sans",sans-serif;cursor:pointer}
.pp-ios ol{margin:0 0 20px;padding:0;list-style:none;counter-reset:pp;text-align:left;display:grid;gap:10px}
.pp-ios li{counter-increment:pp;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#f3f6fd;font-size:15.5px;color:#1c2447}
.pp-ios li::before{content:counter(pp);flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0b62d6;color:#fff;font-weight:700;font-size:14px}
.pp-ios li svg{width:20px;height:20px;vertical-align:-4px;color:#0b62d6}
@media (min-width:700px){.pp-modal{align-items:center}}

/* Leistungskatalog (PDF) auf Leistungen und Nachweise */
html:not([lang=en]) .nur-en,html[lang=en] .nur-de{display:none!important}
.kat-band{display:grid;grid-template-columns:minmax(180px,250px) 1fr;gap:clamp(24px,4vw,48px);align-items:center;background:linear-gradient(135deg,#0c0e12,#121a3a 60%,#0b2a6e);color:#e9eefc;padding:clamp(22px,4vw,40px);position:relative;overflow:hidden;margin-bottom:34px}
.kat-band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#09cbf5,#0b62d6 55%,#071078)}
.kat-cover{display:block;box-shadow:0 18px 40px rgba(0,0,0,.45);transform:rotate(-2deg);transition:transform .3s}
.kat-cover:hover{transform:rotate(0) translateY(-3px)}
.kat-cover img{display:block;width:100%;height:auto}
.kat-txt{display:grid;gap:12px;align-content:center}
.kat-txt .eyebrow{color:#09cbf5}
.kat-txt h2{font-size:clamp(24px,3vw,34px);color:#fff}
.kat-txt p{color:#c3cbe6;font-size:16px;max-width:52ch}
.kat-pkt{list-style:none;margin:2px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kat-pkt li{font-size:13px;font-weight:600;color:#dbe4ff;border:1px solid rgba(9,203,245,.4);padding:5px 11px;border-radius:999px}
.kat-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.kat-btns .nw-btn{width:auto;padding:0 20px;background:linear-gradient(100deg,#0b62d6,#09a6e0)}
.kat-btns .nw-sek{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.kat-btns .nw-sek:hover{background:rgba(255,255,255,.08);border-color:#09cbf5}
.kat-sec{padding-block:clamp(48px,7vw,80px)}
.kat-sec .kat-band{margin:0}
@media (max-width:700px){.kat-band{grid-template-columns:1fr}.kat-cover{max-width:220px;margin:0 auto}.kat-btns a{flex:1 1 100%}}

/* Startseite: Katalog-Banner über die ganze Breite */
.kat-banner{position:relative;overflow:hidden;background:#0c0e12;color:#e9eefc;border-top:1px solid rgba(9,203,245,.25)}
.kat-banner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#09cbf5,#0b62d6 55%,#071078);z-index:2}
.kb-bg{position:absolute;inset:0;background:url(img/katalog-band.jpg?v=2610191706) center 60%/cover no-repeat}
.kb-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,18,.96) 0%,rgba(12,14,18,.86) 45%,rgba(12,14,18,.35) 100%)}
.kb-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(56px,7vw,96px)}
.kb-txt{display:grid;gap:16px;max-width:640px}
.kb-txt h2{font-size:clamp(28px,3.6vw,46px);color:#fff;line-height:1.1}
.kb-txt h2 em{font-style:normal;color:#09cbf5;display:block}
.kb-txt p{color:#c3cbe6;font-size:17px;max-width:54ch}
.kb-cover{display:block}
.kb-cover:hover img{transform:rotate(1deg) translateY(-4px)}
.kb-cover img{display:block;width:100%;height:auto;transform:rotate(4deg);box-shadow:0 26px 60px rgba(0,0,0,.65),0 0 0 1px rgba(9,203,245,.3);transition:transform .35s}
.kat-banner .kat-btns .nw-btn{padding:0 24px;min-height:52px;font-size:15.5px}
.kat-banner .kat-btns .nw-sek{min-height:52px}
@media (max-width:800px){.kb-in{grid-template-columns:1fr}.kb-cover{max-width:210px;margin:0 auto;grid-row:1}.kb-cover img{transform:rotate(-2deg)}.kb-bg::after{background:linear-gradient(180deg,rgba(12,14,18,.7),rgba(12,14,18,.95))}.kat-banner .kat-btns a{flex:1 1 100%}}
/* Katalog: ohne Farbverlauf-Rand links, ohne Linie zum Projekt-Band darunter */
.kat-banner::before,.kat-band::before{display:none}
.kat-banner + .cta-band::before{display:none}

/* Oben in der schmalen Leiste: Nachweise & Katalog */
.tb-right > a.tb-nw{font-weight:600;color:#fff;padding:3px 10px 3px 8px;border:1px solid rgba(9,203,245,.45);border-radius:999px;line-height:1.2}
.tb-right > a.tb-nw:hover{background:rgba(9,203,245,.12);color:#fff;border-color:#09cbf5}
@media (max-width:960px){.tb-right > a.tb-nw{display:none}}
.nav-extra a.nav-nw{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#0b62d6!important}
.nav-extra a.nav-nw svg{width:18px;height:18px}

/* Einführung: kleines ? oben rechts in der Kopfzeile neben „Abmelden“ */
.pt-kopfhilfe{display:none}
body:has(#portal) .pt-kopfhilfe{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;margin-left:auto;border-radius:50%;border:1px solid rgba(159,233,251,.35);background:rgba(255,255,255,.06);color:#9fe9fb;text-decoration:none}
body:has(#portal) .pt-kopfhilfe svg{width:19px;height:19px}
body:has(#portal) .pt-kopfhilfe + .pt-logout{margin-left:10px}
@media (hover:hover){body:has(#portal) .pt-kopfhilfe:hover{background:rgba(9,203,245,.22);border-color:#09cbf5}}
@media (max-width:640px){.pt-name{padding-right:0!important}}

/* ===== Mitarbeiterportal im neuen Look („Klinge“, wie die Anmeldung) · Stand 10/2026 ===== */
body:has(#portal){background:#eef2f9}
body:has(#portal) .header,body:has(#portal) .header .mainbar{background:#050c5e!important}
body:has(#portal) .topbar{background:#040944!important;border-bottom-color:rgba(255,255,255,.05)!important}
body:has(#portal) .header::after{height:2px;bottom:-2px;background:linear-gradient(90deg,#071078,#2fe0ff 50%,#071078)}
body:has(#portal) .header.scrolled{box-shadow:0 10px 28px rgba(2,6,40,.35)!important}
/* Kopfbereich: weiße Karte + blaue schräge Seite */
.pt-hero{padding:0!important;background:radial-gradient(ellipse 70% 80% at 85% 0%,#1b2bd0 0%,rgba(27,43,208,0) 60%),radial-gradient(ellipse 60% 70% at 0% 100%,rgba(9,203,245,.22) 0%,rgba(9,203,245,0) 60%),linear-gradient(170deg,#050c5e 0%,#0a1a8f 55%,#0b3fb0 100%)!important}
.pt-hero::before,.pt-hero::after{display:none!important;content:none!important}
.pt-hero .wrap{padding-top:clamp(28px,4vw,48px)!important;padding-bottom:clamp(36px,5vw,64px)!important}
.pt-karte{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:330px;background:#fff;overflow:hidden;box-shadow:0 34px 80px rgba(2,6,40,.45);animation:ptIn .35s ease-out both}
.pt-kf{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:34px 96px 34px 40px;min-width:0}
.pt-karte .pt-links{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important;max-width:none!important}
.pt-karte .pt-links a{position:relative;display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px;padding:12px 40px 12px 14px!important;border:1px solid rgba(7,16,120,.12)!important;background:#f6f8fc!important;color:#0a0f2c!important;font:600 15px "DM Sans",sans-serif!important;text-decoration:none;border-radius:0!important;transition:border-color .2s,background .2s,transform .2s}
.pt-karte .pt-links a::after{content:"›";position:absolute;right:16px;top:50%;transform:translateY(-52%);color:#8e98bd;font:400 24px/1 "DM Sans",sans-serif}
.pt-karte .pt-links a:hover,.pt-karte .pt-links a:focus-visible{border-color:#0b62d6!important;background:#eef3ff!important}
.pt-karte .pt-links a:active{transform:scale(.99)}
.pt-karte .pt-links svg{width:38px!important;height:38px!important;flex:none;padding:9px;border-radius:10px;background:#fff;border:1px solid rgba(7,16,120,.1);color:#0b62d6!important;box-sizing:border-box}
.pt-karte .pt-links em,.pt-karte .pt-links .pt-l-n{font-style:normal;font-size:12px;min-width:22px;height:22px;border-radius:11px;background:#071078;color:#fff;display:inline-grid;place-items:center;padding:0 6px;margin-left:8px;font-weight:700}
.pt-karte .pt-links .pt-admin{grid-column:auto!important;background:linear-gradient(100deg,#071078,#0b62d6 60%,#09a8e6)!important;border-color:transparent!important;color:#fff!important;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.pt-karte .pt-links .pt-admin::after{color:#cfe0ff}
.pt-karte .pt-links .pt-admin svg{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff!important}
.pt-karte .pt-links .pt-admin em{background:#2fe0ff;color:#071078}
.pt-ks{position:relative;z-index:1;margin-left:-72px;margin-right:-2px;clip-path:polygon(72px 0,100% 0,100% 100%,0 100%);display:flex;align-items:center;padding:40px 48px 40px 120px;overflow:hidden;color:#fff;background:linear-gradient(155deg,#050c5e 0%,#071078 45%,#0b3fb0 100%);animation:ptKlinge .95s cubic-bezier(.77,0,.175,1) both}
.pt-ks::before{content:"";position:absolute;left:0;top:0;bottom:0;width:74px;background:linear-gradient(to top right,transparent calc(50% - 1.6px),#2fe0ff 50%,transparent calc(50% + 1.6px))}
.pt-ks-in{position:relative;z-index:1;animation:ptIn .5s .55s ease-out both}
.pt-ks-w{position:absolute;right:-50px;bottom:-60px;width:300px;opacity:.07;pointer-events:none}.pt-ks-w svg{display:block;width:100%;height:auto}
.pt-karte .pt-date{display:flex;align-items:center;gap:10px;margin:0!important;font:600 12px "DM Sans",sans-serif!important;letter-spacing:.16em;text-transform:uppercase;color:#9fb6e8!important}
.pt-karte .pt-date::before{content:"";width:24px;height:2px;background:#2fe0ff;flex:none}
.pt-karte .pt-name{margin:14px 0 0!important;font:600 clamp(32px,3.6vw,46px)/1.06 Outfit,"Segoe UI",sans-serif!important;letter-spacing:-.015em;color:#fff!important;padding:0!important}
.pt-karte .pt-name .pt-greet{display:inline;font:inherit!important;color:#fff!important;margin:0!important}
.pt-karte .pt-name em{font-style:normal;color:#2fe0ff}
.pt-karte .pt-motto{display:block!important;margin:16px 0 0!important;padding:0!important;background:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#c9d6ff!important;font-size:15.5px!important;line-height:1.55;max-width:380px}
.pt-karte .pt-motto.bday{display:flex!important;gap:12px}
.pt-karte .pt-motto.bday b{color:#fff;font-size:20px}
@keyframes ptIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ptKlinge{from{transform:translateX(70%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.pt-karte,.pt-ks,.pt-ks-in{animation:none}}
@media (max-width:760px){
  .pt-hero .wrap{padding-top:14px!important;padding-bottom:26px!important}
  .pt-karte{grid-template-columns:1fr;min-height:0}
  .pt-ks{order:-1;margin:0;clip-path:polygon(0 0,100% 0,100% 82%,0 100%);padding:24px 20px 44px;animation:none}
  .pt-ks::before{display:none}
  .pt-ks-w{width:170px;right:-30px;bottom:-40px}
  .pt-karte .pt-name{font-size:30px!important;margin-top:10px!important}
  .pt-karte .pt-motto{font-size:14px!important;margin-top:10px!important}
  .pt-kf{padding:6px 16px 18px}
  .pt-karte .pt-links{gap:8px!important}
  .pt-karte .pt-links a{padding:10px 38px 10px 12px!important;font-size:15px!important}
}
/* Portal: Inhalt unter dem Kopf */
.pt-kf-k{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 12px "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#56608a}
body:has(#portal) #portal{padding-top:clamp(24px,3vw,40px)!important}
body:has(#portal) .pt-anf-go,body:has(#portal) #pt-form .btn:not(.ghost),body:has(#portal) .sent-close{background:linear-gradient(100deg,#071078,#0b62d6 60%,#09a8e6)!important;background-size:160% 100%!important;border:0!important;color:#fff!important;border-radius:0!important;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:background-position .4s,box-shadow .3s,transform .2s}
body:has(#portal) .pt-anf-go:hover,body:has(#portal) #pt-form .btn:not(.ghost):hover,body:has(#portal) .sent-close:hover{background-position:100% 0!important;box-shadow:0 12px 26px rgba(11,98,214,.3);transform:translateY(-1px)}
body:has(#portal) .pt-anf.dringend .pt-anf-go{background:linear-gradient(100deg,#8f1b12,#d92d20 60%,#f0533f)!important;background-size:160% 100%!important}
body:has(#portal) .pt-anf.dringend .pt-anf-go:hover{background-position:100% 0!important;box-shadow:0 12px 26px rgba(217,45,32,.3)}
body:has(#portal) .bt-pill{background:none!important;border:0!important;border-radius:0!important;padding:4px 0!important;color:#0b62d6!important;font:600 14px "DM Sans",sans-serif!important;box-shadow:none!important;gap:6px}
body:has(#portal) .bt-pill::after{content:none;margin-left:4px;transition:transform .2s}
body:has(#portal) .bt-pill:hover::after{transform:translateX(3px)}
body:has(#portal) .bt-pill svg{display:none}
body:has(#portal) footer{background:#050c5e!important;border-top:0!important}
body:has(#portal) footer .foot-portal{display:none!important}
body:has(#portal) .pt-logout{border-radius:0!important;border-color:rgba(255,255,255,.28)!important;background:transparent!important;color:#fff!important}
body:has(#portal) .pt-logout svg{color:#9fe9fb!important}
@media (hover:hover){body:has(#portal) .pt-logout:hover{background:rgba(255,255,255,.08)!important;border-color:#2fe0ff!important}}
body:has(#portal) .pt-kopfhilfe{border-radius:0!important}
/* Mitarbeiterportal Klinge: Ecken überall gerade */
body:has(#portal) .pt-msg,body:has(#portal) .pm-verl,body:has(#portal) .pt-such input{border-radius:0}
.pm-head .bt-pill span{display:inline;min-width:0;height:auto;padding:0;border-radius:0;background:none;color:inherit;font:inherit}
body:has(#portal) .pt-app{border-radius:0}
body:has(#portal) .tr-card{border-radius:0;border-top:3px solid #09cbf5}
body:has(#portal) .tr-hole{border-radius:0}
body:has(#portal) .tr-b{border-radius:0}
body:has(#portal) .tr-next{background:linear-gradient(100deg,#071078,#0b62d6 60%,#09a8e6);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
body:has(#portal) .tr-card small{display:flex;align-items:center;gap:10px;letter-spacing:.14em}
body:has(#portal) .tr-card small::before{content:"";width:24px;height:2px;background:#09cbf5;flex:none}
body:has(#portal) .tr-next:focus-visible,body:has(#portal) .pt-anf-go:focus-visible,body:has(#portal) #pt-form .btn:not(.ghost):focus-visible,body:has(#portal) .sent-close:focus-visible{outline:2px solid #fff;outline-offset:-6px}
body:has(#portal) .tr-next:focus-visible{outline:0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
/* Mitteilungs-Fenster (Handy) im Klinge-Look */
.pp-box{border-radius:0;border-top:3px solid #09cbf5;text-align:left}
.pp-ic{width:56px;height:56px;margin:0 0 16px;border-radius:0;box-shadow:none;background:linear-gradient(145deg,#071078,#0b62d6 60%,#09cbf5);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.pp-ic svg{width:28px;height:28px}
.pp-box h2{font:600 26px/1.15 "Outfit","DM Sans",sans-serif;letter-spacing:-.01em}
.pp-go,.pp-ok{border-radius:0;box-shadow:none;background:linear-gradient(100deg,#071078,#0b62d6 60%,#09a8e6);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.pp-go:focus-visible,.pp-ok:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.pp-ios li{border-radius:0;background:#f4f6fb;border-left:3px solid #09cbf5}
.pp-ios li::before{border-radius:0;background:#071078}
/* „Anträge bearbeiten“ führt nach ADYGE Personal: petrol wie dort */
.pt-karte .pt-links a.pt-admin,.pt-karte .pt-links a.pt-admin:hover,.pt-karte .pt-links a.pt-admin:focus-visible{background:linear-gradient(100deg,#052e36,#0b5563 55%,#0b8f88)!important;border-color:transparent!important;color:#fff!important}
.pt-karte .pt-links a.pt-admin:hover{filter:brightness(1.1)}
.pt-karte .pt-links a.pt-admin:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.pt-karte .pt-links .pt-admin::after{color:#a7e8e1}
.pt-karte .pt-links .pt-admin em{background:#2dd4bf;color:#052e36}

/* Persönliche Daten ändern: Gruppen, IBAN-Prüfung, Unterschrift mit dem Finger */
.pdd-lead{margin:0 0 2px;font-size:15px;line-height:1.5;color:var(--steel)}
.pdd-gr{display:grid;gap:4px;padding:0 0 12px;border-bottom:1px solid #e3e8f4}
.pdd-gr legend.sub{margin-top:18px;font-weight:600}
.pdd-gr .grid2{margin:0}
#pdd-iban{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.02em;text-transform:uppercase}
#pdd-iban::placeholder{letter-spacing:.03em;color:#b3bdd6}
.pdd-iban-st{margin:-4px 0 2px;min-height:21px;font-size:14px;line-height:1.45;color:#56608a}
.pdd-iban-st.ok{color:#05794f;font-weight:600}
.pdd-iban-st.ok::before{content:"✓";display:inline-block;margin-right:6px}
.pdd-iban-st.bad{color:#b42318}
.pdd-bank-mehr{display:grid;gap:10px;margin-top:2px}
.pdd-bank-mehr[hidden]{display:none}
.pdd-bank-mehr .check{margin-top:2px;font-size:15px;line-height:1.45}
.pdd-need-w{position:relative}
.pdd-leer{margin:12px 0 0;padding:10px 14px;background:#fff4f3;border-left:4px solid #d92d20;color:#6e1d1d;font-size:14.5px}
.pdd-leer[hidden]{display:none}
.pdd-sig{border-bottom:0;padding-bottom:4px}
.pdd-sig .hint{margin:0 0 8px}
.sig-pad{position:relative;height:180px;background:#fff;border:2px dashed #9fb6e8;touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color .2s,background .2s}
.sig-pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;z-index:1}
.sig-pad::after{content:"";position:absolute;left:46px;right:20px;bottom:40px;border-bottom:1.5px solid #c9d3ea;pointer-events:none}
.sig-x{position:absolute;left:20px;bottom:36px;font:500 24px/1 var(--font-display);color:#9fb6e8;pointer-events:none}
.sig-ph{position:absolute;left:0;right:0;top:38%;text-align:center;font-size:15px;color:#98a3c2;pointer-events:none}
.sig-pad.hat{border-style:solid;border-color:#0b62d6}
.sig-pad.hat .sig-ph{display:none}
.sig-pad.bad{border-color:#d92d20;background:#fff8f7}
.sig-pad.bad .sig-ph{color:#b42318}
.sig-neu{position:absolute;right:8px;top:8px;z-index:2;display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1.5px solid #d6deef;background:#fff;color:#0b3fa8;font:600 14px var(--font-body);cursor:pointer}
.sig-neu[hidden]{display:none}
.sig-neu:hover,.sig-neu:focus-visible{border-color:#0b62d6;outline:0}
.pdd-sig-n{margin:8px 0 0;font-size:13.5px;color:var(--steel)}
@media (max-width:560px){.sig-pad{height:160px}.pdd-gr .grid2{grid-template-columns:1fr}}
.sig-pad{max-width:640px}

/* Klartext 18.10.: kein kleiner Text über Überschriften (Kicker/Eyebrow) */
.eyebrow,.n-k,.claim-k,.rl-k,.mg-k,.mp-k,.pt-kf-k,.asm-k{display:none!important}
/* Mitarbeiter-App: Deine Woche (Einsatzplanung) */
.pt-woche{margin:0 0 16px;padding:16px 18px;border:1px solid #cfe6ea;border-radius:16px;background:linear-gradient(160deg,#f2fbfc,#fff)}
.pt-woche .pt-h2{margin:0 0 8px}.pt-woche .pt-h2 small{font-size:13px;font-weight:500;color:#56608a}
.pt-woche ul{list-style:none;margin:0;padding:0}
.pt-woche li{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:8px 0;border-top:1px solid #e4eef1;font-size:15px;color:#0c0e12}
.pt-woche li:first-child{border-top:0}.pt-woche li.heute{font-weight:600}.pt-woche li.heute time{color:#0b7a74}
.pt-woche time{color:#56608a;font-size:14px}
.pt-woche details summary{cursor:pointer;list-style:none}.pt-woche details summary::-webkit-details-marker{display:none}.pt-woche details summary::after{content:" ›";color:#0b7a74}
.pt-woche details p{margin:6px 0 0;font-size:14px;line-height:1.5;color:#3d4a5c}
/* Mitarbeiter-App: vier große Knöpfe oben (Baustelle), darunter alle Anliegen */
.pt-gross{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.pt-qk{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:128px;padding:16px;border:0;border-radius:18px;color:#fff;text-align:left;font:inherit;cursor:pointer;box-shadow:0 10px 24px rgba(6,13,92,.16);transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.pt-qk:active{transform:scale(.97)}.pt-qk:hover{box-shadow:0 14px 30px rgba(6,13,92,.24)}
.pt-qk svg{width:34px;height:34px;color:#fff;stroke-width:1.9}
.pt-qk span{display:grid;gap:3px}.pt-qk strong{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.15;color:#fff}.pt-qk small{font-size:13px;line-height:1.3;color:rgba(255,255,255,.88)}
.pt-qk.rot{background:linear-gradient(150deg,#e5484d,#b4232b)}.pt-qk.gruen{background:linear-gradient(150deg,#14a06b,#0b7a52)}.pt-qk.blau{background:linear-gradient(150deg,#1d6fe0,#0a3fa8)}.pt-qk.orange{background:linear-gradient(150deg,#f08a24,#c25e06)}
.pt-qk.on{outline:3px solid #09cbf5;outline-offset:2px}
.pt-tiles:not(.such) .pt-tile:is([data-pt="krank"],[data-pt="urlaub"],[data-pt="stunden"],[data-pt="unfall"]){display:none}
.pt-woche{margin:0 0 14px}
@media (max-width:860px){
  .pt-gross{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
  .pt-qk{min-height:118px;padding:14px;border-radius:16px}.pt-qk strong{font-size:17.5px}
  .pt-links .pt-l{display:none!important}
  .pt-kf:not(:has(.pt-admin)){display:none!important}
}
@media (max-width:640px){
  #portal .pt-tiles{grid-template-columns:1fr!important;gap:0!important;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
  #portal .pt-tiles .pt-tile{display:grid!important;grid-template-columns:30px 1fr 12px;grid-template-rows:auto auto;column-gap:14px;row-gap:1px!important;align-items:center;min-height:0!important;padding:13px 14px!important;border:0;border-top:1px solid var(--line);background:#fff}
  #portal .pt-tiles .pt-tile:first-child,#portal .pt-tiles:not(.such) .pt-tile[data-pt="dok"]{border-top:0}
  #portal .pt-tiles .pt-tile svg{grid-row:1/3;width:26px!important;height:26px!important}
  #portal .pt-tiles .pt-tile strong{font-size:15.5px!important}
  #portal .pt-tiles .pt-tile span{grid-column:2;font-size:12.5px!important}
  #portal .pt-tiles .pt-tile::after{content:"›";grid-column:3;grid-row:1/3;color:#9aa5c4;font-size:22px;line-height:1}
}
@media (max-width:860px){
  #portal .pt-tiles:not(.such) .pt-tile:is([data-pt="krank"],[data-pt="urlaub"],[data-pt="stunden"],[data-pt="unfall"]){display:none!important}
  .pt-karte:not(:has(.pt-admin)){background:transparent!important;box-shadow:none!important;border:0!important}
  .pt-karte:not(:has(.pt-admin)) .pt-ks{clip-path:none;padding:18px 20px 20px;border-radius:18px}
  .pt-hero .wrap{padding-block:14px 16px!important}
  .pt-karte .pt-name{font-size:28px!important}
  .pt-karte .pt-motto{font-size:13.5px!important;margin-top:6px!important}
}
#portal .pt-tiles:not(.such) .pt-tile:is([data-pt="krank"],[data-pt="urlaub"],[data-pt="stunden"],[data-pt="unfall"]){display:none!important}
.pt-woche .pt-h2{margin:0 0 10px}
.pt-w-heute{display:grid;gap:3px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#e7f8fb,#f3f9ff);border:1px solid #c6ecf3}
.pt-w-heute>span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0e7490}.pt-w-heute b{font-size:17px;line-height:1.3;color:#0c0e12}.pt-w-heute small{font-size:13.5px;line-height:1.45;color:#3d4a5c}
.pt-w-heute.frei{background:#f1faf5;border-color:#cdebd9}
.pt-w-tage{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-top:8px}
.pt-w-tage div{display:grid;gap:1px;padding:7px 8px;border-radius:10px;background:#f4f6fb;font-size:12.5px;line-height:1.3;min-width:0}.pt-w-tage b{font-size:12.5px}.pt-w-tage span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d4a5c}
.pt-w-tage .frei{background:#e9f7f0}.pt-w-tage .frei span{color:#11734b}
@media (max-width:640px){
  .pt-hero .wrap{padding-block:10px 12px!important}
  .pt-karte:not(:has(.pt-admin)) .pt-ks{padding:14px 18px 16px}
  .pt-karte .pt-name{font-size:25px!important;margin-top:6px!important}
  .pt-karte .pt-motto{display:none!important}
  .pt-woche{padding:14px!important}
  .pt-gross{margin-bottom:16px}
}
/* iPhone: Datumsfelder nicht breiter als die Spalte (Safari gibt type=date eine eigene Mindestbreite und zentriert den Wert), leere Felder nicht zusammenfallen lassen */
.fld{grid-template-columns:minmax(0,1fr);min-width:0}
.grid2>*{min-width:0}
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;min-height:48px;box-sizing:border-box;text-align:left;line-height:1.3}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;margin:0;min-height:1.3em}
input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto}
#pt-form .chip span,.chip span{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}
.pk-art{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.pk-art .chip{min-width:0;width:auto}.chip span{min-width:0}
@media (max-width:480px){.pk-art{grid-template-columns:1fr}}
#pt-form .pk-art{grid-template-columns:1fr}
#pt-form .chip span{word-break:break-word;overflow-wrap:anywhere}
/* iPhone zoomt beim Antippen eines Felds automatisch hinein, wenn die Schrift kleiner als 16 px ist – darum am Handy 16 px */
@media (max-width:860px){input,select,textarea{font-size:16px!important}}
#pt-form .chip span{-webkit-hyphens:manual;hyphens:manual}
.pd-fsk{display:grid;gap:6px;margin:2px 0 12px}.pd-fsk[hidden]{display:none}.pd-fsk .hint{margin:0}
.pd-fsk-c .chip{min-width:56px;justify-content:center}
.us-anf .pt-anf-go{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
/* Scroll-Montage */
.asm{position:relative;height:1450vh;background:radial-gradient(ellipse 80% 60% at 60% 45%,#1c2029 0%,#15181e 45%,#0c0e12 80%)}
.asm-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.asm canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.asm-grid{position:absolute;inset:auto 0 0 0;height:45%;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(9,203,245,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(9,203,245,.18) 1px,transparent 1px);background-size:56px 56px;
  transform:perspective(600px) rotateX(62deg);transform-origin:bottom;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 90%);mask-image:linear-gradient(to top,#000 10%,transparent 90%)}
.asm-stick::after{content:"";position:absolute;inset:0 auto 0 0;width:max(640px,calc((100vw - 1240px)/2 + 640px));max-width:70vw;background:linear-gradient(90deg,rgba(12,14,18,.96) 0%,rgba(12,14,18,.9) 55%,rgba(12,14,18,.55) 78%,transparent);pointer-events:none;z-index:1}
.asm-copy{position:absolute;left:max(24px,calc((100vw - 1240px)/2));top:50%;transform:translateY(-50%);width:min(420px,40vw);z-index:2}
.asm-step{position:absolute;left:0;top:0;transform:translateY(-50%) translateY(24px);opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.asm-step.on{opacity:1;transform:translateY(-50%);pointer-events:auto}
.asm-k{display:block;text-shadow:0 1px 10px rgba(12,14,18,.9);font-family:var(--font-mono,monospace);font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan,#09cbf5);margin-bottom:14px}
.asm h2{font-size:clamp(34px,4.4vw,60px);line-height:1.02;color:#fff;margin:0 0 16px;text-shadow:0 2px 24px rgba(12,14,18,.85)}
.asm h2 em{font-style:normal;background:linear-gradient(90deg,#09cbf5,#5b6bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.asm p{font-size:17px;color:#e4e9f8;text-shadow:0 1px 12px rgba(12,14,18,.9);margin:0 0 22px;max-width:36ch}
.asm-rail{position:absolute;right:32px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:20px;z-index:2}
.asm-rail i{display:block;width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(9,203,245,.5);background:#0c0e12;position:relative;z-index:1;transition:background .3s,box-shadow .3s}
.asm-rail i.on{background:#09cbf5;box-shadow:0 0 14px rgba(9,203,245,.8)}
.asm-bar{position:absolute;left:4px;top:5px;bottom:5px;width:2px;background:rgba(9,203,245,.15)}
.asm-bar b{display:block;height:100%;background:#09cbf5;transform-origin:top;transform:scaleY(0)}
.asm-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel,#8e98bd);display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity .4s}
.asm-hint span{width:1px;height:34px;background:linear-gradient(#09cbf5,transparent);animation:asmh 1.6s infinite}
@keyframes asmh{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.asm:has(.asm-step:not(:first-child).on) .asm-hint{opacity:0}
@media (max-width:800px){
  .asm{height:1250vh}
  .asm-copy{top:auto;bottom:calc(28px + env(safe-area-inset-bottom));transform:none;left:20px;right:20px;width:auto}
  .asm-step{top:auto;bottom:0;transform:translateY(20px)}
  .asm-step.on{transform:none}
  .asm h2{font-size:32px;margin-bottom:10px}
  .asm-k{font-size:13px;margin-bottom:10px}
  .asm p{font-size:15px;margin-bottom:14px}
  .asm-rail{right:14px;top:22%;gap:16px;transform:none}
  .asm-copy::before{content:"";position:absolute;inset:-90px -20px calc(-40px - env(safe-area-inset-bottom));background:linear-gradient(rgba(12,14,18,0),rgba(12,14,18,.9) 32%,rgba(12,14,18,.97) 60%);z-index:-1}
  .asm-hint{display:none}
  .asm-stick::after{display:none}
  .asm-rail{opacity:.7}
}

.asm-meta{display:inline-flex;gap:8px;align-items:baseline;font-family:var(--font-mono,monospace);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#b9c3e3;border:1px solid rgba(9,203,245,.45);background:rgba(12,14,18,.85);padding:8px 12px}
.asm-meta i{width:1px;height:14px;background:rgba(9,203,245,.45);align-self:center}
.asm-meta b{color:#fff;font-size:20px;font-weight:500;min-width:3ch;text-align:right;letter-spacing:0}
/* Platz für die feste Kopfzeile der Website */
@media (min-width:801px){.asm-copy,.asm-rail{top:calc(50% + 50px)}}
@media (max-width:800px){.asm-rail{top:calc(18% + 40px)}}
.asm-skip{position:absolute;right:24px;bottom:22px;z-index:3;font-family:var(--font-mono,monospace);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel,#8e98bd);text-decoration:none;border-bottom:1px solid rgba(142,152,189,.4);padding-bottom:2px}
.asm-skip:hover{color:#fff;border-color:#09cbf5}
@media (max-width:800px){.asm-skip{top:114px;bottom:auto;left:16px;right:auto;font-size:10.5px}}
.asm-static .asm-skip{display:none}
/* ohne WebGL / reduzierte Bewegung: alle Schritte als Liste */
.asm-static{height:auto}
.asm-static .asm-stick{position:relative;height:auto;padding:80px 24px}
.asm-static canvas,.asm-static .asm-rail,.asm-static .asm-hint,.asm-static .asm-grid{display:none}
.asm-static .asm-copy{position:static;transform:none;width:auto;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.asm-static .asm-step{position:static;opacity:1;transform:none}
/* scharfe HTML-Beschriftungen im Werk */
.asm-labels{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.asm-labels.live .asm-lbl{pointer-events:auto;cursor:pointer}
.asm-lbl{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;background:rgba(12,14,18,.9);border:1.5px solid #09cbf5;color:#fff;font-family:var(--font-display,Outfit,sans-serif);font-weight:500;font-size:15px;line-height:1;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));opacity:0;will-change:transform,opacity;box-shadow:0 4px 18px rgba(9,203,245,.18)}
.asm-lbl svg{width:18px;height:16px;flex:none}
.asm-lbl i{width:9px;height:9px;border-radius:50%;background:#09cbf5}
@media (max-width:800px){.asm-lbl{font-size:12px;padding:5px 10px 5px 8px;gap:6px}.asm-lbl svg{width:14px;height:13px}}
.asm-static .asm-labels{display:none}
/* Ersatzbild ohne 3D */
.asm-static .asm-stick{background:linear-gradient(rgba(12,14,18,.82),rgba(12,14,18,.92)),url(img/asm-poster.jpg?v=2610191706) center/cover no-repeat}

/* Werk erkunden: anklickbare Leistungspunkte + Info-Karte */
.asm-lbl{appearance:none;-webkit-appearance:none;margin:0;text-align:left;transition:opacity .35s,background .2s,border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.asm-plus{display:none;width:18px;height:18px;margin-left:2px;border-radius:50%;background:#09cbf5;position:relative;flex:none}
.asm-plus::before,.asm-plus::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.8px;background:#0c0e12;transform:translate(-50%,-50%);transition:transform .25s}
.asm-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.asm-labels.live .asm-plus{display:block}
.asm-labels.live .asm-lbl{animation:lblPulse 2.6s ease-in-out infinite}
.asm-labels.live .asm-lbl:hover,.asm-labels.live .asm-lbl:focus-visible,.asm-lbl.sel{background:#09cbf5;color:#0c0e12;border-color:#09cbf5;box-shadow:0 6px 28px rgba(9,203,245,.45);animation:none;outline:none}
.asm-labels.live .asm-lbl:hover .asm-plus,.asm-labels.live .asm-lbl:focus-visible .asm-plus,.asm-lbl.sel .asm-plus{background:#0c0e12}
.asm-labels.live .asm-lbl:hover .asm-plus::before,.asm-labels.live .asm-lbl:hover .asm-plus::after,.asm-labels.live .asm-lbl:focus-visible .asm-plus::before,.asm-labels.live .asm-lbl:focus-visible .asm-plus::after,.asm-lbl.sel .asm-plus::before,.asm-lbl.sel .asm-plus::after{background:#09cbf5}
.asm-lbl.sel .asm-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
@keyframes lblPulse{0%,100%{box-shadow:0 4px 18px rgba(9,203,245,.18)}50%{box-shadow:0 0 0 5px rgba(9,203,245,.16),0 4px 22px rgba(9,203,245,.35)}}
.asm-tip{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-family:var(--font-mono,monospace);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#9fe9fb}
.asm-tip i{width:10px;height:10px;border-radius:50%;background:#09cbf5;box-shadow:0 0 0 0 rgba(9,203,245,.6);animation:tipPing 1.8s infinite}
@keyframes tipPing{0%{box-shadow:0 0 0 0 rgba(9,203,245,.6)}100%{box-shadow:0 0 0 12px rgba(9,203,245,0)}}
.asm-copy{transition:opacity .35s}
.asm-exploring .asm-copy,.asm-exploring .asm-rail,.asm-exploring .asm-skip{opacity:0;pointer-events:none}
.asm-card{position:absolute;z-index:4;left:max(24px,calc((100vw - 1240px)/2));top:calc(50% + 50px);transform:translate(-16px,-50%);width:min(420px,40vw);opacity:0;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);
  background:rgba(16,19,25,.92);border:1px solid rgba(9,203,245,.35);box-shadow:0 24px 60px rgba(0,0,0,.45);padding:26px 28px 24px;color:#fff;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.asm-card.on{opacity:1;transform:translate(0,-50%)}
.asm-card[hidden]{display:none}
.ac-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ac-k{font-family:var(--font-mono,monospace);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#09cbf5}
.ac-nav{display:flex;align-items:center;gap:4px}
.ac-n{font-family:var(--font-mono,monospace);font-size:12px;color:#8e98bd;min-width:40px;text-align:center}
.ac-nav button{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.14);color:#fff;cursor:pointer;padding:0;transition:background .2s,border-color .2s;touch-action:manipulation}
.ac-nav button:hover,.ac-nav button:focus-visible{background:rgba(9,203,245,.14);border-color:#09cbf5;outline:none}
.ac-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ac-x{margin-left:6px}
.ac-h{font-size:clamp(26px,2.4vw,34px);line-height:1.08;margin:0 0 10px;color:#fff}
.ac-p{font-size:16px;line-height:1.5;color:#dfe5f3;margin:0 0 14px}
.ac-l{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:7px}
.ac-l li{position:relative;padding-left:20px;font-size:14.5px;color:#b9c3e3}
.ac-l li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border:2px solid #09cbf5;transform:rotate(45deg)}
.ac-act{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ac-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:-3px}
.ac-req{color:#fff;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(9,203,245,.6);padding-bottom:2px}
.ac-req:hover{color:#09cbf5}
@media (max-width:800px){
  .asm-card{left:12px;right:12px;width:auto;top:auto;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateY(24px);padding:18px 18px 18px}
  .asm-card.on{transform:none}
  .ac-h{font-size:24px}.ac-p{font-size:14.5px;margin-bottom:10px}.ac-l{margin-bottom:14px;gap:5px}.ac-l li{font-size:13.5px}
  .asm-labels.live .asm-plus{width:15px;height:15px}
  .asm-tip{font-size:11px;margin-bottom:12px}
}
.asm-static .asm-card,.asm-static .asm-tip{display:none}
@media (max-width:800px){
  .asm-labels.live.compact .asm-lbl:not(.sel) span{display:none}
  .asm-labels.live.compact .asm-lbl:not(.sel){padding:6px 7px;gap:5px}
}
.asm-live .asm-rail{opacity:0;pointer-events:none;transition:opacity .4s}
.asm-lbl.flip{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
@media (max-width:800px){
  .asm-live .asm-copy::before{inset:-340px -20px calc(-40px - env(safe-area-inset-bottom));background:linear-gradient(rgba(12,14,18,0),rgba(12,14,18,.9) 20%,rgba(12,14,18,.97) 40%)}
}
/* Nur Werk (ohne Scroll-Geschichte) */
.asm.asm-werk{height:100vh;height:100svh;min-height:620px;max-height:1100px}
.asm-werk .asm-stick{position:relative;height:100%}
.asm-werk canvas{cursor:grab;touch-action:pan-y}
.asm-werk canvas:active{cursor:grabbing}
@media (max-width:800px){.asm.asm-werk{height:100svh;min-height:600px}}
/* weicher Übergang vom dunklen Hero ins helle Werk */
.asm-werk .asm-stick::before{content:"";position:absolute;inset:0 0 auto 0;height:clamp(110px,18vh,190px);background:linear-gradient(#0c0e12 0%,rgba(12,14,18,.75) 35%,rgba(12,14,18,0));z-index:1;pointer-events:none}
/* keine dunklen Kanten: Hintergrund hell, Canvas minimal größer (Rundung bei hoher Pixeldichte) */
.asm.asm-werk{background:#dfe7ee;margin-top:-1px}
.asm-werk canvas{top:-1px;height:calc(100% + 2px)}
/* weicher Übergang vom Werk in die Leistungen */
.asm-werk .asm-stick > .asm-fade{position:absolute;left:0;right:0;bottom:-1px;height:clamp(90px,14vh,150px);background:linear-gradient(rgba(255,255,255,0),#fff);z-index:1;pointer-events:none}
@media (max-width:800px){.asm-werk .asm-stick > .asm-fade{display:none}.asm.asm-werk{border-bottom:3px solid;border-image:linear-gradient(90deg,#071078,#0b62d6,#09cbf5) 1}}
/* iOS: keine Haarlinie am Ende der Verläufe (ganzzahlige Höhen, Verlauf endet vor der Kante) */
.asm-werk .asm-stick::before{height:180px;background:linear-gradient(#0c0e12 0%,rgba(12,14,18,.75) 32%,rgba(12,14,18,0) 88%,rgba(12,14,18,0) 100%)}
.asm-werk .asm-stick > .asm-fade{height:140px;background:linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,0) 10%,#fff 100%)}
@media (max-width:800px){
  .asm-werk .asm-stick::before{height:150px}
  .asm-copy::before{background:linear-gradient(rgba(12,14,18,0) 0%,rgba(12,14,18,0) 6%,rgba(12,14,18,.9) 34%,rgba(12,14,18,.97) 60%)!important}
}
.asm-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.asm-all{color:#fff;text-decoration:none;font-family:var(--font-display);font-size:15px;display:inline-flex;gap:8px;align-items:center;border-bottom:1px solid rgba(9,203,245,.6);padding-bottom:3px}
.asm-all svg{width:15px;height:15px;color:#09cbf5}
.asm-all:hover{color:#09cbf5}
/* ===== Ruhigere Optik (Okt. 2026): weniger Leuchteffekte, keine Farbverlaufs-Schrift, Fotos statt Videos ===== */
/* zweite Überschriftszeile nicht mehr in Cyan/Verlauf, sondern gleiche Farbe wie die Überschrift */
.hero-photo h1 em,.hero h1 em,.page-hero h1 em,.reel h2 em,.band h2 em,.cert h2 em,.claim blockquote em,.cta-band h2 em,.any-job h3 em,.mg-lead strong em{
  color:inherit!important;background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important;font-weight:inherit}
.shine-txt{animation:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit}
/* Leuchten, Glühen, Raster weg */
.e3-grid{display:none!important}
.eu3d .m-shapes .m-de{filter:none!important;stroke:rgba(255,255,255,.55)!important}
.e3-beam,.e3-b.hq .e3-beam,.e3-b.on .e3-beam{box-shadow:none!important}
.e3-foot{box-shadow:none!important;animation:none!important}
.e3-tag{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.hero-mark svg,.m3d-logo,.map-pin{filter:none!important}
.btn:hover,.header .hdr-cta,.header .hdr-cta:hover{box-shadow:none!important}
.step::before,.specs span::before{box-shadow:none!important}
/* Foto statt Video */
.rl-img{width:100%;height:100%;object-fit:cover;display:block}
.about-img img{aspect-ratio:4/3}
/* Ablauf auf der Startseite: Schritte statt Werbe-Karten */
.why-list.ablauf .why-i h3{letter-spacing:0}
/* Startbild: Anlage statt Himmel zeigen */
.hero-photo .slide{background-position:center 100%!important}
.kb-txt h2 em{color:inherit!important}
/* Fotos heller und natürlicher: dunkle Überlagerung nur dort, wo Text steht */
.hero-shade{background:linear-gradient(90deg,rgba(6,12,48,.86) 0%,rgba(6,12,48,.62) 40%,rgba(6,12,48,.08) 72%),linear-gradient(0deg,rgba(6,12,48,.6) 0%,rgba(6,12,48,0) 30%)!important}
.rl-media::after{background:linear-gradient(90deg,rgba(6,12,48,.86) 0%,rgba(6,12,48,.55) 40%,rgba(6,12,48,.05) 72%),linear-gradient(0deg,rgba(6,12,48,.75) 0%,rgba(6,12,48,0) 35%)!important}
.kb-bg::after{background:linear-gradient(90deg,rgba(6,12,48,.9) 0%,rgba(6,12,48,.7) 45%,rgba(6,12,48,.2) 100%)!important}
/* Branchen-Karte: ruhiges, einfarbiges Dunkelblau statt Leuchtverlauf */
#branchen{background:#0a1766!important}
.page-hero.has-img::after{background:linear-gradient(90deg,rgba(6,12,48,.84) 0%,rgba(6,12,48,.5) 45%,rgba(6,12,48,.05) 100%),linear-gradient(0deg,rgba(6,12,48,.55) 0%,rgba(6,12,48,0) 45%)!important}

/* =====================================================================
   Neues Layout (Okt. 2026): hell, ruhig, klassischer Industrie-Auftritt
   gilt nur für die öffentliche Website (body.v2) – das Mitarbeiterportal
   lädt style-alt.css und bleibt unverändert
   ===================================================================== */
body.v2{
  --n-blue:#1530b8;--n-blue-d:#0f2490;--n-navy:#0c1733;--n-ink:#141c30;--n-ink2:#3d4863;--n-mute:#66708a;--n-line:#dde2ea;--n-gray:#f3f5f8;
  --abyss:#ffffff;--deep:#f3f5f8;--panel:#eef1f6;--line:#dde2ea;--line-strong:#b8c1d1;--navy:#0c1733;--cyan:#1530b8;--cyan-soft:#2945d6;
  --steel:#5d6883;--text:#141c30;--text-2:#3d4863;--spark:#b35a00;
  --font-display:"Barlow","Segoe UI",system-ui,sans-serif;--font-body:"Barlow","Segoe UI",system-ui,sans-serif;--font-mono:"Barlow","Segoe UI",system-ui,sans-serif;
  color-scheme:light;background:#fff!important;color:var(--n-ink);font-family:var(--font-body);font-size:17px;line-height:1.6
}
body.v2 .light,body.v2 .light.alt,body.v2 .section{
  --abyss:#ffffff;--deep:#f3f5f8;--panel:#eef1f6;--line:#dde2ea;--line-strong:#b8c1d1;--cyan:#1530b8;--cyan-soft:#2945d6;--steel:#5d6883;--text:#141c30;--text-2:#3d4863;color-scheme:light
}
body.v2 .light.alt{--abyss:#f3f5f8;--deep:#ffffff}
body.v2 h1,body.v2 h2,body.v2 h3,body.v2 h4{font-family:var(--font-display);letter-spacing:0;text-wrap:balance}
body.v2 h1 em,body.v2 h2 em,body.v2 h3 em{font-style:normal;color:inherit!important;background:none!important;-webkit-text-fill-color:currentColor!important}
body.v2 ::selection{background:#c9d4f5}
.n-wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.n-k{font-size:14px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--n-blue)!important;margin:0 0 12px!important}

/* ---------- Effekte der alten Seite aus ---------- */
body.v2 .watermark,body.v2 .ind-wm,body.v2 #intro{display:none!important}
body.v2 .rv,body.v2 .rv.in{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
body.v2 .rv *{animation-name:none!important}
body.v2 .shine-txt{animation:none!important;background:none!important;-webkit-text-fill-color:currentColor!important}

/* ---------- Buttons ---------- */
.n-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--n-blue);color:#fff;border:2px solid var(--n-blue);border-radius:3px;padding:12px 24px;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.01em;text-decoration:none;line-height:1.25;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.n-btn:hover{background:var(--n-blue-d);border-color:var(--n-blue-d);color:#fff}
.n-btn svg{width:16px;height:16px;flex:none}
.n-btn-o{background:transparent;color:var(--n-ink);border-color:#c3cad7}
.n-btn-o:hover{background:transparent;border-color:var(--n-ink);color:var(--n-ink)}
.n-btn-w{background:#fff;color:var(--n-blue);border-color:#fff}
.n-btn-w:hover{background:#e8edf9;border-color:#e8edf9;color:var(--n-blue-d)}
/* alte Buttons auf den Unterseiten: flach, eckig, ADYGE-Blau */
body.v2 .btn{clip-path:none!important;border-radius:3px!important;background:var(--n-blue)!important;border:2px solid var(--n-blue)!important;color:#fff!important;font-family:var(--font-body)!important;font-weight:600!important;font-size:16px!important;letter-spacing:.01em!important;box-shadow:none!important;text-transform:none!important;padding:12px 24px!important}
body.v2 .btn::before,body.v2 .btn::after{display:none!important}
body.v2 .btn:hover{background:var(--n-blue-d)!important;border-color:var(--n-blue-d)!important}
body.v2 .btn.ghost{background:transparent!important;color:var(--n-ink)!important;border-color:#c3cad7!important}
body.v2 .link-arrow{color:var(--n-blue)!important;font-weight:600}

/* ---------- Kopf ---------- */
body.v2 .n-hd{position:sticky;top:0;z-index:60;background:#fff!important;border-bottom:1px solid var(--n-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.v2 .n-hd::before,body.v2 .n-hd::after{display:none!important;content:none!important}
body.v2 .n-hd.scrolled{box-shadow:0 2px 14px rgba(12,23,51,.08)!important}
body.v2 .n-tb{background:var(--n-gray)!important;border-bottom:1px solid var(--n-line)!important;color:var(--n-ink2)!important;font-size:14px!important;font-family:var(--font-body)!important;height:auto!important;padding:0!important}
.n-tb .n-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:38px}
.n-tb svg{width:15px;height:15px;flex:none;color:var(--n-blue)}
.n-tb-addr{display:flex;align-items:center;gap:7px}
.n-tb-r{display:flex;align-items:center;gap:22px}
.n-tb-r > a{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--n-ink2)!important}
.n-tb-r > a:hover{color:var(--n-blue)!important}
body.v2 .n-lang{display:flex;border:1px solid var(--n-line)!important;border-radius:2px;background:#fff!important;font-family:var(--font-body)!important;font-size:13px!important;padding:0!important;gap:0!important}
body.v2 .n-lang button{background:none!important;border:0!important;color:var(--n-mute)!important;padding:3px 9px!important;font:600 13px var(--font-body)!important;cursor:pointer;box-shadow:none!important}
body.v2 .n-lang button::after,body.v2 .n-lang button::before{display:none!important}
body.v2 .n-lang button[aria-pressed="true"]{background:var(--n-blue)!important;color:#fff!important}
.n-bar .n-wrap{display:flex;align-items:center;gap:28px;height:84px}
.n-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.n-brand .n-mark{height:42px;width:auto;display:block}
.n-brand .n-word{height:23px;width:auto;display:block}
.n-nav{display:flex;align-items:stretch;align-self:stretch;margin-left:auto}
.n-link{display:flex;align-items:center;gap:6px;padding:0 16px;font-size:17px;font-weight:500;color:var(--n-ink);text-decoration:none;position:relative}
.n-link:hover{color:var(--n-blue)}
.n-link[aria-current]{color:var(--n-blue)}
.n-link[aria-current]::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:var(--n-blue)}
.n-caret{width:12px;height:12px;margin-top:2px}
.n-has-dd{position:relative;display:flex}
.n-dd{position:absolute;top:100%;left:0;min-width:310px;background:#fff;border:1px solid var(--n-line);border-top:3px solid var(--n-blue);box-shadow:0 14px 34px rgba(12,23,51,.12);padding:8px 0;display:none;z-index:5}
.n-has-dd:hover .n-dd,.n-has-dd:focus-within .n-dd{display:block}
.n-dd a{display:block;padding:9px 22px;font-size:16px;color:var(--n-ink);text-decoration:none}
.n-dd a:hover{background:var(--n-gray);color:var(--n-blue)}
.n-dd .n-dd-all{display:flex;align-items:center;gap:8px;border-top:1px solid var(--n-line);margin-top:6px;padding-top:12px;font-weight:600;color:var(--n-blue)}
.n-dd svg{width:14px;height:14px}
.n-nav-x{display:none}
.n-hd-cta{margin-left:8px}
.n-burger{display:none}
@media (max-width:1080px){
  .n-tb-addr,.n-tb-mail,.n-tb-nw{display:none!important}
  .n-tb-r{width:100%;justify-content:space-between}
  .n-tb .n-wrap{height:36px}
  .n-bar .n-wrap{height:64px;gap:16px}
  .n-brand .n-mark{height:34px}.n-brand .n-word{height:17px}
  .n-hd-cta{display:none!important}
  .n-burger{display:block;margin-left:auto;width:46px;height:46px;background:#fff;border:1px solid var(--n-line);border-radius:3px;cursor:pointer;position:relative;padding:0}
  .n-burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--n-ink);transition:transform .2s,opacity .2s}
  .n-burger span:nth-child(1){top:15px}.n-burger span:nth-child(2){top:22px}.n-burger span:nth-child(3){top:29px}
  .n-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .n-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .n-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .n-nav{position:absolute;left:0;right:0;top:100%;height:calc(100vh - 101px);height:calc(100dvh - 101px);display:none;flex-direction:column;align-items:stretch;margin:0;background:#fff;padding:6px 20px 40px;overflow-y:auto;border-top:1px solid var(--n-line)}
  .n-nav.open{display:flex}
  .n-link{padding:16px 4px;border-bottom:1px solid var(--n-line);font-size:19px}
  .n-link[aria-current]::after{display:none}
  .n-has-dd{display:block}.n-dd{display:none!important}.n-caret{display:none}
  .n-nav-x{display:flex;flex-direction:column;gap:2px;padding-top:22px}
  .n-nav-x .n-btn{margin-bottom:14px}
  .n-nav-x a:not(.n-btn){display:flex;align-items:center;gap:12px;padding:10px 4px;color:var(--n-ink2);text-decoration:none;font-size:17px}
  .n-nav-x svg{width:18px;height:18px;color:var(--n-blue)}
  .n-nav-x img{width:22px;height:22px;border-radius:5px}
}

/* ---------- Titelbild Startseite: Text links, Foto rechts ---------- */
.n-hero{position:relative;background:#fff;border-bottom:1px solid var(--n-line);overflow:hidden}
.n-hero-in{display:flex;align-items:center;min-height:clamp(520px,68vh,640px)}
.n-hero-txt{width:50%;padding:56px 56px 56px 0}
.n-hero h1{font-size:clamp(38px,3.9vw,54px);font-weight:600;line-height:1.08;color:var(--n-navy)}
.n-lead{font-size:19px;line-height:1.55;color:var(--n-ink2);margin-top:22px!important;max-width:54ch}
.n-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.n-hero-img{position:absolute;top:0;bottom:0;left:50%;right:0;background:var(--n-gray)}
.n-hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 85%;display:block}
.n-ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.n-ticks li{display:flex;gap:10px;align-items:flex-start}
.n-ticks svg{width:18px;height:18px;color:var(--n-blue);flex:none;margin-top:4px}
.n-hero-ticks{margin-top:34px;padding-top:24px;border-top:1px solid var(--n-line);font-size:16px;color:var(--n-ink2)}
@media (max-width:900px){
  .n-hero{display:flex;flex-direction:column-reverse}
  .n-hero-in{display:block;min-height:0}
  .n-hero-img{position:relative;left:auto;height:230px}
  .n-hero-txt{width:auto;padding:28px 0 40px}
  .n-hero h1{font-size:clamp(32px,8.4vw,42px)}
  .n-lead{font-size:17.5px}
  .n-ctas .n-btn{flex:1 1 auto}
}

/* ---------- Abschnitte ---------- */
.n-sec{padding:clamp(56px,7vw,96px) 0;background:#fff;color:var(--n-ink)}
.n-gray{background:var(--n-gray)}
.n-sec h2,.n-car h2{font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.15;color:var(--n-navy)}
.n-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 64px;align-items:end;margin-bottom:44px}
.n-head p{color:var(--n-ink2)}
.n-head-1{grid-template-columns:1fr}
.n-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:var(--n-blue);text-decoration:none}
.n-more:hover{text-decoration:underline}
.n-more svg{width:15px;height:15px}
@media (max-width:760px){.n-head{grid-template-columns:1fr;margin-bottom:32px}}

/* Leistungskarten */
.n-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.n-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--n-line);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
a.n-card:hover{border-color:#b6c0d4;box-shadow:0 8px 24px rgba(12,23,51,.08)}
a.n-card:hover h3{color:var(--n-blue)}
.n-card-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--n-gray)}
.n-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.n-card-b{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.n-card h3{font-size:21px;font-weight:600;color:var(--n-navy);line-height:1.2}
.n-card p{font-size:15.5px;color:var(--n-mute);line-height:1.5}
.n-card-more{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--n-blue)}
.n-card-more svg{width:14px;height:14px}
.n-card-ask{background:var(--n-navy);border-color:var(--n-navy);color:#fff;padding:28px 24px;gap:12px}
.n-card-ask h3{color:#fff}.n-card-ask p{color:#c4cbe0}
.n-card-ask .n-btn{margin-top:auto;align-self:flex-start}
@media (max-width:1080px){.n-cards{grid-template-columns:repeat(2,1fr);gap:18px}}
@media (max-width:600px){
  .n-cards{grid-template-columns:1fr;gap:12px}
  a.n-card{flex-direction:row}
  a.n-card .n-card-img{width:36%;flex:none;aspect-ratio:auto}
  a.n-card .n-card-b{padding:14px 16px;gap:4px}
  a.n-card h3{font-size:18px}
  a.n-card p{font-size:14.5px}
  a.n-card .n-card-more{display:none}
}

/* Ablauf in 4 Schritten */
.n-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.n-steps li{background:#fff;border:1px solid var(--n-line);border-top:3px solid var(--n-blue);padding:26px 24px 28px}
.n-step-n{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--n-blue);color:#fff;font-weight:600;font-size:17px;margin-bottom:16px}
.n-steps h3{font-size:20px;font-weight:600;color:var(--n-navy);margin-bottom:8px}
.n-steps p{font-size:15.5px;color:var(--n-ink2)}
@media (max-width:1000px){.n-steps{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:600px){.n-steps{grid-template-columns:1fr}.n-steps li{padding:20px 20px 22px}}

/* Einsatzgebiete: flache Karte + Liste, Branchen darunter */
.n-reg{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.n-reg-txt > p{color:var(--n-ink2);margin-top:16px}
.n-reg-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.n-reg-list li{display:flex;align-items:center;gap:10px;font-size:16px}
.n-reg-list b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--n-blue);color:#fff;font-size:13px;font-weight:600;flex:none}
.n-reg-list li.hq b{background:var(--n-navy)}
.n-map{margin:0;background:var(--n-gray);border:1px solid var(--n-line);padding:12px 12px 14px}
.n-map-svg{display:block;width:100%;height:auto}
.n-shapes path{fill:#e1e6ee;stroke:#fff;stroke-width:1.4}
.n-shapes .m-de{fill:#c3cee2;stroke:#fff;stroke-width:1.6}
.n-pt circle{fill:var(--n-blue);stroke:#fff;stroke-width:3}
.n-pt.hq circle{fill:var(--n-navy)}
.n-pt text{fill:#fff;font:600 17px var(--font-body);text-anchor:middle}
.n-map figcaption{font-size:14px;color:var(--n-mute);margin-top:8px;padding-left:4px}
.n-inds{margin-top:64px;padding-top:48px;border-top:1px solid var(--n-line)}
.n-inds h3{font-size:24px;font-weight:600;color:var(--n-navy)}
.n-inds > p{color:var(--n-mute);margin-top:4px}
.n-ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
body.v2 .n-ind{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:#fff;border:1px solid var(--n-line);border-radius:0;box-shadow:none;transform:none;color:var(--n-ink);font:inherit;text-align:left;cursor:pointer;animation:none}
body.v2 .n-ind:hover{border-color:var(--n-blue);transform:none;box-shadow:none}
body.v2 .n-ind > svg{width:32px;height:32px;color:var(--n-blue);flex:none}
body.v2 .n-ind strong{font-size:17px;font-weight:600;flex:1;font-family:var(--font-body)}
.n-ind-go svg{width:15px;height:15px;color:var(--n-mute);display:block}
body.v2 .n-ind:hover .n-ind-go svg{color:var(--n-blue)}
@media (max-width:900px){.n-reg{grid-template-columns:1fr;gap:32px}.n-ind-grid{grid-template-columns:1fr 1fr;gap:10px}.n-inds{margin-top:44px;padding-top:36px}}
@media (max-width:420px){.n-reg-list{grid-template-columns:1fr}body.v2 .n-ind{padding:13px 12px;gap:10px}body.v2 .n-ind > svg{width:26px;height:26px}body.v2 .n-ind strong{font-size:15.5px}}

/* Zertifikat */
.n-cert-in{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:56px;align-items:center}
.n-cert-mark{display:block;background:#fff;border:1px solid var(--n-line);padding:28px}
.n-cert-mark img{display:block;width:100%;height:auto}
.n-cert-txt > p:not(.n-k){color:var(--n-ink2);margin-top:14px;max-width:70ch}
.n-cert .n-ticks{margin-top:20px;font-size:16px;color:var(--n-ink2)}
@media (max-width:800px){.n-cert-in{grid-template-columns:1fr;gap:28px}.n-cert-mark{max-width:300px;padding:20px}}

/* Karriere */
.n-car{position:relative;background:var(--n-navy);color:#fff;overflow:hidden}
.n-car-img{position:absolute;top:0;left:0;bottom:0;width:50%}
.n-car-img img{width:100%;height:100%;object-fit:cover;display:block}
.n-car-in{display:flex;justify-content:flex-end;align-items:center;min-height:460px}
.n-car-txt{width:50%;padding:64px 0 64px 64px}
.n-car h2{color:#fff}
.n-car-txt > p:not(.n-k){color:#c9d0e4;margin-top:16px}
.n-car .n-k{color:#9db5ff!important}
.n-car .n-btn{margin-top:28px}
@media (max-width:900px){.n-car-img{position:relative;width:100%;height:230px}.n-car-in{display:block;min-height:0}.n-car-txt{width:auto;padding:36px 0 48px}}

/* Katalog */
.n-kat-in{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:center}
.n-kat-cover img{display:block;width:100%;height:auto;border:1px solid var(--n-line);box-shadow:0 10px 30px rgba(12,23,51,.12)}
.n-kat-in > div > p:not(.n-k){color:var(--n-ink2);margin-top:14px;max-width:60ch}
.n-kat-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media (max-width:700px){.n-kat-in{grid-template-columns:110px 1fr;gap:20px;align-items:start}.n-kat-btns{grid-column:1/-1}.n-kat-btns .n-btn{flex:1 1 auto}}

/* Aufruf-Band */
.n-cta{background:var(--n-blue);color:#fff;padding:56px 0}
.n-cta-in{display:flex;align-items:center;justify-content:space-between;gap:28px 48px;flex-wrap:wrap}
.n-cta h2{font-size:clamp(26px,2.6vw,34px);font-weight:600;color:#fff;line-height:1.2}
.n-cta p{color:#dce3fb;margin-top:8px;max-width:60ch}
.n-cta-act{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.n-cta-tel{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:20px;font-weight:600;white-space:nowrap}
.n-cta-tel svg{width:22px;height:22px}

/* ---------- Fuß ---------- */
body.v2 footer.n-ft{background:var(--n-navy)!important;color:#c3cadf;font-size:16px;padding:0!important;margin:0!important;border:0!important;position:relative}
body.v2 footer.n-ft::before,body.v2 footer.n-ft::after{display:none!important}
.n-ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-block:64px 48px}
.n-ft-brand > p{margin-top:18px;max-width:30ch;color:#aab3cc}
.n-ft-tuev{display:block;width:170px;height:auto;margin-top:24px;background:#fff;padding:10px 12px;border-radius:2px}
body.v2 .n-ft h3{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:4px 0 16px}
.n-ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
body.v2 .n-ft a{color:#c3cadf;text-decoration:none}
body.v2 .n-ft a:hover{color:#fff;text-decoration:underline}
.n-ft-ct a{display:inline-flex;align-items:center;gap:9px}
.n-ft-ct svg{width:16px;height:16px;color:#9db5ff;flex:none}
.n-ft-bot{border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:#8f99b5}
.n-ft-bot .n-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-block:20px}
.n-ft-bot nav{display:flex;gap:22px;flex-wrap:wrap}
body.v2 .n-ft-bot a{color:#aab3cc}
.n-ft-eco{margin-left:auto}
@media (max-width:900px){.n-ft-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.n-ft-grid{grid-template-columns:1fr;gap:30px;padding-block:44px 32px}.n-ft-eco{margin-left:0}}

/* ---------- Kopf der Unterseiten ---------- */
.n-ph{position:relative;background:var(--n-gray);border-bottom:1px solid var(--n-line);overflow:hidden}
.n-ph-in{display:flex;align-items:center;min-height:340px}
.n-ph-txt{width:50%;padding:44px 48px 48px 0}
.n-crumb{font-size:14px;color:var(--n-mute);display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px!important}
.n-crumb a{color:var(--n-mute);text-decoration:none}
.n-crumb a:hover{color:var(--n-blue)}
.n-ph h1{font-size:clamp(32px,3.6vw,48px);font-weight:600;color:var(--n-navy);line-height:1.1}
.n-ph .n-lead{font-size:18px}
.n-ph-img{position:absolute;top:0;bottom:0;left:50%;right:0}
.n-ph-img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){
  .n-ph{display:flex;flex-direction:column-reverse}
  .n-ph-img{position:relative;left:auto;height:170px}
  .n-ph-in{display:block;min-height:0}
  .n-ph-txt{width:auto;padding:22px 0 30px}
  .n-ph h1{font-size:clamp(28px,7.6vw,38px)}
  .n-ph .n-lead{font-size:17px}
}

/* ---------- Bestehende Bausteine der Unterseiten beruhigen ---------- */
body.v2 main > .section,body.v2 main .section{border-top:0}
body.v2 .section-head h2,body.v2 .steps-h,body.v2 .quals h2{font-size:clamp(28px,3vw,40px)!important;font-weight:600!important;color:var(--n-navy)!important;line-height:1.15!important;background:none!important;-webkit-text-fill-color:currentColor!important}
body.v2 .section-head p{color:var(--n-ink2)!important;font-size:17.5px}
body.v2 .eyebrow,body.v2 .claim-k{color:var(--n-blue)!important;font-family:var(--font-body)!important;font-weight:600}
body.v2{--wrap:1240px}

/* ---------- Über uns ---------- */
.n-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.n-split-top{align-items:start}
.n-prose > p:not(.n-k){color:var(--n-ink2);margin-top:16px}
.n-prose > h2 + p{margin-top:20px!important}
.n-fig{margin:0}
.n-fig img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.n-vals{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.n-val{background:#fff;border:1px solid var(--n-line);padding:26px 24px}
.n-val svg{width:34px;height:34px;color:var(--n-blue);margin-bottom:14px}
.n-val h3{font-size:20px;font-weight:600;color:var(--n-navy);margin-bottom:8px}
.n-val p{font-size:15.5px;color:var(--n-ink2)}
.n-claim{background:var(--n-navy);color:#fff;padding:clamp(56px,7vw,88px) 0}
.n-claim .n-k{color:#9db5ff!important}
.n-claim blockquote{margin:0;font-family:var(--font-display);font-size:clamp(28px,3.2vw,42px);font-weight:600;line-height:1.15;max-width:24ch}
.n-claim .n-wrap > p:not(.n-k){color:#c9d0e4;margin-top:16px;max-width:62ch}
.n-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid rgba(255,255,255,.16)}
.n-fact{padding:24px 24px 0 0;display:grid;gap:4px;color:#c9d0e4;font-size:15.5px}
.n-fact + .n-fact{padding-left:24px;border-left:1px solid rgba(255,255,255,.16)}
.n-fact b{font-family:var(--font-display);font-size:36px;font-weight:600;color:#fff;line-height:1.1}
.n-quals{grid-template-columns:1fr 1fr;gap:0 24px;font-size:16px}
.n-quals li{padding:12px 0;border-bottom:1px solid var(--n-line)}
@media (max-width:1000px){.n-vals{grid-template-columns:1fr 1fr;gap:16px}.n-facts{grid-template-columns:1fr 1fr}.n-fact:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:860px){.n-split{grid-template-columns:1fr;gap:32px}}
@media (max-width:560px){.n-vals{grid-template-columns:1fr}.n-quals{grid-template-columns:1fr}.n-fact b{font-size:28px}}

/* ---------- Leistungen ---------- */
body.v2 .svc-img{clip-path:none!important}
body.v2 .svc-img img{transform:none!important;transition:none!important}
body.v2 .svc-img .tag{display:none!important}
body.v2 .svc-body h2{font-size:clamp(28px,2.8vw,36px)!important;font-weight:600!important;color:var(--n-navy);letter-spacing:0!important}
body.v2 .svc-body p{color:var(--n-ink2)!important;font-size:17px!important}
body.v2 .svc-body ul{background:none!important;border:0!important;gap:8px!important}
body.v2 .svc-body li{background:none!important;padding:0!important;font-size:16px!important;gap:10px!important;align-items:flex-start}
body.v2 .svc-body li::before{width:18px!important;height:18px!important;margin-top:3px!important;border:0!important;transform:none!important;background:var(--n-blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5l4 4 8-9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5l4 4 8-9'/%3E%3C/svg%3E") center/contain no-repeat}
body.v2 .svc-rows2{gap:clamp(48px,6vw,88px)!important}
body.v2 .kat-sec{padding-block:clamp(48px,6vw,80px)!important}
.n-kat-box{background:#fff;border:1px solid var(--n-line);padding:clamp(24px,3vw,40px)}
.n-kat-box h2{font-size:clamp(26px,2.6vw,34px);font-weight:600;color:var(--n-navy);line-height:1.15}
.n-kat-box .n-ticks{margin-top:18px;font-size:16px;color:var(--n-ink2)}
.nw-sec .n-kat-box{margin-bottom:40px}

/* ---------- Kontakt ---------- */
body.v2 .kon-cards.section{padding-block:48px 8px!important;background:#fff!important;overflow:visible}
body.v2 .kon-cards .ct-cards{margin-top:0!important}
body.v2 .ct-card{box-shadow:none!important;border:1px solid var(--n-line)!important;background:#fff!important;border-radius:0!important;transform:none!important}
body.v2 .ct-card:hover{border-color:var(--n-blue)!important}
body.v2 .ct-card svg{color:var(--n-blue)!important}
body.v2 .kon-cards .ct-card.primary,body.v2 .ct-card.primary{background:var(--n-blue)!important;border-color:var(--n-blue)!important}
body.v2 .ct-card.primary svg,body.v2 .ct-card.primary *{color:#fff!important}
body.v2 .kon-top + #anfahrt.section,body.v2 #anfahrt.section{padding-top:56px!important}
body.v2 .anf-panel,body.v2 .journey{border-radius:0!important;box-shadow:none!important}
body.v2 .map-card{background:#eef1f5!important;border:1px solid var(--n-line)}
body.v2 .mp-ground{background-image:url(img/map-plan-hell.svg?v=2610191706)!important;transform:none!important;filter:none!important;animation:none!important}
body.v2 .mp-pin i{display:none!important}
body.v2 .mp-head{box-shadow:0 4px 14px rgba(12,23,51,.2)!important;animation:none!important;border:2px solid var(--n-blue)}
body.v2 .mp-head svg{animation:none!important}
body.v2 .mp-stem{background:var(--n-blue)!important}
body.v2 .mp-card{background:#fff!important;border:1px solid var(--n-line)!important;box-shadow:0 10px 30px rgba(12,23,51,.12)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.v2 .mp-k{color:var(--n-blue)!important;font-family:var(--font-body)!important;font-weight:600}
body.v2 .mp-card strong{color:var(--n-navy)!important;font-weight:600!important}
body.v2 .mp-a{color:var(--n-ink2)!important}
body.v2 .mp-tags span{color:var(--n-ink2)!important;border-color:var(--n-line)!important;background:var(--n-gray)!important}
body.v2 .mp-tags span::before{background:var(--n-blue)!important}
body.v2 .mp-card small{color:var(--n-mute)!important}
body.v2 .mp-card small a{color:var(--n-blue)!important}
body.v2 .mp-src{color:var(--n-mute)!important}
body.v2 .map-card .maplibregl-ctrl-group{background:#fff!important;border:1px solid var(--n-line)!important}
body.v2 .map-card .maplibregl-ctrl-group button span{filter:none!important}
body.v2 .map-card .maplibregl-ctrl-attrib{background:rgba(255,255,255,.85)!important;color:var(--n-ink2)!important}
body.v2 .map-card .maplibregl-ctrl-attrib a{color:var(--n-blue)!important}
body.v2 .map-card .rmap{background:#eef1f5!important}

/* ---------- Anfrage / Karriere / Formulare ---------- */
body.v2 .direct{background:var(--n-navy)!important}
body.v2 .direct a:hover{color:#c9d4ff!important}
body.v2 .any-job{background:var(--n-navy)!important;clip-path:none!important}
body.v2 .any-job h3 em{color:#fff!important}
body.v2 .any-job .aj-btn:hover{background:#e8edf9!important;border-color:#e8edf9!important;color:var(--n-blue)!important}
body.v2 .job-card:hover,body.v2 .perk:hover,body.v2 .ct-card:hover{transform:none!important;box-shadow:none!important}
body.v2 .wz,body.v2 .wz-main,body.v2 #rq-form,body.v2 #job-form,body.v2 #wh-form{box-shadow:none!important;border-radius:0!important}
body.v2 input,body.v2 select,body.v2 textarea{font-family:var(--font-body)!important}
body.v2 .map-card::before,body.v2 .map-consent.mp::after{display:none!important}
body.v2 .mp-card{clip-path:none!important}

/* ---------- Nachweise ---------- */
body.v2 .nw-card{box-shadow:none!important;border-radius:0!important}
body.v2 .nw-card::before{background:var(--n-blue)!important}
body.v2 .nw-ic{background:var(--n-blue)!important}
body.v2 .nw-btn,body.v2 .kat-btns .nw-btn{background:var(--n-blue)!important;border-radius:3px!important;box-shadow:none!important}
body.v2 .nw-btn:hover{background:var(--n-blue-d)!important}

/* ---------- alte Zeitstrahl-Schritte (Hinweisgebersystem): ruhig, ohne Aufleuchten ---------- */
body.v2 .steps::before{background:var(--n-line)!important;opacity:1!important}
body.v2 .steps::after{display:none!important}
body.v2 .st-ic,body.v2 .js-rv .steps-wrap .st-ic,body.v2 .js-rv .steps-wrap.in .st-ic{background:var(--n-blue)!important;background-image:none!important;color:#fff!important;box-shadow:none!important;transform:none!important}
body.v2 .step .n,body.v2 .js-rv .steps-wrap .step .n,body.v2 .js-rv .steps-wrap.in .step .n{background:#fff!important;color:var(--n-blue)!important;box-shadow:0 0 0 2px var(--n-blue)!important}
body.v2 .js-rv .steps-wrap .step h3,body.v2 .js-rv .steps-wrap .step p{opacity:1!important}
body.v2 .step h3{font-weight:600!important;color:var(--n-navy)!important}
body.v2 .step p{color:var(--n-ink2)!important}
html.tb-off body.v2 .n-hd{top:calc(-1 * var(--tbh,38px))}
html.menu-open body.v2 .n-hd{top:0!important}
body.v2 .idl-body h2{font-weight:600!important;color:var(--n-navy)}
@media (max-width:600px){.n-steps{gap:10px}.n-steps li{display:grid;grid-template-columns:36px 1fr;column-gap:14px;padding:18px 18px 20px;border-top-width:1px;border-left:3px solid var(--n-blue)}.n-step-n{grid-row:span 2;margin:0}.n-steps h3{margin:5px 0 6px;font-size:19px}}

/* =====================================================================
   Variante 4: dunkelblauer Kopf, dunkle Titelbereiche, weniger Weiß
   ===================================================================== */
body.v2{--n-dark:#0c1733;--n-dark2:#081026;--n-on-dark:#c9d0e4;--n-accent-dark:#8fb0ff}
body.v2 .n-hd{background:var(--n-dark)!important;border-bottom:0!important}
body.v2 .n-hd.scrolled{box-shadow:0 4px 18px rgba(0,0,0,.25)!important}
body.v2 .n-tb{background:var(--n-dark2)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:#aab3cc!important}
body.v2 .n-tb-addr,body.v2 .n-tb-r > a{color:#aab3cc!important}
body.v2 .n-tb-r > a:hover{color:#fff!important}
body.v2 .n-tb svg{color:var(--n-accent-dark)}
body.v2 .n-lang{background:transparent!important;border-color:rgba(255,255,255,.25)!important}
body.v2 .n-lang button{color:#aab3cc!important}
body.v2 .n-lang button[aria-pressed="true"]{background:var(--n-blue)!important;color:#fff!important}
.n-bar{position:relative}
.n-bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#071078,#1530b8 45%,#09cbf5);pointer-events:none}
.n-brand .n-mark{height:60px}.n-brand .n-word{height:33px}
.n-bar .n-wrap{height:88px}
.n-link{color:#fff}
.n-link:hover{color:#9db5ff}
.n-link[aria-current]{color:#fff}
.n-link[aria-current]::after{bottom:0;background:#fff;z-index:1}
.n-hd-cta{background:#1f3fd6;border-color:#1f3fd6}
.n-hd-cta:hover{background:#2f50ec;border-color:#2f50ec}
.n-has-dd .n-dd{top:calc(100% + 0px)}
@media (max-width:1080px){
  .n-bar .n-wrap{height:68px}
  .n-brand .n-mark{height:42px}.n-brand .n-word{height:22px}
  .n-burger{background:transparent!important;border-color:rgba(255,255,255,.3)!important}
  .n-burger span{background:#fff!important}
  .n-nav{background:var(--n-dark);border-top:0;height:calc(100vh - 107px);height:calc(100dvh - 107px)}
  .n-link{border-bottom-color:rgba(255,255,255,.1)}
  .n-link[aria-current]{color:#9db5ff}
  .n-nav-x a:not(.n-btn){color:var(--n-on-dark)}
  .n-nav-x svg{color:var(--n-accent-dark)}
}

/* Titelbild Startseite: Text auf Dunkelblau */
.n-hero{background:var(--n-dark);border-bottom:0;color:#fff}
.n-hero h1{color:#fff}
.n-hero .n-k{color:var(--n-accent-dark)!important}
.n-hero .n-lead{color:var(--n-on-dark)}
.n-hero .n-btn{background:#1f3fd6;border-color:#1f3fd6}
.n-hero .n-btn:hover{background:#2f50ec;border-color:#2f50ec}
.n-hero .n-btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.n-hero .n-btn-o:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.n-hero-ticks{border-top-color:rgba(255,255,255,.16);color:var(--n-on-dark)}
.n-hero .n-ticks svg{color:#5fd3f5}
.n-hero-img{background:var(--n-dark2)}

/* Kopf der Unterseiten: ebenfalls Dunkelblau */
.n-ph{background:var(--n-dark);border-bottom:0}
.n-ph h1{color:#fff}
.n-ph .n-lead{color:var(--n-on-dark)}
.n-crumb,.n-crumb a{color:#8f99b5!important}
.n-crumb a:hover{color:#fff!important}

/* Karten auf grauem Grund weiß, auf weißem Grund grau hinterlegt */
.n-sec:not(.n-gray) .n-steps li{background:var(--n-gray)}
.n-gray .n-map{background:#fff}
.n-gray .n-ind-grid .n-ind{background:#fff}
.n-gray.n-kat .n-kat-cover img{border-color:#fff}
/* dunkler Abschnitt (Ablauf auf der Startseite) */
.n-dark{background:var(--n-dark);color:#fff}
.n-dark h2{color:#fff}
.n-dark .n-k{color:var(--n-accent-dark)!important}
.n-sec.n-dark .n-steps li{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);border-top-color:#3f63ff}
.n-dark .n-step-n{background:#1f3fd6}
.n-dark .n-steps h3{color:#fff}
.n-dark .n-steps p{color:var(--n-on-dark)}
@media (max-width:600px){.n-sec.n-dark .n-steps li{border-left-color:#3f63ff}}

/* Arbeitssicherheit: drei Kacheln + TÜV-Kachel */
.n-scc{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.n-scc-card{background:#fff;border:1px solid var(--n-line);padding:28px 24px}
.n-sec:not(.n-gray) .n-scc-card{background:var(--n-gray)}
.n-scc-card > svg{width:40px;height:40px;color:var(--n-blue);margin-bottom:14px;display:block}
.n-scc-card h3{font-size:20px;font-weight:600;color:var(--n-navy);margin-bottom:8px}
.n-scc-card p{font-size:15.5px;color:var(--n-ink2)}
.n-scc-tuev{display:flex;flex-direction:column;justify-content:center;gap:16px;text-decoration:none;color:var(--n-blue);font-weight:600;border-top:3px solid var(--n-blue)!important;background:#fff!important}
.n-scc-tuev img{width:100%;height:auto;display:block}
.n-scc-tuev span{display:inline-flex;align-items:center;gap:8px}
.n-scc-tuev svg{width:15px;height:15px}
.n-scc-tuev:hover span{text-decoration:underline}
@media (max-width:1000px){.n-scc{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:560px){
  .n-scc{grid-template-columns:1fr;gap:10px}
  .n-scc-card:not(.n-scc-tuev){display:grid;grid-template-columns:40px 1fr;gap:14px;padding:18px}
  .n-scc-card > svg{width:34px;height:34px;margin:2px 0 0}
  .n-scc-card h3{font-size:18px;margin-bottom:4px}
  .n-scc-tuev{padding:20px}
  .n-scc-tuev img{max-width:260px}
}

/* Katalog-Block am Handy: Titelbild oben, Text volle Breite, Knöpfe untereinander und gleich breit */
.n-kat-in > div{min-width:0}
@media (max-width:700px){
  .n-kat-in{grid-template-columns:1fr;gap:20px;align-items:start}
  .n-kat-cover img{width:120px}
  .n-kat-btns{flex-direction:column;align-items:stretch;gap:10px}
  .n-kat-btns .n-btn{width:100%;white-space:normal}
}

:root{--icon-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201288.68%201145.09%22%3E%3Cpath%20d%3D%22M1243.2%2C1063.96l-21.13-37.17L713.21%2C122.45l-22.45-40L644.53%2C0l-46.42%2C82.45-21.13%2C37.55-68.11%2C120.94-171.51%2C304.91-94.9%2C168.68-57.17%2C101.32-120.94%2C214.9-20.94%2C37.17L0%2C1145.09h462.07l22.26-39.44%2C1.13-2.07%2C96.6-171.51c124.72%2C135.85%2C305.09%2C213.02%2C500.19%2C213.02h206.41l-45.47-81.13ZM399.24%2C1009.24l-8.11%2C14.34h-183.4l124.15-220.57%2C100.19-177.92c10.94%2C69.81%2C35.09%2C137.74%2C71.13%2C199.62l-103.96%2C184.53ZM585.47%2C308.49h.19l-1.7%2C2.83%2C1.51-2.83ZM645.85%2C819.05c-4.91-6.04-9.62-12.26-14.15-18.68-2.64-3.58-5.09-7.17-7.55-10.94-14.72-21.89-27.36-44.71-37.92-68.3-3.77-8.3-7.36-16.61-10.38-25.28-19.25-50.38-29.06-103.77-29.06-157.74%2C0-76.04%2C18.87-148.87%2C56.04-216.6l.19-.38%2C19.25-33.96%2C22.08-39.44%2C91.89%2C163.4%2C12.26%2C21.7%2C45.09%2C80.19%2C12.26%2C21.89%2C121.32%2C215.66%2C153.77%2C273.02c-175.09-.38-335.09-76.04-435.09-204.53Z%22/%3E%3C/svg%3E")}
