@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/unbounded-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/unbounded-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/unbounded-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/unbounded-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/instrument-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/instrument-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/instrument-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
body{margin:0}
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.rc{--acc:#D4FF3A;--bg:#FFFFFF;--bg2:#F4F4F1;--fg:#0B0B0C;--fg2:#4B4B50;--line:#E3E3DF;--card:#FFFFFF;--inv:#0B0B0C;--inv-fg:#F4F4F1;--inv-fg2:#B4B4B9;--inv-line:#2C2C30;--shadow:0 24px 60px -24px rgba(11,11,12,.28);font-family:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;overflow-x:clip;transition:background-color .5s ease,color .5s ease;-webkit-font-smoothing:antialiased;line-height:1.5}
.rc.is-dark{--bg:#0A0A0B;--bg2:#141416;--fg:#F3F3EF;--fg2:#A7A7AC;--line:#28282C;--card:#111113;--inv:#18181B;--inv-fg:#F3F3EF;--inv-fg2:#A7A7AC;--inv-line:#323237;--shadow:0 24px 60px -24px rgba(0,0,0,.8)}
.rc *,.rc *::before,.rc *::after{box-sizing:border-box}
:where(.rc) a{color:inherit}
.rc h1,.rc h2,.rc h3,.rc h4{font-family:'Unbounded',ui-sans-serif,system-ui,sans-serif;margin:0;letter-spacing:-0.025em;font-weight:600}
.rc p{margin:0}
.rc ul{margin:0;padding:0;list-style:none}
.mono{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.sec{padding:128px 0;position:relative}
.sec-alt{background:var(--bg2);transition:background-color .5s}
.eyebrow{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg);animation:ping 2.6s ease-out infinite}
.h2{font-size:clamp(32px,4.4vw,58px);line-height:1.04}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--fg2);max-width:640px}
.sh{display:flex;flex-direction:column;gap:20px;margin-bottom:64px;max-width:820px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ic-s{width:16px;height:16px}
.ic-l{width:26px;height:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;border:1.5px solid var(--fg);cursor:pointer;font-family:inherit;position:relative;overflow:hidden;isolation:isolate;transition:transform .2s ease,background-color .3s,color .3s,border-color .3s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn::before{content:'';position:absolute;inset:0;background:var(--acc);transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:-1}
@media (hover:hover){.btn:hover::before{transform:translateY(0)}}
.btn-p{background:var(--fg);color:var(--bg)}
@media (hover:hover){.btn-p:hover{color:#0B0B0C;border-color:#0B0B0C}}
.btn-o{background:transparent;color:var(--fg)}
@media (hover:hover){.btn-o:hover{color:#0B0B0C;border-color:#0B0B0C}}
.btn-inv{background:var(--inv-fg);color:var(--inv);border-color:var(--inv-fg)}
@media (hover:hover){.btn-inv:hover{color:#0B0B0C;border-color:var(--acc)}}
.btn .ar{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.btn:hover .ar{transform:translateX(5px)}}
.btn-full{width:100%}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;background:var(--card);transition:background-color .5s,border-color .5s}
.dot-live{width:8px;height:8px;border-radius:50%;background:#1F9D55;box-shadow:0 0 0 0 rgba(31,157,85,.5);animation:livep 2s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(31,157,85,.55)}80%,100%{box-shadow:0 0 0 10px rgba(31,157,85,0)}}
@keyframes ping{0%{box-shadow:0 0 0 0 var(--acc)}70%,100%{box-shadow:0 0 0 10px transparent}}
.d1{animation-delay:.05s !important}.d2{animation-delay:.12s !important}.d3{animation-delay:.19s !important}.d4{animation-delay:.26s !important}.d5{animation-delay:.33s !important}.d6{animation-delay:.4s !important}.d7{animation-delay:.47s !important}.d8{animation-delay:.54s !important}.d9{animation-delay:.61s !important}.d10{animation-delay:.68s !important}.d11{animation-delay:.75s !important}.d12{animation-delay:.82s !important}.d13{animation-delay:.89s !important}.d14{animation-delay:.96s !important}

/* progress + header */
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:var(--acc);transform-origin:left;transform:scaleX(0);z-index:80;pointer-events:none}
.hdr{position:sticky;top:16px;z-index:60;padding:16px 24px 0;margin-top:-16px}
.hdr-box{max-width:1240px;margin:0 auto;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:40px;box-shadow:0 18px 40px -26px rgba(11,11,12,.35);padding:0 14px 0 32px;transition:background-color .5s,border-color .5s;animation:hdrIn .9s cubic-bezier(.2,.9,.25,1) both}
@keyframes hdrIn{from{opacity:0;transform:translateY(-24px) scale(.97)}}
.hdr-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:76px;gap:24px}
.logo-a{display:flex;align-items:center;text-decoration:none;padding:8px 0;justify-self:start}
.logo{height:24px;width:auto;display:block;transition:filter .5s}
.is-dark .logo{filter:invert(1)}
.nav{display:flex;gap:8px;justify-content:center}
.nav a{display:block;padding:10px 16px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;position:relative;transition:opacity .3s}
.nav a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.nav a:hover::after,.nav a.is-on::after{transform:scaleX(1);transform-origin:left}}
.hdr-r{display:flex;align-items:center;gap:10px;justify-self:end}
.ig-ic{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--fg);text-decoration:none;flex-shrink:0;transition:background-color .3s,border-color .3s,color .3s,transform .45s cubic-bezier(.2,1.4,.4,1)}
@media (hover:hover){.ig-ic:hover{background:var(--acc);border-color:var(--fg);color:#0B0B0C;transform:rotate(-12deg) scale(1.06)}}
.hdr-cta{height:52px;padding:0 30px;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.hdr .mnav{max-width:1240px;margin:10px auto 0;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:12px 24px 24px;box-shadow:var(--shadow)}
.tg{width:80px;height:44px;border-radius:999px;border:1.5px solid var(--fg);background:var(--bg2);position:relative;cursor:pointer;padding:0;color:var(--fg2);transition:background-color .5s,border-color .5s;flex-shrink:0}
.tg-s,.tg-m{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center}
.tg-s{left:12px}.tg-m{right:12px}
.tg-k{position:absolute;top:4px;left:4px;width:33px;height:33px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;transition:transform .6s cubic-bezier(.6,-0.35,.3,1.35),background-color .5s,color .5s}
.is-dark .tg-k{transform:translateX(36px) rotate(360deg)}
.tg-k .ic{width:17px;height:17px;animation:tgspin .6s ease}
@keyframes tgspin{from{transform:rotate(-120deg) scale(.4);opacity:0}}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--fg);background:transparent;color:var(--fg);align-items:center;justify-content:center;cursor:pointer}
.mnav{border-top:1px solid var(--line);padding:16px 0 24px;display:flex;flex-direction:column;gap:4px;animation:fadeDown .35s ease both}
.mnav a{padding:14px 4px;font-size:20px;font-family:'Unbounded',sans-serif;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-10px)}}

/* hero */
.hero{position:relative;padding:72px 0 104px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:radial-gradient(var(--line) 1.3px,transparent 1.3px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 65% 70% at 72% 45%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 65% 70% at 72% 45%,#000 25%,transparent 75%);animation:drift 40s linear infinite;pointer-events:none}
@keyframes drift{to{background-position:280px 280px}}
.hero-scan{position:absolute;left:0;right:0;height:140px;top:-140px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--acc) 22%,transparent),transparent);animation:scan 7s cubic-bezier(.6,0,.4,1) infinite;pointer-events:none;opacity:.7}
@keyframes scan{0%{transform:translateY(0)}60%,100%{transform:translateY(1100px)}}
.hero-wrap{max-width:1480px}
.hero-in{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center}
.hero-c{position:relative;z-index:2;text-align:center;max-width:780px;display:flex;flex-direction:column;align-items:center}
.hero-h{font-size:clamp(44px,6.3vw,94px);line-height:1;letter-spacing:-0.045em;margin:0 0 30px}
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .08em;margin-bottom:-.08em}
.w>span{display:inline-block;animation:wup 1s cubic-bezier(.2,.85,.2,1) both}
@keyframes wup{from{transform:translateY(115%) rotate(4deg)}}
.mk{position:relative}
.mk::after{content:'';position:absolute;left:0;right:0;bottom:.06em;height:.16em;background:var(--acc);transform:scaleX(0);transform-origin:left;animation:mk 1.1s 1.05s cubic-bezier(.7,0,.2,1) forwards;border-radius:2px}
@keyframes mk{to{transform:scaleX(1)}}
.hero-sub{animation:fadeUp .9s .7s cubic-bezier(.2,.8,.2,1) both}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;animation:fadeUp .9s .85s cubic-bezier(.2,.8,.2,1) both}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;animation:fadeUp .9s 1s cubic-bezier(.2,.8,.2,1) both}
.pill-in{animation:fadeUp .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}}
.hv{position:absolute;inset:0;pointer-events:none;z-index:1}
.px{position:absolute;top:0;bottom:0;width:320px}
.px-l{left:0}.px-r{right:0}
.hero-sub{max-width:560px;margin:0 auto}
.hero-ctas{justify-content:center}
.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px;margin:28px auto 0;width:max-content;text-decoration:none;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg2);animation:fadeUp .9s 1.4s cubic-bezier(.2,.8,.2,1) both}
.mouse{width:26px;height:42px;border:1.5px solid var(--fg);border-radius:14px;display:flex;justify-content:center;padding-top:7px}
.mouse i{width:4px;height:9px;border-radius:2px;background:var(--fg);animation:wheel 1.8s cubic-bezier(.6,0,.4,1) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}
/* big scroll text */
.bigtxt{padding:110px 0;overflow:hidden;display:flex;flex-direction:column;gap:10px}
.bt-row{font-family:'Unbounded',ui-sans-serif,sans-serif;font-weight:600;font-size:clamp(56px,11vw,176px);line-height:1.02;letter-spacing:-0.05em;white-space:nowrap;width:max-content;will-change:transform}
.bt-2{color:color-mix(in srgb,var(--fg) 14%,var(--bg))}
.bt-track{display:flex;width:max-content;animation:btMarq 42s linear infinite}
.bt-2 .bt-track{animation-direction:reverse;animation-duration:34s}
.bigtxt:hover .bt-track{animation-play-state:paused}
.bt-item{display:flex;align-items:center;gap:.3em;padding-right:.3em}
.bt-star{width:.5em;height:.5em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;animation:spin360 8s linear infinite}
.bt-1 .bt-star{stroke:var(--fg)}
.bt-2 .bt-star{stroke:var(--acc)}
@keyframes btMarq{to{transform:translateX(-50%)}}
.bt-acc{background:var(--acc);color:#0B0B0C;padding:0 .14em .04em;border-radius:.14em;margin-left:.06em}
.pop{position:absolute;animation:popIn 1s cubic-bezier(.2,1.3,.35,1) both}
@keyframes popIn{from{opacity:0;transform:translateY(40px) scale(.9)}}
.fl{animation:float 6s ease-in-out infinite}
.fl2{animation:float 7.5s ease-in-out -2s infinite}
.fl3{animation:float 5.5s ease-in-out -4s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);transition:background-color .5s,border-color .5s}
.br-card{width:360px;overflow:hidden}
.br-top{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.br-d{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--fg2)}
.br-url{margin-left:8px;flex:1;display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:var(--bg2);font-size:12.5px;color:var(--fg2)}
.br-body{padding:20px;display:flex;flex-direction:column;gap:12px}
.sk{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg2) 0%,var(--line) 40%,var(--bg2) 80%);background-size:300% 100%;animation:shim 2.2s linear infinite}
@keyframes shim{from{background-position:100% 0}to{background-position:-200% 0}}
.br-hero{height:110px;border-radius:14px;background:var(--fg);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px;transition:background-color .5s}
.br-hero::after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;background:var(--acc);right:-18px;top:-22px;animation:orb 5s ease-in-out infinite}
@keyframes orb{50%{transform:translate(-30px,26px) scale(.8)}}
.br-btn{height:22px;width:92px;border-radius:999px;background:var(--bg);position:relative;z-index:1;transition:background-color .5s}
.g-card{width:300px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px}
.g-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.g-lbl{font-size:12px;color:var(--fg2)}
.rank{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:var(--acc);color:#0B0B0C;font-size:12px;font-weight:700}
.rank .ic{width:13px;height:13px;stroke-width:2.4;animation:upb 1.6s ease-in-out infinite}
@keyframes upb{50%{transform:translateY(-3px)}}
.g-name{font-weight:600;font-size:16px}
.stars{letter-spacing:2px;font-size:14px}
.stars span{display:inline-block;animation:starIn .5s cubic-bezier(.2,1.6,.4,1) both}
@keyframes starIn{from{transform:scale(0) rotate(-90deg);opacity:0}}
.chat-card{width:300px;padding:16px;display:flex;flex-direction:column;gap:10px}
.cc-h{display:flex;align-items:center;gap:10px}
.av{width:34px;height:34px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:600;font-size:14px;transition:background-color .5s,color .5s;flex-shrink:0}
.cc-n{font-weight:600;font-size:14px;line-height:1.2}
.cc-s{font-size:12px;color:var(--fg2);display:flex;align-items:center;gap:6px}
.bub{padding:10px 14px;border-radius:16px;font-size:13.5px;max-width:88%;line-height:1.4}
.bub-me{align-self:flex-end;background:var(--fg);color:var(--bg);border-bottom-right-radius:4px;transition:background-color .5s,color .5s}
.bub-bot{align-self:flex-start;background:var(--bg2);border-bottom-left-radius:4px;transition:background-color .5s}
.cc-stage{position:relative;height:42px}
.typing{position:absolute;left:0;top:0;display:flex;gap:4px;padding:14px 16px;border-radius:16px;background:var(--bg2);animation:typeShow 6s infinite}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--fg2);animation:tdot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes typeShow{0%,8%{opacity:0;transform:scale(.8)}12%,42%{opacity:1;transform:none}46%,100%{opacity:0;transform:scale(.8)}}
.reply{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;animation:replyShow 6s infinite;font-weight:500}
@keyframes replyShow{0%,44%{opacity:0;transform:translateY(8px)}50%,92%{opacity:1;transform:none}100%{opacity:0}}
.reply .ok{width:18px;height:18px;border-radius:50%;background:var(--acc);color:#0B0B0C;display:grid;place-items:center}
.reply .ok .ic{width:12px;height:12px;stroke-width:3}
.calls-card{width:240px;padding:18px;display:flex;flex-direction:column;gap:6px}
.calls-n{font-family:'Unbounded',sans-serif;font-size:38px;font-weight:600;letter-spacing:-0.03em;line-height:1.1}
.calls-u{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--fg2)}
.spark{width:100%;height:60px;overflow:visible}
.spark path{fill:none;stroke:var(--fg);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320;animation:draw 4s cubic-bezier(.6,0,.2,1) infinite}
.spark circle{fill:var(--acc);stroke:var(--fg);stroke-width:2;animation:spdot 4s infinite}
@keyframes draw{0%{stroke-dashoffset:320}55%,88%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes spdot{0%,50%{opacity:0;transform:scale(0)}58%,88%{opacity:1;transform:scale(1)}100%{opacity:0}}
.spark circle{transform-origin:196px 8px}
.badge-rot{width:156px;height:156px;position:relative}
.badge-rot svg{width:100%;height:100%;animation:spin360 22s linear infinite}
.badge-rot text{font-family:'JetBrains Mono',monospace;font-size:12.4px;letter-spacing:2.6px;fill:var(--fg);text-transform:uppercase}
.badge-c{position:absolute;inset:38px;border-radius:50%;background:var(--acc);color:#0B0B0C;display:grid;place-items:center;border:1.5px solid var(--fg)}
.badge-c .ic{width:30px;height:30px;transform:rotate(-45deg);stroke-width:2}
@keyframes spin360{to{transform:rotate(360deg)}}

/* marquee */
.mq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden;display:flex;flex-direction:column;gap:14px;transition:border-color .5s}
.mq-row{display:flex;width:max-content;animation:mq 46s linear infinite}
.mq-row.rev{animation-direction:reverse;animation-duration:58s}
@media (hover:hover){.mq:hover .mq-row{animation-play-state:paused}}
.mq-i{display:flex;align-items:center;gap:32px;padding-right:32px;font-family:'Unbounded',sans-serif;font-size:clamp(22px,2.6vw,34px);font-weight:500;letter-spacing:-0.02em;white-space:nowrap}
.mq-row.rev .mq-i{color:color-mix(in srgb,var(--fg) 14%,var(--bg))}
.mq-star{width:26px;height:26px;color:var(--fg);animation:spin360 6s linear infinite;-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-50%)}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(500px,100%),1fr));gap:20px}
.svc{border:1px solid var(--line);border-radius:30px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s,background-color .5s}
@media (hover:hover){.svc:hover{transform:translateY(-8px);border-color:var(--fg)}}
.svc-art{height:230px;background:var(--bg2);position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:grid;place-items:center;transition:background-color .5s}
.svc-body{padding:32px 34px 34px;display:flex;flex-direction:column;gap:18px;flex:1}
.svc-tag{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}
.svc h3{font-size:26px;line-height:1.15}
.svc-d{color:var(--fg2);font-size:16px}
.feat{display:grid;gap:10px}
.feat li{display:flex;gap:12px;font-size:15.5px;align-items:flex-start;line-height:1.45}
.ck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--fg);display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.ck .ic{width:11px;height:11px;stroke-width:3}
.ck-acc{background:var(--acc);border-color:var(--acc);color:#0B0B0C}
.quote{border-top:1px dashed var(--line);padding-top:16px;font-style:italic;color:var(--fg2);font-size:15px}
.tlink{margin-top:auto;font-weight:600;text-decoration:none;display:inline-flex;gap:8px;align-items:center;align-self:flex-start;padding-top:8px;border-bottom:1.5px solid var(--fg);padding-bottom:2px}
.tlink .ic{transition:transform .35s}
@media (hover:hover){.tlink:hover .ic{transform:translateX(5px)}}
/* art: commerce */
.a-br{width:320px;height:170px;border-radius:16px;border:1.5px solid var(--fg);background:var(--card);overflow:hidden;position:relative;transition:background-color .5s}
.a-br-top{height:26px;border-bottom:1.5px solid var(--fg);display:flex;align-items:center;gap:5px;padding:0 10px}
.a-br-top i{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--fg)}
.a-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}
.blk{height:52px;border-radius:8px;background:var(--bg2);border:1.5px solid var(--fg);animation:blk 5s cubic-bezier(.2,1.2,.4,1) infinite both;transition:background-color .5s}
.blk.wide{grid-column:span 3;height:34px;background:var(--fg)}
.blk.ac{background:var(--acc)}
@keyframes blk{0%,6%{transform:scale(.5) translateY(14px);opacity:0}16%,86%{transform:none;opacity:1}96%,100%{opacity:0;transform:scale(.96)}}
.cart{position:absolute;right:-14px;bottom:-14px;width:72px;height:72px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;border:4px solid var(--bg2);animation:cartB 5s ease-in-out infinite;transition:background-color .5s,color .5s}
.cart-n{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:50%;background:var(--acc);color:#0B0B0C;font-size:12px;font-weight:700;display:grid;place-items:center;animation:cartN 5s ease-in-out infinite}
@keyframes cartB{0%,60%,100%{transform:none}66%{transform:translateY(-10px) rotate(-8deg)}72%{transform:none}}
@keyframes cartN{0%,62%{transform:scale(0)}70%,94%{transform:scale(1)}100%{transform:scale(0)}}
.a-wrap{position:relative}
/* art: growth */
.a-bars{display:flex;align-items:flex-end;gap:12px;height:150px;position:relative}
.gb{width:30px;border-radius:8px 8px 3px 3px;background:var(--fg);transform-origin:bottom;animation:gb 3.2s cubic-bezier(.5,0,.3,1) infinite alternate;transition:background-color .5s}
.gb.last{background:var(--acc);border:1.5px solid var(--fg)}
.g0{height:30%;animation-delay:0s}.g1{height:38%;animation-delay:.1s}.g2{height:34%;animation-delay:.2s}.g3{height:52%;animation-delay:.3s}.g4{height:60%;animation-delay:.4s}.g5{height:74%;animation-delay:.5s}.g6{height:86%;animation-delay:.6s}.g7{height:100%;animation-delay:.7s}
@keyframes gb{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
.g-tag{position:absolute;right:-70px;top:-26px;background:var(--card);border:1.5px solid var(--fg);border-radius:12px;padding:8px 12px;font-family:'Unbounded',sans-serif;font-weight:600;font-size:20px;display:flex;align-items:center;gap:6px;animation:float 4s ease-in-out infinite;transition:background-color .5s}
.g-axis{position:absolute;left:-10px;right:-10px;bottom:-6px;height:1.5px;background:var(--fg)}
/* art: ai */
.a-ai{display:flex;align-items:center;gap:22px}
.wave{display:flex;align-items:center;gap:4px;height:120px}
.wv{width:5px;border-radius:4px;background:var(--fg);animation:wv 1.1s ease-in-out infinite alternate;transition:background-color .5s}
.w0{height:30%;animation-delay:-.1s}.w1{height:62%;animation-delay:-.5s}.w2{height:44%;animation-delay:-.9s}.w3{height:86%;animation-delay:-.3s}.w4{height:52%;animation-delay:-.7s}.w5{height:72%;animation-delay:-.2s}.w6{height:38%;animation-delay:-.6s}
@keyframes wv{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.ph-core{width:96px;height:96px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg);display:grid;place-items:center;color:#0B0B0C;position:relative;flex-shrink:0}
.ph-core::before,.ph-core::after{content:'';position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid var(--fg);animation:ring 2.4s ease-out infinite}
.ph-core::after{animation-delay:1.2s}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(1.9);opacity:0}}
.ph-core .ic{width:34px;height:34px;animation:ringing 2.4s ease-in-out infinite}
@keyframes ringing{0%,40%,100%{transform:rotate(0)}5%,15%,25%{transform:rotate(-14deg)}10%,20%,30%{transform:rotate(14deg)}}
/* art: apps */
.a-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:280px}
.tl{aspect-ratio:1;border-radius:14px;border:1.5px solid var(--fg);background:var(--card);animation:tl 4.2s ease-in-out infinite;transition:border-color .5s}
.t0{animation-delay:0s}.t1{animation-delay:.35s}.t2{animation-delay:.7s}.t3{animation-delay:1.05s}.t4{animation-delay:1.4s}.t5{animation-delay:1.75s}
@keyframes tl{0%,100%{background:var(--card);transform:none;border-radius:14px}12%{background:var(--fg);transform:scale(.88);border-radius:50%}24%{background:var(--card);transform:none;border-radius:14px}}
.tl.ac{animation-name:tlac}
@keyframes tlac{0%,100%{background:var(--card);transform:none}12%{background:var(--acc);transform:scale(1.08) rotate(8deg)}24%{background:var(--card);transform:none}}

/* vorher / nachher */
.vn{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:stretch}
.vn-c{border-radius:30px;padding:40px;display:flex;flex-direction:column;gap:22px}
.vn-v{border:1.5px dashed var(--line);background:transparent}
.vn-n{background:var(--inv);color:var(--inv-fg);transition:background-color .5s,color .5s}
.vn-t{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.vn-l{display:grid;gap:16px}
.vn-l li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45}
.vn-v li{color:var(--fg2)}
.xk{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--fg2);display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.xk .ic{width:11px;height:11px;stroke-width:2.6}
.strk{background-image:linear-gradient(var(--fg2),var(--fg2));background-repeat:no-repeat;background-position:0 58%;background-size:100% 1.5px}
.vn-mid{display:grid;place-items:center}
.vn-arrow{width:72px;height:72px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg);color:#0B0B0C;display:grid;place-items:center;animation:nudge 2.2s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(8px)}}
.vn-n .ck{border-color:var(--acc);background:var(--acc);color:#0B0B0C}
.vn-cta{display:flex;justify-content:center;margin-top:48px}

/* branchen */
.br-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.bc{border:1px solid var(--line);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:14px;background:var(--card);transition:background-color .4s,color .4s,transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s}
@media (hover:hover){.bc:hover{background:var(--fg);color:var(--bg);transform:translateY(-6px);border-color:var(--fg)}}
@media (hover:hover){.bc:hover .bc-p{color:inherit;opacity:.78}}
.bc-i{width:54px;height:54px;border-radius:16px;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,1.4,.4,1),background-color .4s,color .4s}
@media (hover:hover){.bc:hover .bc-i{transform:rotate(-10deg) scale(1.08);background:var(--acc);color:#0B0B0C;border-color:var(--acc)}}
.bc h3{font-size:19px}
.bc-p{color:var(--fg2);font-size:15px;transition:color .4s}

/* stats */
.stats{background:var(--inv);color:var(--inv-fg);padding:96px 0;transition:background-color .5s,color .5s;position:relative;overflow:hidden}
.stats::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--inv-line) 1px,transparent 1px),linear-gradient(90deg,var(--inv-line) 1px,transparent 1px);background-size:64px 64px;opacity:.55;animation:gridmv 20s linear infinite;pointer-events:none}
@keyframes gridmv{to{background-position:64px 64px}}
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:40px;position:relative}
.st{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1.5px solid var(--inv-line)}
.st-n{font-family:'Unbounded',sans-serif;font-size:clamp(52px,5.6vw,80px);font-weight:600;letter-spacing:-0.04em;line-height:1;display:flex;align-items:flex-start}
.st-n .acc{color:var(--acc)}
.st-n .num{font-variant-numeric:tabular-nums;min-width:1ch}
.st-n .num+.acc{margin-left:.08em}
.roll{display:inline-block;height:1.12em;overflow:hidden;line-height:1.12em}
.strip{display:flex;flex-direction:column}
.strip span{display:block;height:1.12em;line-height:1.12em}
.dg0{transform:translateY(0)}.dg1{transform:translateY(-1.12em)}.dg2{transform:translateY(-2.24em)}.dg3{transform:translateY(-3.36em)}.dg4{transform:translateY(-4.48em)}.dg5{transform:translateY(-5.6em)}.dg6{transform:translateY(-6.72em)}.dg7{transform:translateY(-7.84em)}.dg8{transform:translateY(-8.96em)}.dg9{transform:translateY(-10.08em)}
.strip{animation:roll 2.4s cubic-bezier(.2,.8,.15,1) .2s both}
.roll:nth-child(3) .strip{animation-delay:.38s}.roll:nth-child(4) .strip{animation-delay:.56s}
.js-stats .st:not(.go) .strip{animation:none !important;transform:translateY(0) !important}
.st-n .acc{line-height:1.12em}
@keyframes roll{from{transform:translateY(0)}}
.st-l{font-weight:600;font-size:17px}
.st-s{color:var(--inv-fg2);font-size:14.5px}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:0;border-top:1px solid var(--line)}
.why{padding:36px 32px 40px 0;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--line);position:relative}
.why-n{font-family:'Unbounded',sans-serif;font-size:56px;font-weight:600;line-height:1;color:color-mix(in srgb,var(--fg) 14%,var(--bg));transition:color .4s}
@media (hover:hover){.why:hover .why-n{color:var(--fg)}}
.why h3{font-size:20px;line-height:1.25;max-width:340px}
.why p{color:var(--fg2);font-size:15.5px;max-width:380px}
.why::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.why:hover::after{transform:scaleX(1)}}

/* pricing */
.pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:20px;align-items:stretch}
.pr{border:1px solid var(--line);border-radius:30px;padding:38px 34px;display:flex;flex-direction:column;gap:22px;background:var(--card);position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1),background-color .5s,border-color .5s}
@media (hover:hover){.pr:hover{transform:translateY(-6px)}}
.pr.pf{background:var(--inv);color:var(--inv-fg);border-color:transparent}
.pr.pf::before{content:'';position:absolute;inset:-2px;border-radius:32px;padding:2px;background:conic-gradient(from var(--ang),transparent 0%,transparent 62%,var(--acc) 80%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:angspin 4s linear infinite;pointer-events:none}
@keyframes angspin{to{--ang:360deg}}
.pr-badge{position:absolute;top:-15px;left:34px;height:30px;padding:0 14px;border-radius:999px;background:var(--acc);color:#0B0B0C;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;border:1.5px solid #0B0B0C}
.pr-badge .ic{width:13px;height:13px;animation:spin360 4s linear infinite}
.pr-tag{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}
.pf .pr-tag,.pf .pr-for,.pf .pr-note{color:var(--inv-fg2)}
.pr-name{font-size:24px}
.pr-price{display:flex;align-items:baseline;gap:8px}
.pr-amt{font-family:'Unbounded',sans-serif;font-size:58px;font-weight:600;letter-spacing:-0.045em;line-height:1}
.pr-per{color:var(--fg2);font-size:16px}
.pf .pr-per{color:var(--inv-fg2)}
.pr-for{color:var(--fg2);font-size:15px}
.pr-l{display:grid;gap:11px}
.pr-l li{display:flex;gap:12px;font-size:15px;align-items:flex-start;line-height:1.45}
.pf .ck{border-color:var(--acc);background:var(--acc);color:#0B0B0C}
.fee{border:1.5px dashed var(--line);border-radius:18px;padding:18px;display:grid;gap:8px;font-size:14px}
.pf .fee{border-color:var(--inv-line)}
.fee-h{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.fee-h::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--acc);border:1.5px solid currentColor}
.pr-note{font-size:13.5px;font-style:italic;color:var(--fg2)}
.pr .btn{margin-top:auto}
.legal{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);margin-left:32px;width:max-content}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border:1px solid var(--line);border-radius:32px;overflow:hidden;background:var(--card);transition:background-color .5s,border-color .5s}
.calc-l{padding:40px;display:flex;flex-direction:column;gap:28px}
.calc-r{padding:40px;background:var(--inv);color:var(--inv-fg);display:flex;flex-direction:column;gap:22px;transition:background-color .5s,color .5s}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;border:1.5px solid var(--fg);border-radius:999px;padding:4px}
.seg::before{content:'';position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:999px;background:var(--fg);transition:transform .55s cubic-bezier(.6,-0.25,.3,1.3),background-color .5s}
.seg.p1::before{transform:translateX(100%)}.seg.p2::before{transform:translateX(200%)}
.seg button{position:relative;z-index:1;background:none;border:none;font-family:inherit;color:var(--fg);cursor:pointer;padding:12px 8px;border-radius:999px;display:flex;flex-direction:column;align-items:center;gap:0;transition:color .4s;min-height:56px;justify-content:center}
.seg button.is-on{color:var(--bg)}
.seg-n{font-weight:600;font-size:15px}
.seg-p{font-size:12.5px;opacity:.75}
.sl{display:grid;gap:10px;animation:fadeUp .5s cubic-bezier(.2,.8,.2,1) both}
.sl-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sl-l{font-weight:600;font-size:15.5px}
.sl-v{font-family:'Unbounded',sans-serif;font-weight:600;font-size:18px}
.sl-s{font-size:13px;color:var(--fg2)}
.rng{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background-color:var(--line);background-image:linear-gradient(var(--fg),var(--fg));background-repeat:no-repeat;cursor:pointer;outline:none;margin:6px 0}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--acc);border:2px solid var(--fg);box-shadow:0 4px 10px rgba(0,0,0,.18);transition:transform .2s}
@media (hover:hover){.rng::-webkit-slider-thumb:hover{transform:scale(1.15)}}
.rng::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--acc);border:2px solid var(--fg)}
.rng:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 60%,transparent)}
.note-box{display:flex;gap:12px;align-items:flex-start;border:1.5px dashed var(--line);border-radius:18px;padding:18px;font-size:15px;animation:fadeUp .5s both}
.res-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.res-l{font-size:14px;color:var(--inv-fg2)}
.res-v{font-family:'Unbounded',sans-serif;font-weight:600;font-size:22px}
.res-tot{font-family:'Unbounded',sans-serif;font-weight:600;font-size:clamp(44px,4.4vw,60px);letter-spacing:-0.04em;line-height:1}
.bar{height:14px;border-radius:99px;background:var(--inv-line);display:flex;overflow:hidden;gap:3px}
.bar-f{background:var(--inv-fg);border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.bar-s{background:var(--acc);border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.legend{display:flex;gap:18px;font-size:13px;color:var(--inv-fg2)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.lg{width:10px;height:10px;border-radius:50%}
.bd{display:grid;gap:8px;border-top:1px solid var(--inv-line);padding-top:16px}
.bd-r{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--inv-fg2)}
.bd-r strong{color:var(--inv-fg);font-weight:600}
.msg-box{border-radius:16px;padding:16px;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);font-size:14.5px}
.res-note{font-size:12.5px;color:var(--inv-fg2);font-style:italic}

/* zusatz */
.zt{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:40px}
.zt-bar{display:flex;gap:4px;border-bottom:1.5px solid var(--line);position:relative;flex-wrap:wrap}
.zt-bar button{background:none;border:none;font-family:'Unbounded',sans-serif;font-weight:500;font-size:16px;color:var(--fg2);padding:14px 18px;cursor:pointer;position:relative;transition:color .3s}
.zt-bar button.is-on{color:var(--fg)}
.zt-bar button::after{content:'';position:absolute;left:0;right:0;bottom:-1.5px;height:3px;background:var(--fg);transform:scaleX(0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.zt-bar button.is-on::after{transform:scaleX(1)}
.zt-nav{display:flex;align-items:center;gap:10px}
.rb{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--fg);background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer;transition:background-color .3s,color .3s}
@media (hover:hover){.rb:hover{background:var(--fg);color:var(--bg)}}
.zt-cnt{font-family:'JetBrains Mono',monospace;font-size:14px;min-width:48px;text-align:center}
.zp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;animation:zIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes zIn{from{opacity:0;transform:translateY(30px)}}
.zp-t{display:flex;flex-direction:column;gap:22px}
.zp h3{font-size:clamp(26px,2.8vw,38px);line-height:1.1}
.zp-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zp-cat{border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:8px;font-size:13.5px;background:var(--card);transition:background-color .5s}
.zp-cat strong{font-size:12px;font-family:'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.zp-cat span{color:var(--fg2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.orbit{position:relative;aspect-ratio:1;max-width:500px;width:100%;margin:0 auto}
.orb-r{position:absolute;border:1.5px dashed var(--line);border-radius:50%;animation:spin360 linear infinite}
.orb-r1{inset:16%;animation-duration:18s}
.orb-r2{inset:2%;animation-duration:30s;animation-direction:reverse}
.orb-core{position:absolute;inset:36%;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;text-align:center;font-family:'Unbounded',sans-serif;font-weight:600;font-size:20px;line-height:1.1;transition:background-color .5s,color .5s}
.orb-core::after{content:'';position:absolute;inset:-12px;border-radius:50%;border:1.5px solid var(--fg);animation:ring 3s ease-out infinite}
.node{position:absolute;translate:-50% -50%;display:flex;align-items:center;gap:8px;background:var(--card);border:1.5px solid var(--fg);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;white-space:nowrap;animation:float 4.5s ease-in-out infinite;transition:background-color .5s}
.orb-n{position:absolute;inset:16%}.orb-n.n2{inset:2%}
.orb-n .node:nth-child(2){animation-delay:-1.5s}.orb-n .node:nth-child(3){animation-delay:-3s}.orb-n .node:nth-child(4){animation-delay:-2.2s}
.node i{width:8px;height:8px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg)}
.d-tl{left:14.6%;top:14.6%}.d-tr{left:85.4%;top:14.6%}.d-bl{left:14.6%;top:85.4%}.d-br{left:85.4%;top:85.4%}
.n-t{left:50%;top:0}.n-b{left:50%;top:100%}.n-l{left:0;top:50%}.n-r{left:100%;top:50%}
.pano-w{border:1px solid var(--line);border-radius:28px;background:var(--card);overflow:hidden;transition:background-color .5s}
.pano-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pano-tabs{display:flex;gap:6px;flex-wrap:wrap}
.pano-tabs button{height:36px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--fg);font-family:inherit;font-weight:500;font-size:13.5px;cursor:pointer;transition:all .3s}
.pano-tabs button.is-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.pano{height:330px;position:relative;overflow:hidden;background:var(--bg2);transition:background-color .5s;cursor:grab}
.pano-strip{position:absolute;top:0;bottom:0;left:0;width:400%;display:flex;animation:pan 36s linear infinite}
@media (hover:hover){.pano:hover .pano-strip,.pano:hover .needle{animation-play-state:paused}}
.pano-strip svg{width:50%;height:100%;flex-shrink:0;animation:sceneIn .7s ease both}
@keyframes sceneIn{from{opacity:0;filter:blur(6px)}}
@keyframes pan{to{transform:translateX(-50%)}}
.ln{fill:none;stroke:var(--fg);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ln2{fill:none;stroke:var(--fg2);stroke-width:1.5;stroke-dasharray:4 6}
.lac{fill:var(--acc);stroke:var(--fg);stroke-width:2}
.sun{fill:var(--acc);stroke:var(--fg);stroke-width:2}
.pano-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:500;white-space:nowrap}
.compass{position:absolute;right:16px;top:16px;width:58px;height:58px;border-radius:50%;background:var(--card);border:1.5px solid var(--fg);display:grid;place-items:center}
.compass b{position:absolute;top:3px;font-size:10px;font-family:'JetBrains Mono',monospace}
.needle{width:4px;height:36px;background:linear-gradient(var(--fg) 50%,var(--acc) 50%);border-radius:2px;animation:spin360 36s linear infinite}
.pano-f{padding:12px 18px;font-size:12.5px;color:var(--fg2);border-top:1px solid var(--line)}
.apps2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:20px;animation:zIn .6s cubic-bezier(.2,.8,.2,1) both}
.ap{border:1px solid var(--line);border-radius:30px;padding:34px;display:flex;flex-direction:column;gap:18px;background:var(--card);transition:background-color .5s}
.ap h3{font-size:26px;line-height:1.15}
.ap-art{height:170px;border-radius:20px;background:var(--bg2);position:relative;overflow:hidden;display:grid;place-items:center;transition:background-color .5s}
.doc{position:absolute;width:62px;height:80px;border-radius:8px;border:1.5px solid var(--fg);background:var(--card);animation:docfly 4.5s cubic-bezier(.5,0,.3,1) infinite;left:12%;top:24%;transition:background-color .5s}
.doc::before,.doc::after{content:'';position:absolute;left:10px;right:10px;height:3px;border-radius:2px;background:var(--fg2)}
.doc::before{top:16px}.doc::after{top:26px;right:22px}
.doc.d-b{animation-delay:1.5s;top:12%;left:20%}.doc.d-c{animation-delay:3s;top:36%;left:6%}
@keyframes docfly{0%{transform:translate(0,0) rotate(-10deg);opacity:0}10%{opacity:1}55%{transform:translate(240px,10px) rotate(8deg) scale(.6);opacity:1}65%,100%{transform:translate(260px,20px) rotate(0) scale(.3);opacity:0}}
.folder{position:absolute;right:14%;top:50%;transform:translateY(-50%);width:96px;height:74px;border-radius:6px 14px 14px 14px;background:var(--acc);border:1.5px solid var(--fg);animation:fold 4.5s ease-in-out infinite}
.folder::before{content:'';position:absolute;left:-1.5px;top:-14px;width:44px;height:14px;border-radius:8px 8px 0 0;background:var(--acc);border:1.5px solid var(--fg);border-bottom:none}
.folder span{position:absolute;inset:0;display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:#0B0B0C;font-weight:500}
@keyframes fold{0%,50%,100%{transform:translateY(-50%) scale(1)}58%{transform:translateY(-50%) scale(1.1)}}
.phone{width:112px;height:150px;border-radius:20px;border:1.5px solid var(--fg);background:var(--card);padding:12px 10px;display:flex;flex-direction:column;gap:7px;position:relative;top:22px;transition:background-color .5s}
.phone i{display:block;height:16px;border-radius:5px;background:var(--bg2);animation:shim 2.2s linear infinite;background-image:linear-gradient(90deg,var(--bg2) 0%,var(--line) 40%,var(--bg2) 80%);background-size:300% 100%}
.phone i.ac{background:var(--acc);animation:pulseS 2s ease-in-out infinite;height:26px}
@keyframes pulseS{50%{transform:scale(.94)}}
.ph-side{position:absolute;width:76px;height:96px;border-radius:14px;border:1.5px solid var(--fg);background:var(--card);top:42px;transition:background-color .5s}
.ph-side.l{left:calc(50% - 150px);transform:rotate(-10deg);animation:float 5s ease-in-out infinite}
.ph-side.r{right:calc(50% - 150px);transform:rotate(10deg);animation:float 5s ease-in-out -2.5s infinite}

/* ruhrbot */
.bot{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.ex{display:grid;gap:10px;margin-top:8px}
.ex button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:16px 18px;font-family:inherit;font-size:15.5px;font-weight:500;color:var(--fg);cursor:pointer;transition:border-color .3s,transform .3s,background-color .5s}
@media (hover:hover){.ex button:hover{border-color:var(--fg);transform:translateX(6px)}}
.chat{border:1.5px solid var(--fg);border-radius:30px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:background-color .5s}
.chat-h{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.chat-b{height:400px;overflow-y:auto;padding:20px;display:flex;flex-direction:column-reverse;gap:12px}
.msg{max-width:82%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.5;animation:msgIn .45s cubic-bezier(.2,1.2,.4,1) both}
.msg.bot{align-self:flex-start;background:var(--bg2);border-bottom-left-radius:5px}
.msg.me{align-self:flex-end;background:var(--fg);color:var(--bg);border-bottom-right-radius:5px}
@keyframes msgIn{from{opacity:0;transform:translateY(12px) scale(.96)}}
.typing2{align-self:flex-start;display:flex;gap:5px;padding:16px 18px;border-radius:18px;background:var(--bg2);animation:msgIn .3s both}
.typing2 i{width:7px;height:7px;border-radius:50%;background:var(--fg2);animation:tdot 1s infinite}
.typing2 i:nth-child(2){animation-delay:.15s}.typing2 i:nth-child(3){animation-delay:.3s}
.chat-f{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line)}
.chat-f input{flex:1;min-width:0;height:50px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);padding:0 20px;font-family:inherit;font-size:15px;outline:none;transition:border-color .3s,background-color .5s}
.chat-f input:focus{border-color:var(--fg)}
.send{width:50px;height:50px;border-radius:50%;border:none;background:var(--fg);color:var(--bg);display:grid;place-items:center;cursor:pointer;transition:transform .3s,background-color .3s,color .3s}
@media (hover:hover){.send:hover{transform:rotate(-20deg) scale(1.06);background:var(--acc);color:#0B0B0C}}
.chat-note{font-size:12.5px;color:var(--fg2);padding:0 20px 14px}

/* ablauf */
.ab-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ab-line{position:absolute;left:10%;right:10%;top:31px;height:2px;background:var(--line)}
.ab-fill{height:100%;background:var(--fg);transition:width .8s cubic-bezier(.6,0,.2,1)}
.ab-s{background:none;border:none;font-family:inherit;color:var(--fg);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;z-index:1;padding:0 4px}
.ab-c{width:64px;height:64px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:600;font-size:16px;transition:all .5s cubic-bezier(.2,1.3,.4,1)}
.ab-s.is-done .ab-c{border-color:var(--fg);background:var(--fg);color:var(--bg)}
.ab-s.is-on .ab-c{border-color:var(--fg);background:var(--acc);color:#0B0B0C;transform:scale(1.18);box-shadow:0 0 0 8px color-mix(in srgb,var(--acc) 30%,transparent)}
.ab-t{font-weight:600;font-size:15px;text-align:center}
.ab-s:not(.is-on):not(.is-done) .ab-t{color:var(--fg2)}
.ab-card{margin-top:56px;border:1px solid var(--line);border-radius:30px;padding:44px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;background:var(--card);transition:background-color .5s}
.ab-big{font-family:'Unbounded',sans-serif;font-size:clamp(80px,10vw,150px);font-weight:600;line-height:.85;letter-spacing:-0.06em;color:color-mix(in srgb,var(--fg) 14%,var(--bg))}
.ab-anim{animation:zIn .6s cubic-bezier(.2,.8,.2,1) both;display:flex;flex-direction:column;gap:14px}
.ab-anim h3{font-size:clamp(24px,2.6vw,34px)}
.ab-anim p{color:var(--fg2);font-size:17px;max-width:620px}
.ab-prog{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:10px;max-width:240px}
.ab-prog i{display:block;height:100%;background:var(--fg);animation:abp 4.2s linear infinite;transform-origin:left}
@keyframes abp{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* instagram */
.ig-h{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.ig-prof{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:999px;padding:10px 10px 10px 10px;background:var(--card);transition:background-color .5s}
.ig-av{width:72px;height:72px;border-radius:50%;position:relative;display:grid;place-items:center;flex-shrink:0}
.ig-av::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from var(--ang),var(--fg),var(--acc),var(--fg));animation:angspin 3s linear infinite}
.ig-av span{position:relative;width:62px;height:62px;border-radius:50%;background:var(--bg);border:3px solid var(--bg);display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:700;font-size:20px;transition:background-color .5s}
.ig-name{font-weight:700;font-size:17px}
.ig-bio{font-size:14px;color:var(--fg2)}
.ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.igt{aspect-ratio:1;border-radius:24px;overflow:hidden;position:relative;display:block;text-decoration:none;border:1px solid var(--line);background:var(--bg2);transition:transform .5s cubic-bezier(.2,.8,.2,1),background-color .5s}
@media (hover:hover){.igt:hover{transform:scale(.97) rotate(-1deg)}}
.igt-ov{position:absolute;inset:0;background:color-mix(in srgb,var(--fg) 82%,transparent);color:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .35s;font-weight:600;z-index:3}
@media (hover:hover){.igt:hover .igt-ov{opacity:1}}
.igt-ov .ic{width:34px;height:34px;transform:scale(.6);transition:transform .45s cubic-bezier(.2,1.5,.4,1)}
@media (hover:hover){.igt:hover .igt-ov .ic{transform:scale(1)}}
.igt-tag{position:absolute;left:14px;bottom:14px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:11px;padding:6px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--fg)}
.ig-a{position:absolute;inset:0;display:grid;place-items:center}
.ig1{background:var(--fg);color:var(--bg);transition:background-color .5s,color .5s}
.ig1 .ig-a{padding:28px;place-items:start;align-content:center}
.ig1 p{font-family:'Unbounded',sans-serif;font-size:clamp(20px,2.4vw,32px);font-weight:600;line-height:1.1;letter-spacing:-0.03em}
.ig1 .cur{display:inline-block;width:.5em;height:.9em;background:var(--acc);vertical-align:-0.1em;margin-left:4px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.ig2 .cc{position:absolute;border-radius:50%;border:1.5px solid var(--fg);animation:ccs 3.6s ease-in-out infinite}
.cc1{width:30%;height:30%;background:var(--acc)}.cc2{width:52%;height:52%;animation-delay:.3s !important}.cc3{width:74%;height:74%;animation-delay:.6s !important}.cc4{width:96%;height:96%;animation-delay:.9s !important}
@keyframes ccs{50%{transform:scale(.82)}}
.ig3 .ig-a{place-items:end center;padding:0 28px 54px}
.ig3 .bars3{display:flex;gap:10px;align-items:flex-end;height:60%;width:100%}
.ig3 .bars3 i{flex:1;background:var(--fg);border-radius:6px 6px 0 0;transform-origin:bottom;animation:gb 2.6s cubic-bezier(.5,0,.3,1) infinite alternate}
.ig3 .bars3 i:last-child{background:var(--acc);border:1.5px solid var(--fg)}
.ig4 .sq{position:absolute;width:42%;height:42%;border:1.5px solid var(--fg);border-radius:18px;animation:sqr 6s cubic-bezier(.6,0,.3,1) infinite}
.ig4 .sq.b{animation-delay:-1.5s;width:30%;height:30%;background:var(--acc)}
.ig4 .sq.c{animation-delay:-3s;width:56%;height:56%;border-style:dashed}
@keyframes sqr{0%{transform:rotate(0)}25%{transform:rotate(90deg) scale(.9)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg) scale(1.08)}100%{transform:rotate(360deg)}}
.ig5{background:var(--acc)}
.ig5 img{width:66%;height:auto;animation:logoP 3s ease-in-out infinite}
@keyframes logoP{50%{transform:scale(1.06)}}
.ig5 .igt-tag{background:#FFFFFF;color:#0B0B0C;border-color:#0B0B0C}
.ig6 svg{width:140%;height:auto;position:absolute;left:0;top:50%;transform:translateY(-50%);animation:wvx 5s linear infinite}
.ig6 path{fill:none;stroke:var(--fg);stroke-width:2}
.ig6 path.a{stroke:var(--fg);stroke-width:6;opacity:.15}
@keyframes wvx{to{transform:translate(-28.57%,-50%)}}
.ig-cta{display:flex;justify-content:center;margin-top:40px}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.fq{border-top:1px solid var(--line)}
.fq:last-child{border-bottom:1px solid var(--line)}
.fq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:none;text-align:left;padding:24px 0;font-family:inherit;font-size:18px;font-weight:600;color:var(--fg);cursor:pointer}
.pl{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--fg);display:grid;place-items:center;flex-shrink:0;transition:transform .45s cubic-bezier(.2,1.3,.4,1),background-color .3s,color .3s}
.fq.is-open .pl{transform:rotate(135deg);background:var(--fg);color:var(--bg)}
.fa{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.fq.is-open .fa{grid-template-rows:1fr}
.fa>div{overflow:hidden}
.fa p{padding:0 56px 26px 0;color:var(--fg2);font-size:16px;line-height:1.65}

/* kontakt */
.kt{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}
.kt-f{border:1px solid var(--line);border-radius:32px;padding:40px;background:var(--card);transition:background-color .5s}
.form{display:grid;gap:18px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px}
.fld{display:grid;gap:8px}
.fld label{font-size:14px;font-weight:600}
.fld .opt{font-weight:400;color:var(--fg2)}
.inp{height:54px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);padding:0 18px;font-family:inherit;font-size:16px;outline:none;width:100%;transition:border-color .3s,box-shadow .3s,background-color .5s}
.inp:focus{border-color:var(--fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 55%,transparent)}
textarea.inp{height:140px;padding:14px 18px;resize:vertical}
select.inp{appearance:none;-webkit-appearance:none;cursor:pointer}
.sel{position:relative}
.sel .ic{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none}
.priv{font-size:13px;color:var(--fg2)}
.succ{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:48px 16px;animation:zIn .6s both}
.succ-c{width:84px;height:84px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg);display:grid;place-items:center;color:#0B0B0C;animation:popIn .7s cubic-bezier(.2,1.5,.4,1) both}
.succ-c path{stroke-dasharray:30;stroke-dashoffset:30;animation:drawck .6s .35s ease forwards}
@keyframes drawck{to{stroke-dashoffset:0}}
.kt-side{display:flex;flex-direction:column;gap:16px}
.next{border-radius:32px;padding:36px;background:var(--inv);color:var(--inv-fg);display:flex;flex-direction:column;gap:18px;transition:background-color .5s,color .5s}
.next p{color:var(--inv-fg2)}
.next .ck{border-color:var(--acc);background:var(--acc);color:#0B0B0C}
.chn{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:22px;padding:16px 18px;text-decoration:none;background:var(--card);transition:border-color .3s,transform .4s cubic-bezier(.2,.8,.2,1),background-color .5s}
@media (hover:hover){.chn:hover{border-color:var(--fg);transform:translateX(6px)}}
.chn-i{width:46px;height:46px;border-radius:14px;background:var(--bg2);display:grid;place-items:center;flex-shrink:0;transition:background-color .3s,color .3s}
@media (hover:hover){.chn:hover .chn-i{background:var(--acc);color:#0B0B0C}}
.chn-l{font-size:12.5px;color:var(--fg2);font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.chn-v{font-weight:600;font-size:16px}
.chn .ar{margin-left:auto;transition:transform .35s}
@media (hover:hover){.chn:hover .ar{transform:translate(3px,-3px)}}

/* footer */
.ft{border-top:1px solid var(--line);padding:80px 0 120px;overflow:hidden}
.ft-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.ft h4{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2);font-weight:500;margin-bottom:16px}
.ft-l{display:grid;gap:10px}
.ft-l a{text-decoration:none;font-size:15.5px;display:inline-block;transition:transform .3s}
@media (hover:hover){.ft-l a:hover{transform:translateX(4px)}}
.ft-claim{font-family:'Unbounded',sans-serif;font-size:24px;font-weight:600;letter-spacing:-0.03em;line-height:1.15;margin-bottom:14px}
.ft-big{margin-top:72px;position:relative}
.ft-big img{width:100%;height:auto;display:block;transition:filter .5s}
.is-dark .ft-big img{filter:invert(1)}
.ft-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:13.5px;color:var(--fg2)}
.ft-soc{display:flex;gap:10px}

/* newsletter */
.nl{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.nl-btn{height:58px;padding:0 24px 0 20px;border-radius:999px;background:var(--fg);color:var(--bg);border:1.5px solid var(--fg);display:flex;gap:10px;align-items:center;font-family:inherit;font-weight:600;font-size:15.5px;cursor:pointer;box-shadow:0 16px 40px -10px rgba(0,0,0,.4);position:relative;transition:transform .3s,background-color .5s,color .5s}
@media (hover:hover){.nl-btn:hover{transform:translateY(-3px)}}
.nl-btn::after{content:'';position:absolute;inset:-1.5px;border-radius:999px;border:2px solid var(--acc);animation:nlring 2.8s ease-out infinite;pointer-events:none}
@keyframes nlring{from{transform:scale(1);opacity:1}to{transform:scale(1.25,1.6);opacity:0}}
.nl-btn .env{animation:envw 4s ease-in-out infinite}
@keyframes envw{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-16deg)}88%{transform:rotate(14deg)}92%{transform:rotate(-8deg)}96%{transform:rotate(4deg)}}
.nl-dot{position:absolute;top:-3px;right:6px;width:14px;height:14px;border-radius:50%;background:var(--acc);border:2px solid var(--bg)}
.nl-pan{width:min(390px,calc(100vw - 32px));background:var(--card);border:1.5px solid var(--fg);border-radius:28px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transform-origin:bottom right;animation:nlPop .5s cubic-bezier(.2,1.35,.4,1) both;position:relative;overflow:hidden}
@keyframes nlPop{from{opacity:0;transform:scale(.6) translateY(30px)}}
.nl-pan::before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:var(--acc);right:-70px;top:-90px;opacity:.9;animation:orb 7s ease-in-out infinite}
.nl-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--fg);background:var(--card);color:var(--fg);display:grid;place-items:center;cursor:pointer;z-index:1;transition:transform .3s}
@media (hover:hover){.nl-x:hover{transform:rotate(90deg)}}
.nl-pan h3{font-size:22px;line-height:1.15;position:relative;padding-right:40px}
.nl-pan p{font-size:14.5px;color:var(--fg2);position:relative}
.nl-f{display:grid;gap:12px;position:relative}
.cbx{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--fg2);cursor:pointer}
.cbx input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--fg);flex-shrink:0}

/* reveal (scroll-driven where supported) */
@supports (animation-timeline: view()){
  .prog{animation:progA linear both;animation-timeline:scroll(root)}
  .rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .rvl{animation:rvL linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  .rvs{animation:rvS linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
  .strk{animation:strkA linear both;animation-timeline:view();animation-range:entry 60% cover 50%}
  .ft-big{animation:clipUp linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
  .bt-row{animation:btSkew linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  .why-n{animation:whyN linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
  .vn-arrow{animation:arrowSpin linear both,nudge 2.2s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 0% cover 50%,normal}
}
@supports (animation-timeline: view()){
  @media (min-width:1101px){
    .hero-c{animation:heroOut linear both;animation-timeline:view();animation-range:exit 0% exit 90%}
    .px-l{animation:pxL linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .px-r{animation:pxR linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  }
}
@keyframes heroOut{to{transform:translateY(-140px) scale(.9);opacity:0;filter:blur(8px)}}
@keyframes pxL{to{transform:translate(-220px,-120px) rotate(-8deg);opacity:0}}
@keyframes pxR{to{transform:translate(220px,-120px) rotate(8deg);opacity:0}}
@keyframes btSkew{0%{transform:skewX(-10deg) scale(.96)}50%{transform:none}100%{transform:skewX(10deg) scale(.96)}}
@keyframes whyN{from{transform:translateY(40px) scale(.7);opacity:0}}
@keyframes arrowSpin{from{rotate:-180deg;scale:.4}}
@keyframes progA{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rvIn{from{opacity:0;transform:translateY(60px)}}
@keyframes rvL{from{opacity:0;transform:translateX(-60px)}}
@keyframes rvS{from{opacity:0;transform:scale(.88)}}
@keyframes strkA{from{background-size:0% 1.5px}}
@keyframes clipUp{from{clip-path:inset(100% 0 0 0);transform:translateY(40px)}}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:themeWipe .8s cubic-bezier(.7,0,.2,1)}
@keyframes themeWipe{from{clip-path:circle(0% at calc(100% - 120px) 40px)}to{clip-path:circle(160% at calc(100% - 120px) 40px)}}

/* intro */
@property --pct{syntax:'<integer>';inherits:false;initial-value:0}
.intro{position:fixed;inset:0;z-index:200;animation:introGone 0s 2.95s forwards}
@keyframes introGone{to{visibility:hidden;pointer-events:none}}
.intro-c{position:absolute;top:0;bottom:0;width:50.5%;background:#0B0B0C radial-gradient(#26262A 1.2px,transparent 1.2px) 0 0/28px 28px;animation:curtain .85s cubic-bezier(.8,0,.2,1) forwards}
.intro-c.a{left:0;animation-delay:2s}
.intro-c.b{right:0;animation-delay:2.1s}
@keyframes curtain{to{transform:translateY(-101%)}}
.intro-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;color:#F4F4F1;animation:introFade .35s 1.85s ease forwards}
@keyframes introFade{to{opacity:0;transform:translateY(-24px)}}
.intro-ring{position:absolute;left:50%;top:50%;width:min(620px,86vw);aspect-ratio:1;margin-left:calc(min(620px,86vw) / -2);margin-top:calc(min(620px,86vw) / -2);border-radius:50%;border:1.5px dashed #2E2E33;animation:ringIn 1.4s cubic-bezier(.2,.8,.2,1) both,spin360 18s linear infinite}
@keyframes ringIn{from{opacity:0;scale:.6}}
.intro-logo{position:relative;width:min(540px,70vw)}
.intro-logo img{width:100%;height:auto;display:block;filter:invert(1);clip-path:inset(0 100% 0 0);animation:logoRev .01s .79s forwards}
@keyframes logoRev{to{clip-path:inset(0 0 0 0)}}
.intro-wipe{position:absolute;inset:-8px -12px;background:var(--acc);transform:scaleX(0);transform-origin:left;animation:wipe 1.3s .2s cubic-bezier(.8,0,.2,1) forwards}
@keyframes wipe{0%{transform:scaleX(0);transform-origin:left}45%{transform:scaleX(1);transform-origin:left}46%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.intro-tag{display:flex;gap:.7em;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:#B4B4B9;overflow:hidden;padding-bottom:2px}
.intro-tag span{display:inline-block;animation:wup .8s cubic-bezier(.2,.85,.2,1) both}
.intro-tag .t1{animation-delay:1.05s}.intro-tag .t2{animation-delay:1.13s}.intro-tag .t3{animation-delay:1.21s}
.intro-meta{position:absolute;left:32px;right:32px;bottom:30px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#B4B4B9}
.intro-num{font-family:'Unbounded',sans-serif;font-size:clamp(48px,7vw,96px);font-weight:600;letter-spacing:-0.04em;line-height:1;color:#F4F4F1;counter-reset:pct var(--pct);animation:pct 1.7s .1s cubic-bezier(.6,0,.2,1) forwards}
.intro-num::before{content:counter(pct)}
.intro-num::after{content:'%';font-size:.4em;color:var(--acc);margin-left:6px}
@keyframes pct{to{--pct:100}}
.intro-bar{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--acc);transform-origin:left;transform:scaleX(0);animation:barGrow 1.7s .1s cubic-bezier(.6,0,.2,1) forwards}
@keyframes barGrow{to{transform:scaleX(1)}}
.intro-on .hero,.intro-on .hero *,.intro-on .hdr-box{animation-play-state:paused !important}
.no-intro .intro{display:none}
@media (prefers-reduced-motion: reduce){.intro{display:none}}

/* whatsapp */
.wa{position:fixed;left:24px;bottom:24px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;color:#0B0B0C;display:grid;place-items:center;box-shadow:0 16px 40px -10px rgba(0,0,0,.4);text-decoration:none;border:1.5px solid #0B0B0C;transition:transform .4s cubic-bezier(.2,1.4,.4,1),bottom .4s ease}
.wa .ic{width:28px;height:28px;stroke-width:1.9}
@media (hover:hover){.wa:hover{transform:translateY(-4px) rotate(-8deg)}}
.wa::before{content:'';position:absolute;inset:-1.5px;border-radius:50%;border:2px solid #25D366;animation:waRing 2.4s ease-out infinite;pointer-events:none}
@keyframes waRing{from{transform:scale(1);opacity:.9}to{transform:scale(1.6);opacity:0}}
.wa-tip{position:absolute;left:70px;top:50%;transform:translate(-8px,-50%);background:var(--fg);color:var(--bg);font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
@media (hover:hover){.wa:hover .wa-tip,.wa:focus-visible .wa-tip{opacity:1;transform:translate(0,-50%)}}
/* cookie */
.ck-bar{position:fixed;left:50%;bottom:24px;z-index:95;width:min(800px,calc(100vw - 440px));display:flex;align-items:center;gap:14px;padding:8px 8px 8px 20px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:13.5px;line-height:1.4;box-shadow:0 18px 44px -14px rgba(0,0,0,.45);transform:translateX(-50%);animation:ckIn .7s 2.5s cubic-bezier(.2,1.2,.4,1) both;transition:background-color .5s,color .5s}
.no-intro .ck-bar{animation-delay:.5s}
@keyframes ckIn{from{opacity:0;transform:translate(-50%,40px)}}
.ck-bar>.ic{width:22px;height:22px;flex-shrink:0;animation:ckWob 3.2s ease-in-out 3.4s infinite}
@keyframes ckWob{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-18deg)}86%{transform:rotate(12deg)}}
.ck-bar p{flex:1;min-width:0}
.ck-bar a{color:inherit;font-weight:600;text-underline-offset:3px}
.ck-acts{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ck-b{height:40px;padding:0 16px;border-radius:999px;font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer;border:1.5px solid transparent;background:transparent;color:inherit;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s,transform .2s}
.ck-b:active{transform:scale(.96)}
.ck-b.ghost{text-decoration:underline;text-underline-offset:3px;padding:0 10px}
.ck-b.line{border-color:color-mix(in srgb,var(--bg) 40%,transparent)}
@media (hover:hover){.ck-b.line:hover{border-color:var(--bg)}}
.ck-b.acc{background:var(--acc);color:#0B0B0C}
@media (hover:hover){.ck-b.acc:hover{background:var(--bg);color:var(--fg)}}
.ck-pan{position:fixed;left:50%;bottom:24px;z-index:96;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow:auto;background:var(--card);color:var(--fg);border:1.5px solid var(--fg);border-radius:28px;padding:28px;box-shadow:var(--shadow);transform:translateX(-50%);animation:ckPan .55s cubic-bezier(.2,1.25,.4,1) both;display:flex;flex-direction:column;gap:16px}
@keyframes ckPan{from{opacity:0;transform:translate(-50%,30px) scale(.96)}}
.ck-pan h3{font-size:24px;line-height:1.15}
.ck-pan>p{font-size:14.5px;color:var(--fg2)}
.ck-rows{display:grid;gap:10px}
.ck-row{display:flex;gap:16px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--bg);transition:border-color .3s,background-color .5s}
@media (hover:hover){.ck-row:hover{border-color:var(--fg)}}
.ck-row strong{display:block;font-size:15px}
.ck-row .d{display:block;font-size:13.5px;color:var(--fg2);margin-top:2px}
.ck-st{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);white-space:nowrap}
.sw{position:relative;width:54px;height:32px;border-radius:999px;border:1.5px solid var(--fg);background:var(--bg2);cursor:pointer;flex-shrink:0;padding:0;transition:background-color .3s}
.sw::after{content:'';position:absolute;top:3.5px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--fg);transition:transform .5s cubic-bezier(.5,-0.45,.3,1.45),background-color .3s}
.sw.on{background:var(--fg)}
.sw.on::after{transform:translateX(21px);background:var(--acc)}
.sw:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.ck-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;margin-top:4px}
.ck-foot a{margin-right:auto;font-size:13.5px;color:var(--fg2)}
.ck-foot .btn{height:46px;padding:0 20px;font-size:14.5px}
.ft-l button{background:none;border:none;padding:0;font:inherit;font-size:15.5px;color:inherit;cursor:pointer;text-align:left;transition:transform .3s}
@media (hover:hover){.ft-l button:hover{transform:translateX(4px)}}
@media (max-width:1180px){.ck-bar{left:12px;right:12px;width:auto;bottom:12px;transform:none;border-radius:24px;padding:14px 14px 14px 18px;flex-wrap:wrap;animation-name:ckInM}.ck-bar p{flex:1 1 calc(100% - 40px)}.ck-acts{width:100%;justify-content:flex-end;flex-wrap:wrap}.ck-on .nl,.ck-on .wa{bottom:150px}.ck-pan{bottom:12px}}
@keyframes ckInM{from{opacity:0;transform:translateY(40px)}}
/* legal pages */
.lg-wrap{max-width:880px;margin:0 auto;padding:64px 32px 120px}
.lg-back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;margin-bottom:40px;padding-bottom:2px;border-bottom:1.5px solid var(--fg)}
.lg-back .ic{transition:transform .35s}
@media (hover:hover){.lg-back:hover .ic{transform:translateX(-5px)}}
.lg-h{font-size:clamp(42px,6.4vw,84px);line-height:1.08;letter-spacing:-0.045em;margin:20px 0 22px;animation:fadeUp .9s .1s cubic-bezier(.2,.8,.2,1) both}
.lg-meta{color:var(--fg2);margin-bottom:48px !important}
.lg-block{padding:34px 0;border-top:1px solid var(--line);display:grid;gap:14px;scroll-margin-top:120px}
.lg-block h2{font-size:22px;line-height:1.25}
.lg-block p,.lg-block li{color:var(--fg2);font-size:16.5px;line-height:1.7}
.lg-block strong{color:var(--fg)}
.lg-block ul{display:grid;gap:8px}
.lg-block ul li{position:relative;padding-left:24px}
.lg-block ul li::before{content:'';position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg)}
.lg-block a{text-underline-offset:3px}
.lg-toc{border:1px solid var(--line);border-radius:26px;padding:26px 30px;margin-bottom:28px;background:var(--card);transition:background-color .5s}
.lg-toc ol{margin:16px 0 0;padding-left:22px;columns:2;column-gap:36px}
.lg-toc li{margin-bottom:8px;break-inside:avoid}
.lg-toc a{text-decoration:none;font-weight:500}
@media (hover:hover){.lg-toc a:hover{text-decoration:underline}}

/* grow – Wachstums-Szene */
.grow{--H:min(100vh,1100px);position:relative;height:calc(var(--H) * 3);view-timeline-name:--grow}
.grow-pin{position:sticky;top:0;height:var(--H);overflow:hidden;background:var(--bg);transition:background-color .5s}
.grow-pin::before{content:'';position:absolute;inset:0;background-image:radial-gradient(var(--line) 1.3px,transparent 1.3px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 60%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 60%,#000 30%,transparent 80%)}
.gw-cap{position:absolute;left:0;right:0;top:calc(var(--H) * .17);display:grid;place-items:center;text-align:center;z-index:4;padding:0 20px}
.gw-cap span{grid-area:1/1;font-family:'Unbounded',ui-sans-serif,sans-serif;font-weight:600;font-size:clamp(30px,4.6vw,66px);letter-spacing:-0.04em;line-height:1.05}
.gw-cap em{font-style:normal;background:linear-gradient(var(--acc),var(--acc)) no-repeat 0 88%/100% .22em}
.cap1,.cap2{opacity:0}
.gw-ground{position:absolute;left:0;right:0;bottom:calc(var(--H) * .1);height:2px;background:var(--fg);z-index:3}
.gw-seed{position:absolute;left:50%;bottom:calc(var(--H) * .1);width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--acc);border:2px solid var(--fg);z-index:5;opacity:0}
.gw-tree{position:absolute;left:50%;bottom:calc(var(--H) * .1);width:min(520px,92vw);height:auto;max-height:calc(var(--H) * .62);transform:translateX(-50%);z-index:3;overflow:visible}
.gw-tree path{fill:none;stroke:var(--fg);stroke-linecap:round;stroke-dasharray:1}
.gtrunk{stroke-width:7}
.gbr{stroke-width:4.5}
.gleaf{fill:var(--acc);stroke:var(--fg);stroke-width:2.5;transform-box:fill-box;transform-origin:center}
.gl5{fill:var(--fg);stroke:var(--acc);stroke-width:4}
.gchip rect{fill:var(--card);stroke:var(--fg);stroke-width:1.5}
.gchip text{font-family:'Instrument Sans',ui-sans-serif,sans-serif;font-weight:600;font-size:14px;fill:var(--fg)}
.gtop rect{fill:var(--fg)}
.gtop text{fill:var(--bg)}
.gw-city{position:absolute;left:-2%;right:-2%;bottom:calc(var(--H) * .1);height:calc(var(--H) * .46);display:flex;align-items:flex-end;justify-content:space-between;gap:1.2%;z-index:1;opacity:.92}
.gw-city i{flex:1;transform-origin:bottom;border-radius:6px 6px 0 0;background-color:var(--fg);background-image:radial-gradient(var(--acc) 1.8px,transparent 2.4px);background-size:14px 18px;background-position:4px 8px;transition:background-color .5s}
.gw-city i:nth-child(3n){background-image:none;background-color:var(--bg2);border:1.5px solid var(--fg);border-bottom:none}
.gw-city i:nth-child(4n+1){border-radius:24px 24px 0 0}
.gw-city .b0{height:34%}.gw-city .b1{height:52%}.gw-city .b2{height:28%}.gw-city .b3{height:64%}.gw-city .b4{height:44%}.gw-city .b5{height:80%}.gw-city .b6{height:38%}.gw-city .b7{height:58%}.gw-city .b8{height:72%}.gw-city .b9{height:40%}.gw-city .b10{height:90%}.gw-city .b11{height:48%}.gw-city .b12{height:66%}.gw-city .b13{height:36%}.gw-city .b14{height:56%}.gw-city .b15{height:30%}
.gw-chart{position:absolute;left:4%;right:4%;width:92%;top:calc(var(--H) * .28);height:calc(var(--H) * .5);z-index:2;overflow:visible}
.gline{fill:none;stroke:var(--acc);stroke-width:7;stroke-linecap:round;stroke-dasharray:1}
.gw-arrow{position:absolute;right:3%;top:calc(var(--H) * .26);width:64px;height:64px;border-radius:50%;background:var(--acc);border:2px solid var(--fg);color:#0B0B0C;display:grid;place-items:center;z-index:4}
.gw-arrow .ic{width:30px;height:30px;stroke-width:2.4}
.gw-sparks{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}
.gw-sparks i{position:absolute;bottom:12%;width:8px;height:8px;border-radius:50%;background:var(--acc);border:1.5px solid var(--fg);animation:spark 3.2s linear infinite}
.gw-sparks i:nth-child(1){left:12%;animation-delay:-.4s}.gw-sparks i:nth-child(2){left:24%;animation-delay:-1.8s}.gw-sparks i:nth-child(3){left:36%;animation-delay:-1s}.gw-sparks i:nth-child(4){left:47%;animation-delay:-2.6s}.gw-sparks i:nth-child(5){left:58%;animation-delay:-.2s}.gw-sparks i:nth-child(6){left:69%;animation-delay:-2.1s}.gw-sparks i:nth-child(7){left:80%;animation-delay:-1.3s}.gw-sparks i:nth-child(8){left:90%;animation-delay:-2.9s}
@keyframes spark{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(calc(var(--H) * -.7)) scale(1.1);opacity:0}}
@keyframes gSeed{0%{transform:translateY(calc(var(--H) * -.6));opacity:1}10%{transform:translateY(0) scaleX(1.3) scaleY(.7);opacity:1}13%{transform:translateY(-30px)}16%{transform:translateY(0)}19%{transform:translateY(0) scale(1);opacity:1}22%,100%{transform:translateY(0) scale(0);opacity:0}}
@keyframes gDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes gPop{0%{transform:scale(0)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes gChip{from{opacity:0;transform:scale(.4) translateY(10px)}to{opacity:1;transform:none}}
@keyframes gBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes gFade{from{opacity:0}to{opacity:1}}
@keyframes gCap1{0%{opacity:0;transform:translateY(30px)}6%,26%{opacity:1;transform:none}32%,100%{opacity:0;transform:translateY(-30px)}}
@keyframes gCap2{0%,30%{opacity:0;transform:translateY(30px)}36%,56%{opacity:1;transform:none}62%,100%{opacity:0;transform:translateY(-30px)}}
@keyframes gCap3{0%,60%{opacity:0;transform:translateY(30px)}66%,100%{opacity:1;transform:none}}
@keyframes gArrow{0%,86%{opacity:0;transform:scale(0) rotate(-90deg)}94%,100%{opacity:1;transform:none}}
.gw-seed{animation-name:gSeed}
.cap1{animation-name:gCap1}.cap2{animation-name:gCap2}.cap3{animation-name:gCap3}
.gtrunk{animation-name:gDraw}.gbr{animation-name:gDraw}.gline{animation-name:gDraw}
.gleaf{animation-name:gPop}.gchip{animation-name:gChip}
.gw-city i{animation-name:gBar}.gw-sparks{animation-name:gFade}.gw-arrow{animation-name:gArrow}
@supports (animation-timeline: view()){
  .gx{animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--grow;animation-range:contain 0% contain 100%}
  .gtrunk{animation-range:contain 18% contain 42%}
  .gb1{animation-range:contain 26% contain 36%}.gb2{animation-range:contain 31% contain 41%}.gb3{animation-range:contain 36% contain 46%}.gb4{animation-range:contain 41% contain 51%}
  .gl1{animation-range:contain 35% contain 39%}.gl2{animation-range:contain 40% contain 44%}.gl3{animation-range:contain 45% contain 49%}.gl4{animation-range:contain 50% contain 54%}.gl5{animation-range:contain 42% contain 47%}
  .gc1{animation-range:contain 37% contain 42%}.gc2{animation-range:contain 42% contain 47%}.gc3{animation-range:contain 47% contain 52%}.gc4{animation-range:contain 52% contain 57%}.gc5{animation-range:contain 56% contain 62%}
  .gw-city .b0{animation-range:contain 54% contain 66%}.gw-city .b1{animation-range:contain 59% contain 71%}.gw-city .b2{animation-range:contain 64% contain 76%}.gw-city .b3{animation-range:contain 69% contain 81%}.gw-city .b4{animation-range:contain 74% contain 86%}.gw-city .b5{animation-range:contain 57% contain 69%}.gw-city .b6{animation-range:contain 62% contain 74%}.gw-city .b7{animation-range:contain 67% contain 79%}.gw-city .b8{animation-range:contain 72% contain 84%}.gw-city .b9{animation-range:contain 55% contain 67%}.gw-city .b10{animation-range:contain 60% contain 72%}.gw-city .b11{animation-range:contain 65% contain 77%}.gw-city .b12{animation-range:contain 70% contain 82%}.gw-city .b13{animation-range:contain 75% contain 87%}.gw-city .b14{animation-range:contain 58% contain 70%}.gw-city .b15{animation-range:contain 63% contain 75%}
  .gline{animation-range:contain 70% contain 92%}
  .gw-sparks{animation-range:contain 62% contain 72%}
}
.io .gx{animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-play-state:paused;animation-delay:0s}
@media (prefers-reduced-motion: reduce){.grow{display:none}}
.sec{overflow-x:clip}
.lg-block{grid-template-columns:minmax(0,1fr)}
.lg-block p,.lg-block li,.lg-block h2{overflow-wrap:break-word;hyphens:auto}
@media (max-width:640px){.lg-wrap{padding:48px 20px 120px}}

/* einzelne Punkte beim Scrollen */
@supports (animation-timeline: view()){
  .feat li,.vn-l li,.pr-l li,.zp-cat span,.lg-block ul li,.lg-toc li,.chn,.ex button,.fq{animation:liIn linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .vn-n .vn-l li{animation-name:liInR}
  .feat li .ck,.vn-l li .ck,.vn-l li .xk,.lg-block ul li::before{animation:ckPop linear both;animation-timeline:view();animation-range:entry 30% cover 30%}
  .bc .bc-i{animation:icoSpin linear both;animation-timeline:view();animation-range:entry 10% cover 35%}
  .st{animation:stIn linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  .ab-s{animation:stIn linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
  .ab-s:nth-child(3){animation-range:entry 5% cover 28%}.ab-s:nth-child(4){animation-range:entry 10% cover 31%}.ab-s:nth-child(5){animation-range:entry 15% cover 34%}.ab-s:nth-child(6){animation-range:entry 20% cover 37%}
}
@keyframes liIn{from{opacity:0;transform:translateX(-48px)}}
@keyframes liInR{from{opacity:0;transform:translateX(48px)}}
@keyframes ckPop{from{transform:scale(0) rotate(-200deg)}}
@keyframes icoSpin{from{transform:rotate(-90deg) scale(.3);opacity:0}}
@keyframes stIn{from{opacity:0;transform:translateY(50px) scale(.94)}}
.io .feat li,.io .vn-l li,.io .pr-l li,.io .zp-cat span,.io .lg-block ul li,.io .chn,.io .ex button,.io .fq{transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.io .feat li:not(.in),.io .vn-l li:not(.in),.io .pr-l li:not(.in),.io .zp-cat span:not(.in),.io .lg-block ul li:not(.in),.io .chn:not(.in),.io .ex button:not(.in),.io .fq:not(.in){opacity:0;transform:translateX(-48px)}
.io .vn-n .vn-l li:not(.in){transform:translateX(48px)}
.io .feat li .ck,.io .vn-l li .ck,.io .vn-l li .xk{transition:transform .8s cubic-bezier(.2,1.3,.4,1) .15s}
.io .feat li:not(.in) .ck,.io .vn-l li:not(.in) .ck,.io .vn-l li:not(.in) .xk{transform:scale(0) rotate(-200deg)}

/* standort / map */
.loc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:stretch}
.loc-card{border:1px solid var(--line);border-radius:32px;padding:36px;background:var(--card);display:flex;flex-direction:column;gap:24px;transition:background-color .5s}
.loc-row{display:flex;gap:16px;align-items:flex-start}
.loc-v{font-weight:600;font-size:17px;line-height:1.5;text-decoration:none}
.loc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
.map-box{position:relative;border-radius:32px;overflow:hidden;border:1.5px solid var(--fg);min-height:480px;background:var(--bg2);transition:background-color .5s}
.map-art,.map-art svg{position:absolute;inset:0;width:100%;height:100%}
.m-blk{fill:var(--card);stroke:var(--line);stroke-width:2}
.m-blk.hatch{fill:color-mix(in srgb,var(--acc) 30%,var(--card))}
.m-river{fill:none;stroke:color-mix(in srgb,var(--fg) 10%,var(--bg2));stroke-width:34;stroke-linecap:round}
.m-road{fill:none;stroke:var(--bg);stroke-width:20;stroke-linecap:round;filter:drop-shadow(0 0 0 var(--line))}
.m-road.thin{stroke-width:11}
.m-route{fill:none;stroke:var(--fg);stroke-width:5;stroke-linecap:round;stroke-dasharray:2 14;animation:route 1.2s linear infinite}
@keyframes route{to{stroke-dashoffset:-16}}
.pin-ring{fill:none;stroke:var(--fg);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pinRing 2.4s ease-out infinite}
.pin-ring.r2{animation-delay:1.2s}
@keyframes pinRing{from{transform:scale(.6);opacity:1}to{transform:scale(3.2);opacity:0}}
.pin-b{animation:pinB 1.8s cubic-bezier(.5,0,.5,1) infinite}
@keyframes pinB{50%{transform:translateY(-10px)}}
.pin-s{fill:var(--acc);stroke:var(--fg);stroke-width:2.5}
.pin-d{fill:var(--fg)}
.m-tag{animation:tagIn .8s .3s cubic-bezier(.2,1.3,.4,1) both,tagFloat 4s ease-in-out 1.2s infinite}
@keyframes tagIn{from{opacity:0;transform:translateY(16px) scale(.9)}}
@keyframes tagFloat{50%{transform:translateY(-4px)}}
.m-tag rect{fill:var(--card);stroke:var(--fg);stroke-width:1.5}
.m-tag .t1{font-family:'Unbounded',sans-serif;font-weight:600;font-size:15px;fill:var(--fg)}
.m-tag .t2{font-family:'Instrument Sans',sans-serif;font-size:13px;fill:var(--fg2)}
.map-consent{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:14px 14px 14px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);transition:background-color .5s}
.map-consent p{flex:1;font-size:13.5px;color:var(--fg2);line-height:1.45}
.map-consent .btn{height:46px;padding:0 22px;font-size:14.5px;flex-shrink:0}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;filter:grayscale(1) contrast(1.05);animation:fadeUp .6s both}
.is-dark .map-box iframe{filter:grayscale(1) invert(.92) contrast(.95)}
@media (max-width:900px){.loc{grid-template-columns:1fr}.map-box{min-height:420px}.map-consent{flex-direction:column;align-items:stretch;text-align:left}.loc-card{padding:28px}}

/* smartphone */
.tlink{padding-top:12px;padding-bottom:6px}
a.loc-v{display:inline-block;padding:6px 0}
@media (max-width:760px){
  .wa{width:50px;height:50px;left:12px;bottom:12px}
  .wa .ic{width:24px;height:24px}
  .wa::before{animation-duration:3.2s}
  .nl{right:12px;bottom:12px}
  .nl-btn{height:50px;padding:0 15px}
  .ft{padding-bottom:96px}
  .ck-on .nl,.ck-on .wa{bottom:150px}
  .hero-h{font-size:clamp(40px,12vw,56px)}
  .svc h3{font-size:22px}
  .zt-bar{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .zt-bar button{white-space:nowrap;font-size:14px;padding:12px 14px}
  .orbit{max-width:340px}
  .node{font-size:12px;padding:6px 10px}
  .orb-core{font-size:14px;inset:34%}
  .gw-tree{width:96vw}
  .gchip text{font-size:16px}
  .map-box{min-height:380px}
}

/* impressum */
.imp-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-bottom:16px}
.imp-cell{border:1px solid var(--line);border-radius:22px;padding:22px 24px;background:var(--card);display:grid;gap:8px;align-content:start;transition:background-color .5s,border-color .3s}
.imp-cell p{font-size:16px;line-height:1.6;color:var(--fg);overflow-wrap:break-word}
.imp-cell a{text-underline-offset:3px}
@supports (animation-timeline: view()){.imp-cell{animation:stIn linear both;animation-timeline:view();animation-range:entry 0% cover 25%}}

/* produkte dropdown */
.nav .dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);background:none;border:none;cursor:pointer;position:relative}
.dd-btn::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dd-btn.is-open::after{transform:scaleX(1);transform-origin:left}
@media (hover:hover){.dd-btn:hover::after{transform:scaleX(1);transform-origin:left}}
.dd-ch{transition:transform .4s cubic-bezier(.2,1.3,.4,1)}
.dd-btn.is-open .dd-ch{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 16px);left:50%;min-width:270px;background:var(--card);border:1.5px solid var(--fg);border-radius:20px;padding:8px;box-shadow:var(--shadow);z-index:70;transform:translateX(-50%);animation:ddIn .4s cubic-bezier(.2,1.3,.4,1) both}
.dd-menu::before{content:'';position:absolute;top:-7px;left:50%;width:12px;height:12px;margin-left:-6px;background:var(--card);border-left:1.5px solid var(--fg);border-top:1.5px solid var(--fg);transform:rotate(45deg)}
@keyframes ddIn{from{opacity:0;transform:translate(-50%,-10px) scale(.95)}}
.nav .dd-item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;text-decoration:none;text-transform:none;letter-spacing:0;font-size:15px;transition:background-color .25s}
.nav .dd-item::after{display:none}
@media (hover:hover){.nav .dd-item:hover{background:var(--bg2)}.nav .dd-item:hover .dd-go{transform:translate(3px,-3px)}.nav .dd-item:hover .dd-logo{transform:scale(1.05) rotate(-2deg)}}
.dd-ic{width:42px;height:42px;border-radius:12px;background:var(--fg);color:var(--acc);display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:700;font-size:18px;flex-shrink:0;transition:transform .4s cubic-bezier(.2,1.4,.4,1),background-color .5s}
.dd-logo{display:block;height:38px;border-radius:10px;overflow:hidden;flex-shrink:0;transition:transform .4s cubic-bezier(.2,1.4,.4,1)}
.dd-logo img{display:block;height:100%;width:auto}
.mnav-logo{display:block;height:34px;width:auto;border-radius:9px}
.dd-tx{display:flex;flex-direction:column;line-height:1.3}
.dd-tx strong{font-size:15.5px;font-weight:700}
.dd-sub{font-size:12.5px;color:var(--fg2)}
.dd-go{margin-left:auto;transition:transform .35s}
.mnav-lbl{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);padding:16px 4px 0}
.mnav a.mnav-sub{display:flex;align-items:center;gap:10px}

/* responsive */
@media (max-width:1100px){.hero-in{flex-direction:column;min-height:0}.hv{position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:56px;pointer-events:auto}.px{position:static;width:auto;display:contents}.hv .pop{position:relative;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important}.hv .badge-rot{display:none}.hero{padding-top:64px}.zp,.bot,.faq,.kt,.calc{grid-template-columns:1fr}.ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.nav,.hdr-cta,.hdr-in>nav{display:none}.burger{display:inline-flex}.hdr-in{grid-template-columns:minmax(0,1fr) auto;height:68px}.hdr-box{padding:0 10px 0 24px}.hdr{padding:12px 12px 0}.vn{grid-template-columns:1fr}.vn-arrow{transform:rotate(90deg);animation:none}.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.sec{padding:88px 0}.wrap{padding:0 20px}.ab-track{grid-template-columns:1fr;gap:12px}.ab-line{display:none}.ab-s{flex-direction:row;gap:16px}.ab-c{width:52px;height:52px}.ab-card{grid-template-columns:1fr;padding:28px;gap:16px}.zp-cats{grid-template-columns:1fr}.calc-l,.calc-r,.kt-f,.vn-c{padding:26px}.svc-body{padding:26px}.pr{padding:32px 26px}.hero-ctas .btn{width:100%}.ft-top{grid-template-columns:1fr}.legal{margin-left:0}.fa p{padding-right:0}.nl{right:16px;bottom:16px}.nl-btn .nl-lbl{display:none}.nl-btn{padding:0 18px}}
@media (max-width:520px){.hdr .ig-ic{display:none}.logo{height:20px}.hdr-box{padding:0 8px 0 18px}.tg{width:72px;height:42px}.is-dark .tg-k{transform:translateX(30px) rotate(360deg)}.tg-k{width:32px;height:32px}.hv .chat-card,.hv .g-card{width:min(300px,calc(100vw - 40px))}.ig-grid{gap:10px}.igt{border-radius:16px}.igt-tag{display:none}.svc-art{height:200px}.a-br{transform:scale(.85)}.g-tag{right:-36px}}
@media (prefers-reduced-motion: reduce){.rc *,.rc *::before,.rc *::after{animation:none !important;transition:none !important}}

/* ---- Website-Ergänzungen ---- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:112px}
[hidden]{display:none !important}
.intro-done .intro{display:none}
.tg-k .i-moon{display:none}
.is-dark .tg-k .i-sun{display:none}
.is-dark .tg-k .i-moon{display:block}
.nl-btn .nl-closed,.nl-btn .nl-opened{display:contents}
.nl-btn.is-open .nl-closed,.nl-btn:not(.is-open) .nl-opened{display:none}
.hp{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-err{color:#B42318;font-size:14px;font-weight:600}
.is-dark .form-err{color:#FF9B8C}
.btn:disabled{opacity:.6;cursor:wait}
.skip{position:absolute;left:16px;top:-80px;z-index:300;background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:16px}
/* Fallback für Browser ohne scroll-gesteuerte Animationen */
.io .strip{animation:none}
.io .rv,.io .rvl,.io .rvs{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.io .rv:not(.in){opacity:0;transform:translateY(60px)}
.io .rvl:not(.in){opacity:0;transform:translateX(-60px)}
.io .rvs:not(.in){opacity:0;transform:scale(.9)}
.io .strk{transition:background-size 1.2s cubic-bezier(.6,0,.2,1) .3s}
.io .strk:not(.in){background-size:0% 1.5px}
.io .strip{transition:transform 2.2s cubic-bezier(.2,.8,.15,1)}
.io .strip:not(.in){transform:translateY(0)}
.io .ft-big{transition:clip-path 1.2s cubic-bezier(.6,0,.2,1)}
.io .ft-big:not(.in){clip-path:inset(100% 0 0 0)}
