/* Kleine Reaktionen, klare Orientierung. Tastatur und reduzierte Bewegung inklusive. */
:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary){transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,background .2s ease;will-change:auto}
:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary)>span[aria-hidden],.button.primary>span{display:inline-block;transition:transform .28s cubic-bezier(.2,.8,.2,1);transform-origin:center}
:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary):focus-visible{box-shadow:0 8px 22px #6634b82b;outline:2px solid #9970d7;outline-offset:4px}
:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary):focus-visible>span[aria-hidden],.button.primary:focus-visible>span{transform:translateX(3px) rotate(45deg)}
@media(hover:hover) and (pointer:fine){
 :is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary):not(:disabled):hover{transform:translate(2px,-3px);box-shadow:0 10px 25px #6634b82b}
 :is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary):not(:disabled):hover>span[aria-hidden],.button.primary:hover>span{transform:translateX(3px) rotate(45deg)}
 .brief-choices label:hover>span{transform:translateX(3px);box-shadow:0 5px 18px #71418c09}
 .brief-budgets label:hover>span{transform:translateY(-2px)}
 .service:hover{border-color:#c2acde;background:#fbf9ff;box-shadow:0 8px 26px #70409f08}
 .service summary:hover .service-symbol{background:#7041c7;color:white;border-color:#7041c7;box-shadow:0 5px 13px #7041c725}
 .service summary:hover .service-title{transform:translateX(3px)}
 .service-inline:hover span{transform:translateX(3px) rotate(45deg)}
 .process-grid article:hover{border-color:#9c77d0;transform:translateY(-4px)}
}
:is(.brief-next,.brief-submit,#lab-build,.button.primary):not(:disabled):active{transform:translateY(0) scale(.98);box-shadow:none}
.brief-choices label>span,.brief-budgets label>span{transition:transform .2s ease,background .2s,border-color .2s,box-shadow .2s}
.brief-choices input:checked+span b{animation:choice-pop .3s ease}.brief-progress button{transition:color .2s}.brief-progress button>span{transition:background .25s,border-color .25s,color .25s}
@keyframes choice-pop{0%{transform:scale(.85)}65%{transform:scale(1.13)}100%{transform:scale(1)}}
.services{gap:6%;grid-template-columns:.85fr 1.15fr}.service-list{display:grid;gap:12px;align-content:start}.service{border:1px solid #e0d8e9;border-radius:14px;padding:0;background:#ffffff70;transition:background .25s,border-color .25s,box-shadow .25s;overflow:hidden}.service:last-child{border-bottom:1px solid #e0d8e9}.service[open]{border-color:#c1a6e0;background:#f7f2ff}.service summary{padding:23px 21px;gap:15px;min-height:94px;box-sizing:border-box}.service-title{flex:1;min-width:0;transition:transform .25s}.service h3{font-size:19px;line-height:1.4;font-weight:500;letter-spacing:-.025em}.service-no{align-self:flex-start;padding-top:6px;font:10px monospace;color:#9f82b7}.service-hint{display:block;margin-top:9px;font-size:10px;line-height:1.6;color:#8c71a4}.service-symbol{flex:0 0 35px;width:35px;height:35px;display:grid;place-items:center;border:1px solid #d4c5e5;border-radius:50%;font-size:24px;color:#7e52b2;transition:transform .3s,background .25s,color .25s,box-shadow .25s}.service[open] .service-symbol{transform:rotate(45deg);background:#e9dcf8;border-color:#cbb4e1}.service .when-open{display:none}.service[open] .when-open{display:inline}.service[open] .when-closed{display:none}.service-body{padding:0 24px 25px 47px}.service-body p{font-size:13px;line-height:1.85}.service-body p+p{margin-top:13px}.service .pills{margin-top:18px}.service .pills span{background:#ffffff90;border-color:#dfd1ed}.service summary:focus-visible{outline:2px solid #9f77d2;outline-offset:-5px;border-radius:13px}.service-promise{margin-top:23px;color:#58466c!important;font-size:13px!important}.service-discover{display:flex;align-items:center;gap:15px;font-size:10px;color:#9175aa;margin-top:32px;line-height:1.6}.service-discover>span{font-size:23px;color:#7845bc}.service-inline{display:inline-flex;align-items:center;gap:13px;font-size:11px;line-height:1.7;color:#7141b4;margin-top:17px;border-bottom:1px solid #cdb4e5;padding-bottom:5px}.service-inline>span{display:inline-block;transition:transform .25s}.process-grid article{transition:transform .25s,border-color .25s}.contact-compact{padding:55px 8%;background:#f4f0fa}.contact-compact h2{font-size:clamp(33px,4vw,55px);margin:20px 0 28px}.contact-compact>.eyebrow{font-size:9px}.contact-compact .contact-glow{opacity:.5}
@media(max-width:1000px){.service h3{font-size:17px}.service summary{padding:20px 17px;gap:12px}.service-body{padding-left:40px;padding-right:20px}}
@media(max-width:720px){.services{display:block}.service-list{margin-top:30px;gap:10px}.service summary{min-height:90px;padding:20px 15px;gap:10px}.service h3{font-size:17px}.service-hint{font-size:10px}.service-symbol{flex-basis:32px;width:32px;height:32px}.service-body{padding:0 20px 23px 36px}.service-body p{font-size:13px}.service-discover{margin-top:20px}.contact-compact{padding:45px 6%}.contact-compact h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary),:is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary)>span,.brief-choices label>span,.brief-budgets label>span,.service,.service-title,.service-symbol,.service-inline>span,.process-grid article{transition:none!important;animation:none!important;transform:none!important}.brief-choices input:checked+span b{animation:none}}
body.motion-paused :is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary),body.motion-paused :is(.brief-next,.brief-submit,.brief-send,#lab-build,.button.primary)>span,body.motion-paused .service-title,body.motion-paused .service-symbol,body.motion-paused .brief-choices label>span,body.motion-paused .brief-budgets label>span,body.motion-paused .process-grid article,body.motion-paused .service-inline>span{transition:none!important;transform:none!important}
.brief-card .brief-choices label>span,.brief-card .brief-budgets label>span{transition:transform .2s ease,background .2s,border-color .2s,box-shadow .2s}
body.motion-paused .brief-choices input:checked+span b{animation:none}
@media(prefers-reduced-motion:reduce){.brief-card .brief-choices label>span,.brief-card .brief-budgets label>span{transition:none!important;transform:none!important}}
