.hl{background:linear-gradient(100deg,#FF5B1F 0%,#FF8A3D 50%,#FF5B1F 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tr-shine 6s linear infinite}
@keyframes tr-shine{to{background-position:-200% 0}}
.hl.split{background:none;-webkit-text-fill-color:#FF5B1F;color:#FF5B1F;animation:none}
.hl.split .w>span{background:linear-gradient(100deg,#FF5B1F 0%,#FF8A3D 50%,#FF5B1F 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tr-shine 6s linear infinite;will-change:transform}
.split .w{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.08em;margin-right:-.08em;padding-left:.02em;margin-left:-.02em}
.ai-chip{position:relative;overflow:hidden}
.ai-chip::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,138,61,.65) 50%,transparent 70%);transform:translateX(-120%);animation:tr-sweep 3.2s var(--tr-ease) infinite 2s}
@keyframes tr-sweep{60%,100%{transform:translateX(120%)}}
.dot-field>.orb{position:absolute!important;z-index:0!important;filter:blur(80px);opacity:.55}
.orb-1{width:46vw!important;height:46vw;right:-10vw;top:-8vw;background:radial-gradient(circle,#FFB37A 0%,rgba(255,91,31,.35) 45%,transparent 70%);animation:tr-f1 18s ease-in-out infinite}
.orb-2{width:30vw!important;height:30vw;left:-8vw;bottom:5vw;background:radial-gradient(circle,#fff 0%,transparent 70%);animation:tr-f2 22s ease-in-out infinite}
@keyframes tr-f1{50%{transform:translate(-6vw,6vw) scale(1.1)}}
@keyframes tr-f2{50%{transform:translate(5vw,-4vw) scale(.9)}}
.hero-fade::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(to bottom,transparent,#F3F3F1);z-index:1;pointer-events:none}
html.tr-js .hero-in{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--tr-ease),transform 1.2s var(--tr-ease)}
html.tr-js.tr-ready .hero-in{opacity:1;transform:none}
html.tr-js.tr-ready .hero-in.d2{transition-delay:.15s}html.tr-js.tr-ready .hero-in.d3{transition-delay:.3s}
.line-draw{transform-origin:left;transform:scaleX(0);transition:transform 2.2s var(--tr-ease)}
.line-draw.in,.in .line-draw{transform:scaleX(1)}
.stagger.in .step-dot{background:#000;color:#fff;border-color:#000}
.proj img{transition:transform 1.4s var(--tr-ease)}
.proj:hover img{transform:scale(1.04)}
.h-progress{display:block;width:220px;height:2px;background:rgba(17,17,17,.09);position:relative;border-radius:2px;overflow:hidden}
.h-progress i{position:absolute;inset:0;background:#FF5B1F;transform-origin:left;transform:scaleX(0)}
@media (max-width:1024px){.h-progress{display:none}}
.check-item,.x-item{display:flex;align-items:center;gap:12px}
.check-item::before,.x-item::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:#FF5B1F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.x-item::before{background:#cfcfcb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/11px no-repeat}
.btn .lbl{display:grid;overflow:hidden;height:1.5em;line-height:1.5em;justify-items:center}
.btn .lbl span{grid-area:1/1;white-space:nowrap;transition:transform .55s var(--tr-ease)}
.btn .lbl span+span{transform:translateY(100%)}
.btn:hover .lbl span{transform:translateY(-100%)}
.btn:hover .lbl span+span{transform:translateY(0)}
/* Kontaktformular im schwarzen CTA (aufklappbar) */
html.tr-js #cta-form:not(.tr-collapse #cta-form){display:none}
.tr-collapse{display:grid;grid-template-rows:0fr;opacity:0;margin-top:-24px;visibility:hidden;transition:grid-template-rows .9s var(--tr-ease),opacity .6s var(--tr-ease),margin-top .9s var(--tr-ease),visibility 0s linear .9s}
.tr-collapse.open{grid-template-rows:1fr;opacity:1;margin-top:20px;visibility:visible;transition:grid-template-rows .9s var(--tr-ease),opacity .7s var(--tr-ease) .15s,margin-top .9s var(--tr-ease),visibility 0s}
.tr-collapse-in{overflow:hidden;min-height:0}
.tr-collapse #cta-form{padding:36px 0 4px!important;border-top:1px solid rgba(255,255,255,.1);transform:translateY(-16px);transition:transform .9s var(--tr-ease)}
.tr-collapse.open #cta-form{transform:none}
#cta-form label{color:#9B9B9B!important}
#cta-form input,#cta-form textarea{background:#141414!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important;transition:border-color .3s,background-color .3s}
#cta-form input:hover,#cta-form textarea:hover{border-color:rgba(255,255,255,.22)!important}
#cta-form input:focus,#cta-form textarea:focus{border-color:#FF5B1F!important;background:#1A1A1A!important}
#cta-form input::placeholder,#cta-form textarea::placeholder{color:#5F5F5C!important}
#cta-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #141414 inset!important;-webkit-text-fill-color:#fff!important}
#cta-form p{color:#6F6F6C!important}
#cta-form h3{color:#fff!important}
#cta-form h3+p{color:#9B9B9B!important}
