/* V05. Stable navigation targets; finite, optional graphic motion. */
html{scroll-padding-top:calc(var(--header-height,100px) + 18px)}
.visual-v5 .site-header{gap:18px;padding-block:14px}
.visual-v5 .site-header .brand img{width:170px;height:auto}
.visual-v5 .site-header nav a{position:relative;display:inline-flex;align-items:center;min-height:40px;box-shadow:none;padding-block:8px}
.visual-v5 .site-header nav a::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.visual-v5 .site-header nav a[aria-current]::after,.visual-v5 .site-header nav a:focus-visible::after{transform:scaleX(1)}
.visual-v5 .site-header .header-contact{min-height:40px;display:inline-flex;align-items:center;justify-content:space-between;padding:9px 14px}
.visual-v5 .hero-v2{padding-bottom:76px;min-height:660px}
.visual-v5 .hero-actions{gap:30px}
.visual-v5 .hero-actions>.text-link{border-bottom:0;font-weight:500}
.visual-v5 .hero-actions>.text-link:focus-visible{text-decoration:underline;text-underline-offset:6px}
.visual-v5 .button,.visual-v5 .header-contact{position:relative;isolation:isolate;overflow:hidden}
.visual-v5 .button::before,.visual-v5 .header-contact::before{content:"";position:absolute;inset:0;background:#ffffff1f;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1;pointer-events:none}
.visual-v5 :is(.button,.text-link,.header-contact)>span[aria-hidden]{display:inline-block;transition:transform .24s ease;will-change:auto}
.visual-v5 :is(.button,.text-link,.header-contact):focus-visible>span[aria-hidden]{transform:translate(4px,-3px)}
.visual-v5 :is(.button,.header-contact):focus-visible::before{transform:scaleX(1)}
.visual-v5 :is(.button,.text-link,.header-contact):active>span[aria-hidden]{transform:translate(3px,-2px) scale(.9)}
.visual-v5 :is(a,button,[tabindex="0"]):focus-visible{outline:3px solid #a184e5;outline-offset:5px}
.visual-v5 .product-card .product-meta>span:last-child,.visual-v5 .editorial-read>span{display:inline-block;transition:transform .3s ease}
.visual-v5 .product-card:focus-visible .product-meta>span:last-child,.visual-v5 .editorial-card:focus-visible .editorial-read>span{transform:translate(5px,-4px)}
.visual-v5 .case-watermark{--watermark-opacity:.16}
.visual-v5 .case-nlb .case-watermark{--watermark-opacity:.14}
.visual-v5 .case-telekom .case-watermark{--watermark-opacity:.12}
.motion-ready .case-card.is-in-view .case-watermark{animation:rs-watermark-enter .85s cubic-bezier(.2,.65,.25,1) 1}
.motion-ready .editorial-card.is-in-view .editorial-art img{animation:rs-art-enter .85s cubic-bezier(.2,.65,.25,1) 1}
.motion-ready .hero-mobile-art.is-in-view img{animation:rs-art-enter .9s cubic-bezier(.2,.65,.25,1) 1}
@keyframes rs-watermark-enter{from{opacity:.035;transform:translate(25px,12px)}to{opacity:var(--watermark-opacity);transform:translate(0,0)}}
@keyframes rs-art-enter{from{transform:translate(24px,9px) scale(1.025)}to{transform:translate(0,0) scale(1)}}
/* Motion review lives in the designer handoff, outside the visitor journey. */
.ux-v5{border-bottom:1px solid #d7d3dc}
.ux-v5>h2{margin-top:25px}
.motion-review-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:48px 0 26px}
.motion-review-heading h3{font-size:29px;margin:0 0 12px}
.motion-review-heading p{font-size:15px;max-width:620px;margin:0}
.motion-replay{font-family:inherit;flex-shrink:0;cursor:pointer}
.motion-examples{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.motion-example{background:#ede5f7;padding:28px;min-width:0}
.motion-example>p:last-child{font-size:14px;line-height:1.6;margin:24px 0 0}
.demo-button{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:45px 0 68px;background:#fa4900;color:#171218;min-height:58px;padding:17px 23px;font-size:15px;font-weight:600;max-width:300px;position:relative;isolation:isolate;overflow:hidden}
.demo-button::before{content:"";position:absolute;inset:0;background:#fff4;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1}
.demo-arrow{font-size:24px;font-weight:400;transition:transform .24s ease}
.demo-card{position:relative;overflow:hidden;isolation:isolate;background:#fa4900;color:#171218;min-height:200px;padding:42px 20px 28px;display:flex;align-items:center}
.demo-card>img{position:absolute;width:270px;max-width:none;height:auto;right:-150px;top:10px;opacity:.15;z-index:-1;transition:transform .45s ease}
.demo-type{font-size:clamp(20px,2.4vw,32px);line-height:1.7;letter-spacing:-.04em;background:#151319;color:#fff5ed;padding:.04em .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:box-shadow .35s ease}
.demo-type-offset{margin-left:.5em;background:#fff5ed;color:#151319}
.demo-button:focus-visible .demo-arrow,.motion-examples.is-playing .demo-arrow{transform:translate(5px,-4px)}
.demo-button:focus-visible::before,.motion-examples.is-playing .demo-button::before{transform:scaleX(1)}
.demo-card:focus-visible>img,.motion-examples.is-playing .demo-card>img{transform:translate(-12px,7px)}
.demo-card:focus-visible .demo-type,.motion-examples.is-playing .demo-type{box-shadow:10px 0 #151319,-5px 0 #151319}
.demo-card:focus-visible .demo-type-offset,.motion-examples.is-playing .demo-type-offset{box-shadow:10px 0 #fff5ed,-5px 0 #fff5ed}
.motion-status{font-size:13px;min-height:2em;color:#61546c}
@media(hover:hover) and (pointer:fine){
 .visual-v5 .site-header nav a:hover::after{transform:scaleX(1)}
 .visual-v5 :is(.button,.text-link,.header-contact):hover>span[aria-hidden]{transform:translate(4px,-3px)}
 .visual-v5 :is(.button,.header-contact):hover::before{transform:scaleX(1)}
 .visual-v5 .hero-actions>.text-link:hover{text-decoration:underline;text-underline-offset:6px}
 .visual-v5 .product-card:hover .product-meta>span:last-child,.visual-v5 .editorial-card:hover .editorial-read>span{transform:translate(5px,-4px)}
 .demo-button:hover .demo-arrow{transform:translate(5px,-4px)}
 .demo-button:hover::before{transform:scaleX(1)}
 .demo-card:hover>img{transform:translate(-12px,7px)}
 .demo-card:hover .demo-type{box-shadow:10px 0 #151319,-5px 0 #151319}
 .demo-card:hover .demo-type-offset{box-shadow:10px 0 #fff5ed,-5px 0 #fff5ed}
}
@media(min-width:680px) and (max-width:1150px){
 .visual-v5 .site-header{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 22px;gap:18px}
 .visual-v5 .site-header .brand{grid-column:1;grid-row:1}
 .visual-v5 .site-header .brand img{width:140px}
 .visual-v5 .site-header nav{grid-column:2;grid-row:1;justify-content:center;gap:17px}
 .visual-v5 .site-header nav a{font-size:11px;min-height:40px;padding-inline:1px}
 .visual-v5 .site-header .header-contact{grid-column:3;grid-row:1;font-size:11px;padding:9px 12px}
 .visual-v5 .site-header .header-contact span{margin-left:10px}
}
@media(max-width:760px){
 .visual-v5 .hero-v2{padding-bottom:0;min-height:0}
 .visual-v5 .hero-mobile-art{height:190px;margin-top:35px}
 .motion-review-heading{display:block;margin-top:35px}
 .motion-replay{margin-top:20px}
 .motion-examples{grid-template-columns:1fr;gap:20px}
 .demo-button{margin:28px 0 35px}
 .demo-type{font-size:28px}
}
@media(max-width:679px){
 .visual-v5 .site-header{grid-template-columns:1fr auto;padding:8px 18px 3px;gap:1px 12px}
 .visual-v5 .site-header .brand{grid-column:1;grid-row:1}
 .visual-v5 .site-header .brand img{width:145px}
 .visual-v5 .site-header .header-contact{grid-column:2;grid-row:1;font-size:11px;min-height:36px;padding:8px 12px}
 .visual-v5 .site-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:4px}
 .visual-v5 .site-header nav a{font-size:12px;min-height:44px;padding:10px 2px}
 .visual-v5 .hero-actions{gap:17px 25px}
 .demo-type{font-size:clamp(20px,6vw,28px)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .visual-v5 *, .visual-v5 *::before, .visual-v5 *::after{animation:none!important;transition:none!important}
 .visual-v5 :is(.button,.text-link,.header-contact)>span[aria-hidden],.visual-v5 .product-meta>span:last-child,.visual-v5 .editorial-read>span,.visual-v5 .demo-arrow,.visual-v5 .demo-card>img{transform:none!important}
}
