/* Restrained, bordered controls inspired by the owner's segmented-button reference.
   Brand marks, status dots and decorative circles deliberately remain circular. */
:root{--control-radius:8px;--panel-radius:10px}
/* Native Apple/system typography, without external font requests. Product marks
   and the deliberately distinct Kawuum/Metro typography keep their identities. */
:root{--corporate-font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Helvetica,Arial,sans-serif;--corporate-display:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Helvetica,Arial,sans-serif}
body,.chat-product{font-family:var(--corporate-font)}
.section:not(.benefits-section):not(.kawuum-product) :is(h1,h2,h3){font-family:var(--corporate-display)}
.corporate-hero .hero-copy h1,.subpage-hero h1{font-weight:600;letter-spacing:-.035em!important;line-height:1.1!important}
.section:not(.benefits-section):not(.kawuum-product) h2{letter-spacing:-.03em;line-height:1.14;font-weight:600}
.section:not(.benefits-section):not(.kawuum-product) h3{letter-spacing:-.018em}
.section:not(.benefits-section):not(.kawuum-product) .lead{letter-spacing:-.012em;line-height:1.6}
html,body{overflow-x:clip}
.wp-site-blocks,main,.wrap{min-width:0}
body .wp-block-button__link,body .button,body .button-small,body .deck-next,
body .pwac-project-form button,body .wpcf7-submit,
body .contact-form-panel input[type=submit],
body .service-hand-controls button{border-radius:var(--control-radius)}
body .product-overview .product-teaser--chat .wp-block-button__link{border-radius:var(--control-radius)}
body .service-card,body .contact-form-panel,body .workflow-node,
body .contact-details .example-card,body .product-overview .product-teaser--chat{border-radius:var(--panel-radius)}
body .example-card:not(.original-benefit):not(.product-teaser--kawuum),body .chat-showcase .chat-card{border-radius:var(--panel-radius)}
body .workflow-node::before{border-radius:6px}
body .pwac-project-form input,body .pwac-project-form textarea,
body .pwac-project-form select{border-radius:var(--control-radius)}
/* Paired calls to action read as a single, divided control without changing links. */
.hero-copy .wp-block-buttons{gap:0;align-items:stretch}
.hero-copy .wp-block-buttons .wp-block-button{display:flex}
.hero-copy .wp-block-buttons .wp-block-button__link{display:flex;align-items:center;justify-content:center;height:100%;border-radius:0}
.hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link{border-radius:8px 0 0 8px}
.hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link{border-radius:0 8px 8px 0}
.hero-copy .wp-block-buttons .wp-block-button+.wp-block-button{margin-left:-1px}
/* Native details remain readable without JS and editable as individual WP blocks. */
.faq-section .faq-list{max-width:100%;margin-top:36px;border:1px solid var(--line);border-radius:8px;background:#fff}
.faq-section .faq-list details{padding:0;border:0;border-radius:0}
.faq-section .faq-list details+details{border-top:1px solid var(--line)}
.faq-section .faq-list summary{padding:23px 26px;font-size:clamp(18px,1.5vw,22px);line-height:1.4;gap:24px;transition:background-color .2s}
.faq-section .faq-list summary:hover,.faq-section .faq-list details[open]>summary{background:#713ca508}
.faq-section .faq-list details:first-child>summary{border-radius:8px 8px 0 0}
.faq-section .faq-list details:last-child:not([open])>summary{border-radius:0 0 8px 8px}
.faq-section .faq-list summary:focus-visible{outline:2px solid #713ca5;outline-offset:-4px}
.faq-section .faq-list details>:not(summary){margin:0;padding:0 26px 24px;color:var(--muted);max-width:980px}
/* Two decorative strokes rotate together and resolve into one minus. Native
   details keeps its keyboard/screen-reader behaviour and works without JS. */
.faq-list summary{position:relative;padding-right:68px!important}
.faq-list summary::before,.faq-list summary::after{content:'';position:absolute;right:26px;top:calc(50% - 1px);width:18px;height:2px;border-radius:1px;background:#713ca5;pointer-events:none;transform-origin:center;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .22s}
.faq-list summary::before{transform:rotate(0)}
.faq-list summary::after{transform:rotate(90deg);opacity:1}
.faq-list details[open] summary::before{transform:rotate(180deg)}
.faq-list details[open] summary::after{content:'';transform:rotate(180deg) scaleX(.4);opacity:0}
@media(prefers-reduced-motion:reduce){.faq-list summary::before,.faq-list summary::after{transition:none}}
/* One substantial wordmark alongside all footer content. */
.corporate-footer.footer-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(36px,5vw,90px);align-items:stretch;padding-block:60px}
.footer-layout .footer-brand{display:flex;align-items:center;align-self:stretch;min-width:0;width:100%;text-decoration:none}
.footer-layout .footer-brand .corporate-logo{display:block;width:100%;height:100%;min-height:190px;background-position:center;background-size:contain}
/* The supplied white logo is only 224px wide. Reuse the high-resolution logo's
   actual silhouette for a crisp large wordmark, without stretching or retyping it. */
@supports (mask-image:url('planwerk-logo-dark.png')){
 .footer-layout .footer-brand .corporate-logo{background:linear-gradient(90deg,#fff 0 81%,#b14f9c 81% 100%);mask:url('planwerk-logo-dark.png') center/contain no-repeat;-webkit-mask:url('planwerk-logo-dark.png') center/contain no-repeat}
}
.footer-layout .footer-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.footer-layout .footer-tagline{margin:0;color:#f4eaf8;font-size:18px;line-height:1.5;max-width:360px}
.footer-layout .footer-email{display:inline-block;margin:14px 0 26px;font-size:19px;color:#fff;text-underline-offset:5px}
.footer-layout .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;width:100%;padding-top:24px;border-top:1px solid #ffffff25}
.footer-layout .footer-links a{color:#ded1e8;font-size:14px;line-height:1.6;text-decoration:none;width:fit-content;overflow-wrap:anywhere}
.footer-layout .footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-layout .footer-copyright{display:block;margin-top:26px;color:#c6b4d3;font-size:12px;line-height:1.5}
.footer-layout a:focus-visible{outline:2px solid #d8b3ff;outline-offset:5px}
@media(max-width:1000px){.corporate-footer.footer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.footer-layout .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .corporate-footer.footer-layout{grid-template-columns:1fr;gap:30px;padding-block:38px}
 .footer-layout .footer-brand .corporate-logo{height:auto;min-height:0;aspect-ratio:5.2}
 .footer-layout .footer-tagline{font-size:17px;max-width:none}
 .footer-layout .footer-links{gap:12px 20px}
 .faq-section .faq-list summary{padding:20px;gap:18px}
 .faq-section .faq-list details>:not(summary){padding:0 20px 22px}
 .hero-copy .wp-block-buttons{display:grid;grid-template-columns:1fr}
 .hero-copy .wp-block-buttons .wp-block-button__link{width:100%}
 .hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link{border-radius:8px 8px 0 0}
 .hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link{border-radius:0 0 8px 8px}
 .hero-copy .wp-block-buttons .wp-block-button+.wp-block-button{margin-left:0;margin-top:-1px}
}
@media(prefers-reduced-motion:reduce){.faq-section .faq-list summary{transition:none}}

/* Buttons highlight in place: no lift, scale, growing shadow or sliding overlay.
   This targets controls only; card decks and scroll animations stay unchanged. */
body :is(.button,.wp-block-button__link,.deck-next,.kawuum-go,button,input[type=submit]){
 transform:none!important;translate:none!important;rotate:none!important;scale:none!important;
 box-shadow:none!important;
 transition:background-color .18s,border-color .18s,color .18s,filter .18s!important;
}
body :is(.button,.wp-block-button__link,.deck-next,.kawuum-go,button,input[type=submit]):hover:not(:disabled){filter:brightness(.94)}
.kawuum-product .wp-block-button__link::before,.kawuum-go::before,
.product-overview .product-teaser--kawuum .wp-block-button__link::before{display:none}
@media(prefers-reduced-motion:reduce){
 body :is(.button,.wp-block-button__link,.deck-next,.kawuum-go,button,input[type=submit]){transition:none!important}
}
/* Legal document titles must not leave the final letter on a separate mobile line. */
@media(max-width:600px){
 .corporate-document .wp-block-post-title{font-size:clamp(1.5rem,7vw,2rem);line-height:1.2;hyphens:auto}
}

/* Chatbot's lava movement, in the Corporate purple palette. Only the decorative
   layer is masked; text, focus outlines and form controls stay fully opaque. */
.contact-section.has-contact-lava::before,.contact-section.has-contact-lava::after{content:none;animation:none}
.contact-lava{
 position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;opacity:.6;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 4%,rgba(0,0,0,.68) 11%,#000 18% 100%);
 mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 4%,rgba(0,0,0,.68) 11%,#000 18% 100%);
}
.contact-lava i{
 --lava-x:0px;position:absolute;bottom:-13%;display:block;width:22vw;min-width:190px;max-width:410px;
 aspect-ratio:1.65;border-radius:48% 52% 44% 56% / 58% 42% 58% 42%;background:#ece4f5;opacity:0;
 will-change:transform,opacity,border-radius;animation:pwac-lava-rise 14.3s linear infinite;
}
.contact-lava i:nth-child(1){left:-7%;animation-delay:-11.18s;animation-duration:16.64s}
.contact-lava i:nth-child(2){--lava-x:72px;left:18%;width:16vw;animation-delay:-5.46s;animation-duration:13.78s}
.contact-lava i:nth-child(3){--lava-x:-58px;left:43%;width:19vw;animation-delay:-12.22s;animation-duration:18.46s}
.contact-lava i:nth-child(4){--lava-x:54px;right:17%;width:15vw;animation-delay:-2.73s;animation-duration:15.21s}
.contact-lava i:nth-child(5){--lava-x:-68px;right:-8%;animation-delay:-8.45s;animation-duration:17.55s}
.contact-section.is-paused .contact-lava i{animation-play-state:paused}
@keyframes pwac-lava-rise{
 0%{opacity:0;border-radius:48% 52% 44% 56% / 58% 42% 58% 42%;transform:translate3d(0,calc(var(--lava-height,100vh) * .12),0) scale(.82)}
 7%{opacity:.9}
 38%{opacity:.9;border-radius:58% 42% 62% 38% / 42% 60% 40% 58%;transform:translate3d(var(--lava-x),calc(var(--lava-height,100vh) * -.36),0) scale(1)}
 72%{opacity:.72;border-radius:42% 58% 38% 62% / 62% 40% 60% 38%;transform:translate3d(calc(var(--lava-x) * -.35),calc(var(--lava-height,100vh) * -.78),0) scale(.78)}
 92%{opacity:.26;transform:translate3d(calc(var(--lava-x) * .35),calc(var(--lava-height,100vh) * -1.06),0) scale(.58)}
 100%{opacity:0;border-radius:58% 42% 53% 47% / 46% 56% 44% 54%;transform:translate3d(calc(var(--lava-x) * .55),calc(var(--lava-height,100vh) * -1.2),0) scale(.48)}
}
@media(prefers-reduced-motion:reduce){
 .contact-lava i{animation:none!important;opacity:.8;transform:translateY(72%) scale(.9);will-change:auto}
}
