/* Unterseiten (Leistungen, Ratgeber, Branchen) im Design der Startseite */
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-weight:400 600;font-display:swap;src:url(/assets/fonts/source-sans-3-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-weight:400 600;font-display:swap;src:url(/assets/fonts/source-sans-3-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --canvas:#11151B;--panel:#1A2029;--panel-2:#212835;--accent:#EC6431;--accent-hover:#F27A45;
  --text-secondary:#A9B1BC;--text-primary:#EEF1F4;--line:rgba(169,177,188,.18);--line-strong:#5E6875;
  --signal:linear-gradient(135deg,#E94B4F,#EA7021);--ease-out:cubic-bezier(.22,1,.36,1);
  --display:"Barlow Condensed",system-ui,sans-serif;--body:"Source Sans 3",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --gut:clamp(16px,4vw,48px);--maxw:1200px
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--text-primary);font:400 18px/1.65 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

/* Navigation */
.nav{position:sticky;top:0;z-index:50;background:rgba(14,17,22,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--gut);max-width:1440px;margin:0 auto}
.nav .brand img{height:34px;width:auto}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;align-items:center}
.nav ul a{text-decoration:none;color:var(--text-primary);font:600 17px/1 var(--body);transition:color .3s var(--ease-out)}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--accent-hover)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:10px;font:600 16px/1 var(--body);text-decoration:none;border:1px solid transparent;transition:background .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out)}
.btn-primary{background:var(--accent);color:#14171C}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line-strong);color:var(--text-primary)}
.btn-ghost:hover{border-color:var(--text-secondary)}
.btn-sm{padding:10px 16px;font-size:15px}
.nav .btn-sm{color:#14171C}
.subnav{display:none}
@media (max-width:1180px){
  .nav ul li.opt{display:none}
  .subnav{display:flex;gap:8px;overflow-x:auto;padding:0 var(--gut) 12px;scrollbar-width:none}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{flex:none;padding:7px 12px;border:1px solid var(--line);border-radius:999px;font:500 12px/1 var(--mono);letter-spacing:.04em;text-decoration:none;color:var(--text-secondary)}
  .subnav a[aria-current]{color:var(--text-primary);border-color:var(--accent)}
}

/* Kopfbereich */
.crumbs{font:500 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--text-secondary);margin:0 0 22px}
.crumbs a{text-decoration:none;color:var(--text-secondary)}
.crumbs a:hover{color:var(--text-primary)}
.crumbs span{margin:0 8px;opacity:.6}
.head{padding:clamp(40px,6vw,80px) 0 clamp(40px,6vw,72px)}
.head .grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center}
.kick{display:flex;align-items:center;gap:12px;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 18px}
.kick::before{content:"";width:36px;height:3px;border-radius:2px;background:var(--signal)}
h1{font:700 clamp(44px,6.2vw,84px)/.95 var(--display);margin:0 0 22px;letter-spacing:-.005em}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.55;color:#C9CFD7;margin:0 0 30px;max-width:40ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.head figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#0d1015}
.head figure img{width:100%;height:auto}
.facts-row{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.facts-row li{padding:8px 14px;border:1px solid var(--line);border-radius:999px;font:500 12px/1 var(--mono);letter-spacing:.06em;color:var(--text-primary);background:rgba(26,32,41,.6)}
@media (min-width:861px){
  .head .grid.wide{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
  .head .grid.wide h1{font-size:clamp(38px,4.4vw,64px)}
  .head .grid.wide figure{margin-right:calc(-1*min(160px,max(0px,(100vw - var(--maxw))/2)))}
}
@media (max-width:860px){.head .grid{grid-template-columns:1fr}}

/* Inhalt */
.sec{padding:clamp(48px,7vw,96px) 0;border-top:1px solid var(--line)}
.sec h2{font:700 clamp(34px,4.2vw,56px)/1 var(--display);margin:0 0 20px;max-width:22ch}
.sec h3{font:700 clamp(24px,2.2vw,28px)/1.1 var(--display);margin:30px 0 10px}
.prose{max-width:760px}
.prose p,.prose li{color:#C9CFD7}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 18px}
.prose li{margin-bottom:8px}
.prose strong{color:var(--text-primary);font-weight:600}
.prose a,.note a{color:var(--text-primary);text-decoration-color:var(--accent);text-underline-offset:3px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.feat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}
.feat .n{font:500 12px/1 var(--mono);color:var(--accent-hover);letter-spacing:.1em}
.feat h3{margin:12px 0 8px}
.feat p{margin:0;color:var(--text-secondary);font-size:17px}
@media (max-width:860px){.feats{grid-template-columns:1fr}}
table.spec{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:16px}
table.spec th,table.spec td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.spec th{font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:500}
table.spec td{color:#C9CFD7}
.tablewrap{overflow-x:auto}
@media (max-width:640px){
  table.spec thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  table.spec,table.spec tbody,table.spec tr,table.spec td{display:block;width:100%}
  table.spec tr{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
  table.spec td{border:0;padding:6px 0}
  table.spec td:first-child{font:700 22px/1.15 var(--display);color:var(--text-primary);padding-bottom:8px}
  table.spec td:first-child strong{font:inherit}
  table.spec td:not(:first-child)::before{content:attr(data-label);display:block;font:500 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
}
.refs{columns:3;column-gap:16px;margin-top:28px}
.refs figure{margin:0 0 16px;position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0d1015;break-inside:avoid}
.refs img{width:100%;height:auto}
.refs figcaption{position:absolute;inset:auto 0 0 0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(10,12,16,.88));font:600 16px/1.3 var(--body)}
.refs figcaption span{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-top:4px}
@media (max-width:860px){.refs{columns:2}.refs figcaption{position:static;background:var(--panel);padding:10px 12px;font-size:15px}.refs figcaption span{font-size:10px;letter-spacing:.05em}}
@media (max-width:520px){.refs{columns:1}}
.faq{max-width:820px;margin-top:20px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:600 19px/1.4 var(--body);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font:400 26px/1 var(--body);color:var(--accent-hover);transition:transform .3s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:#C9CFD7}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;padding:18px 22px;color:#C9CFD7;font-size:16px;max-width:760px;margin:20px 0}
.ctaband{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.ctaband h2{margin:0 0 8px}
.ctaband p{margin:0;color:var(--text-secondary);max-width:52ch}
.ctaband .contact{font:500 14px/1.7 var(--mono);color:var(--text-secondary);margin-top:14px}
.ctaband .contact a{color:var(--text-primary);text-decoration:none}
.links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.links a{display:block;padding:20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:rgba(26,32,41,.5);transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}
.links a:hover{border-color:rgba(236,100,49,.5);transform:translateY(-2px)}
.links b{display:block;font:700 22px/1.1 var(--display);margin-bottom:6px}
.links span{color:var(--text-secondary);font-size:15px}
@media (max-width:960px){.links{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.links{grid-template-columns:1fr}}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.cards3 a{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none}
.cards3 a img{aspect-ratio:4/5;object-fit:contain;background:#0d1015;width:100%;height:auto}
.cards3 a div{padding:22px}
.cards3 b{display:block;font:700 26px/1.05 var(--display);margin-bottom:8px}
.cards3 span{color:var(--text-secondary);font-size:16px}
@media (max-width:860px){.cards3{grid-template-columns:1fr}}

/* Bewegung: nur transform und opacity, damit nichts ruckelt */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:var(--signal);transform:scaleX(0);transform-origin:0 50%}
.anim .sec h2,.anim .sec .kick,.anim .prose>*,.anim .feat,.anim .refs figure,.anim .faq details,.anim .ctaband,.anim .links a,.anim .cards3 a,.anim .tablewrap,.anim .demo{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.anim .in{opacity:1!important;transform:none!important}
.head .cta-row,.head .facts-row{animation:rise .7s var(--ease-out) both}
.head .cta-row{animation-delay:.08s}.head .facts-row{animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.feat{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),border-color .3s var(--ease-out)}
.feat:hover{border-color:rgba(236,100,49,.5);transform:translateY(-3px)!important}
.refs figure img{transition:transform 1s var(--ease-out)}
.refs figure:hover img{transform:scale(1.05)}
.cards3 a{transition:opacity .7s var(--ease-out),transform .35s var(--ease-out),border-color .3s var(--ease-out)}
.cards3 a:hover{transform:translateY(-4px)!important;border-color:rgba(236,100,49,.5)}
.btn-primary{position:relative;overflow:hidden}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Kennzahlen */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.stats li{border-left:3px solid var(--accent);padding:4px 0 4px 18px}
.stats b{display:block;font:700 clamp(40px,5vw,64px)/1 var(--display)}
.stats span{color:var(--text-secondary);font-size:16px}
@media (max-width:640px){.stats{grid-template-columns:1fr}}

/* Interaktive Beispiele */
.demo{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,30px);margin-top:26px}
.demo .ctrl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.demo label{display:block;font:500 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.demo output{float:right;color:var(--text-primary);text-transform:none;letter-spacing:0}
.demo input[type=range]{width:100%;margin-top:10px;accent-color:var(--accent);height:28px;cursor:pointer}
.verdict{margin:16px 0 0;padding:10px 14px;border-radius:10px;font-weight:600;min-height:44px;background:rgba(255,255,255,.04);transition:background .3s var(--ease-out)}
.verdict[data-state=ok]{background:rgba(70,180,110,.16);color:#BDEBCB}
.verdict[data-state=bad]{background:rgba(233,75,79,.16);color:#F7C3C4}
.verdict[data-state=warn]{background:rgba(234,170,33,.16);color:#F5DFA6}
@media (max-width:640px){.demo .ctrl{grid-template-columns:1fr}}
.hell-scene{--amb:.5;--vis:1;--glow:0;position:relative;aspect-ratio:16/8;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#0b1320}
.hell-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(#bfe0ff,#f4f8ff);opacity:var(--amb)}
.hell-scene .screen{position:relative;width:min(46%,240px);aspect-ratio:3/4;background:#0a0d12;border-radius:6px;padding:7px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.hell-scene .screen::before{content:"";position:absolute;inset:7px;border-radius:3px;box-shadow:0 0 50px 18px rgba(255,255,255,.75);opacity:var(--glow);transition:opacity .25s}
.hell-scene .inner{position:relative;height:100%;border-radius:3px;background:#fff;color:#1b2430;display:flex;flex-direction:column;justify-content:center;padding:10px;font:700 clamp(15px,2.4vw,24px)/1.05 var(--display);opacity:var(--vis)}
.hell-scene .inner small{display:block;margin-top:8px;font:600 clamp(10px,1.3vw,13px)/1.3 var(--body)}
.hell-scene .wash{position:absolute;inset:0;background:#fff;opacity:calc(var(--amb)*(1 - var(--vis))*.75);pointer-events:none}
.demo canvas{width:100%;height:auto;display:block;border-radius:12px;background:#06080b}

/* Größenvergleich */
.sizes{padding:0;overflow:hidden;margin:26px 0 22px}
.sizes img{width:100%;height:auto}
.sizes figcaption{padding:12px 18px;font-size:15px;color:var(--text-secondary)}

/* Einsatzbereiche */
.uc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.uc-tabs button{padding:10px 18px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary);font:600 15px/1 var(--body);cursor:pointer;transition:background .3s var(--ease-out),color .3s var(--ease-out)}
.uc-tabs button:hover{color:var(--text-primary)}
.uc-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#14171C}
.uc-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:center;margin-bottom:18px}
.uc-panel[hidden]{display:none}
.uc-panel:last-child{margin-bottom:0}
.uc-panel img{width:100%;height:auto;border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.uc-panel h3{margin:0 0 10px}
.uc-panel p{margin:0;color:#C9CFD7}
.uc-in{animation:rise .5s var(--ease-out) both}
@media (max-width:760px){.uc-panel{grid-template-columns:1fr}}

/* Innenleben */
.inside{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:center;margin-top:26px}
.hotspots{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.hotspots img{width:100%;height:auto}
.dot{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid #fff;background:var(--accent);color:#14171C;font:700 15px/1 var(--body);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.45)}
.dot::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(236,100,49,.75);animation:ping 2.2s var(--ease-out) infinite}
.dot[aria-pressed=true]{background:#fff}
.dot[aria-pressed=true]::after{animation:none;opacity:0}
@keyframes ping{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.hs-info{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;min-height:150px}
.hs-info b{display:block;font:700 28px/1.1 var(--display);margin-bottom:8px}
.hs-info span{color:#C9CFD7}
@media (max-width:860px){.inside{grid-template-columns:1fr}.dot{width:28px;height:28px;margin:-14px 0 0 -14px;font-size:13px}}

footer{border-top:1px solid var(--line);padding:44px 0 56px;color:var(--text-secondary);font-size:15px;margin-top:clamp(48px,7vw,96px)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer .fh{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);margin:0 0 14px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:8px}
footer a{color:var(--text-secondary);text-decoration:none}
footer a:hover{color:var(--text-primary)}
footer img{height:30px;width:auto;margin-bottom:14px}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}
