/* Shared interface: Kasper is the reference for every page. */
:root{--ui-menu-press:#9aff16;--ui-menu-glow:rgba(154,255,22,.28)}
@media(max-width:767px){
 .shared-ui .site-header .menu-toggle{transition:color 240ms ease-out,filter 240ms ease-out!important}
 .shared-ui .site-header .menu-toggle.ui-tap{color:var(--ui-menu-press)!important;filter:brightness(1.2) drop-shadow(0 0 10px var(--ui-menu-glow))}
 .shared-ui .site-header .menu-toggle.ui-tap svg{transform:scale(.94)!important}
 .shared-ui .site-header .menu-toggle[aria-expanded=true].ui-tap svg{transform:rotate(90deg) scale(.94)!important}
}
:root{--ui-enter:300ms;--ui-exit:180ms;--ui-control:200ms;--ui-green:#446b47;--ui-hover:#85b989;--ui-field-height:62px;--ui-field-radius:10px;--ui-field-gap:8px;--ui-tap:520ms;--ui-radius:40px;--ui-error:#ffb5ae;--ui-header-height:96px}
html.shared-ui{scroll-padding-top:calc(var(--ui-header-height) + 24px);overflow-x:clip;overscroll-behavior-x:none}
.shared-ui body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
.shared-ui .site-header-bar{position:sticky;top:0;z-index:100;background:var(--bg);display:flow-root}
.shared-ui .site-header-bar .site-header{height:auto!important;min-height:96px!important;padding-block:8px!important;align-items:center!important;flex-wrap:nowrap}
.shared-ui .site-header .logo{width:76px!important;flex:none}
.shared-ui .site-header :is(.nav,.navigation){padding-top:0}
.shared-ui :is(.nav,.navigation)>:is(a,button){text-decoration:none;border-bottom:0;transition:color var(--ui-control) ease-out}
.shared-ui :is(.nav,.navigation)>:is(a,button)::after{display:none}
.shared-ui :is(.nav,.navigation)>:is(a,button):is(:active,:focus-visible){color:var(--ui-hover)}
.shared-ui :is(.mobile-contacts,.mobile-menu-contacts){display:none}
.shared-ui .button{border-radius:var(--ui-radius)!important;font-family:var(--font);font-weight:700;line-height:1.15;transition:background-color var(--ui-control) ease-out,color var(--ui-control) ease-out,border-color var(--ui-control) ease-out}
.shared-ui .cta-motion::before{transition:opacity var(--ui-control) ease-out}
.shared-ui .cta-arrow{display:block;flex:none;width:16px;height:14px;transition:transform var(--ui-control) ease-out}
.shared-ui .cta-motion:focus-visible .cta-arrow{transform:rotate(-45deg)}
.shared-ui .cta-motion.ui-tap:not(:disabled){animation:ui-tap var(--ui-tap) ease-out!important}
.shared-ui .cta-motion.ui-tap::before{opacity:1}
.shared-ui .cta-motion.ui-tap .cta-label{background:var(--cta-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.shared-ui .cta-motion.ui-tap .cta-arrow{transform:rotate(-45deg)!important}
.shared-ui .cta-motion.ui-tap .cta-arrow path{stroke:var(--arrow-gradient,currentColor)}
.shared-ui :is(.dialog-close,.device-spec-close,.video-pause,.video-sound,.video-fullscreen,.icon-button){min-width:44px;min-height:44px;transition:transform 240ms ease-out,color 240ms ease-out,background-color 240ms ease-out}
.shared-ui :is(.dialog-close,.device-spec-close,.video-pause,.video-sound,.video-fullscreen,.icon-button).ui-tap{transform:scale(.94);color:var(--ui-hover);background-color:#446b472e}
@keyframes ui-tap{0%,100%{filter:brightness(1)}45%{filter:brightness(1.2)}}
.shared-ui dialog.ui-popup[open]{animation:ui-popup-in var(--ui-enter) cubic-bezier(.16,1,.3,1) both!important}
.shared-ui dialog.ui-popup[open]::backdrop{background:#000c;animation:ui-fade-in var(--ui-enter) ease-out both!important}
.shared-ui dialog.ui-popup.ui-closing[open]{animation:ui-popup-out var(--ui-exit) ease-in both!important;pointer-events:none}
.shared-ui dialog.ui-popup.ui-closing[open]::backdrop{animation:ui-fade-out var(--ui-exit) ease-in both!important}
@keyframes ui-popup-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ui-popup-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes ui-fade-in{from{opacity:0}to{opacity:1}}@keyframes ui-fade-out{from{opacity:1}to{opacity:0}}
.shared-ui .ui-field{display:grid!important;gap:var(--ui-field-gap)!important;min-width:0;align-content:start}
.shared-ui .ui-field>.ui-field-label{display:block!important;position:absolute!important;translate:none!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;border:0!important}
.shared-ui .ui-field>.input-shell{position:relative;display:flex;align-items:center;width:100%;height:var(--ui-field-height)!important;min-height:0;padding:0 12px!important;border:1px dashed var(--line)!important;border-radius:var(--ui-field-radius)!important;background:transparent;font-size:16px}
.shared-ui .ui-field>.input-shell>.sparse-block-border{display:none}
.shared-ui .ui-field>.input-shell>input{display:block;box-sizing:border-box;width:100%;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text);font:700 16px/1.5 var(--font);outline:none!important;box-shadow:none!important}
.shared-ui .ui-field input::placeholder{color:var(--text);opacity:1}
.shared-ui .ui-field>.input-shell:has([aria-invalid=true]){border-color:var(--ui-error)!important}
.shared-ui .ui-field>.input-shell:focus-within{border-color:var(--ui-green)!important;outline:none;box-shadow:none}
.shared-ui :is(.field-error,.jobs-error){font-size:16px;line-height:1.5;color:var(--ui-error)}
.shared-ui :is(.consent,.consent-row,.jobs-consent){display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:12px!important;align-items:start;font-size:16px!important;line-height:24px!important}
.shared-ui :is(.consent,.consent-row,.jobs-consent) input{display:block;width:20px;height:20px;margin:2px 0 0!important;accent-color:var(--ui-green)}
.shared-ui :is(.contact-form,.jobs-form){gap:24px}
.shared-ui :is(.contact-form,.jobs-form)>.button{width:min(580px,100%)!important;height:auto!important;min-height:60px!important;padding:16px 24px!important;font-size:16px!important;gap:32px!important;white-space:normal!important;margin-top:8px!important;justify-content:center!important}
.shared-ui .jobs-upload{border-radius:var(--ui-field-radius);border-color:var(--line)}
.shared-ui .jobs-upload:focus-within{border-color:var(--ui-green)}
.shared-ui .jobs-file-button{border-radius:var(--ui-radius)}
@media(hover:hover){.shared-ui :is(.nav,.navigation)>:is(a,button):hover{color:var(--ui-hover)}.shared-ui .cta-motion:not(:disabled):hover .cta-arrow{transform:rotate(-45deg)}.shared-ui .jobs-file-button:hover{background:#446b472e}}
@media(min-width:1800px){.shared-ui .site-header-bar .site-header{min-height:calc(96 * var(--u))!important}.shared-ui .site-header .logo{width:calc(96 * var(--u))!important}}
@media(max-width:767px){
:root{--ui-field-height:48px;--ui-header-height:72px}
.shared-ui .site-header-bar .site-header{height:72px!important;min-height:72px!important;padding-block:4px!important}
.shared-ui .site-header .logo{width:56px!important;order:0!important;margin:0 auto 0 0!important;z-index:1002;position:relative}
.shared-ui .site-header .menu-toggle{display:flex!important;align-items:center;justify-content:center;position:relative!important;inset:auto!important;order:1!important;width:44px!important;height:44px!important;min-height:44px!important;padding:6px!important;border:0!important;background:transparent!important;color:var(--ui-hover);z-index:1002;transform:none!important}
.shared-ui .site-header .menu-toggle svg{width:28px!important;height:28px!important;transform:rotate(0deg)!important;transition:transform var(--ui-exit) ease-in!important}
.shared-ui .site-header .menu-toggle[aria-expanded=true] svg{transform:rotate(90deg)!important;transition:transform var(--ui-enter) cubic-bezier(.22,1,.36,1)!important}
.shared-ui .menu-stroke{transform-box:view-box;transition:transform var(--ui-enter) ease-out,opacity var(--ui-exit) ease-out!important}
.shared-ui .menu-stroke:first-child{transform-origin:12px 6px}.shared-ui .menu-stroke:last-child{transform-origin:12px 18px}
.shared-ui .menu-toggle[aria-expanded=true] .menu-stroke:first-child{transform:translateY(6px) rotate(45deg)}
.shared-ui .menu-toggle[aria-expanded=true] .menu-stroke:nth-child(2){opacity:0;transform:scaleX(.25)}
.shared-ui .menu-toggle[aria-expanded=true] .menu-stroke:last-child{transform:translateY(-6px) rotate(-45deg)}
.shared-ui .site-header-bar .site-header>:is(.nav,.navigation){position:fixed!important;inset:0!important;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100dvh!important;max-height:none!important;margin:0!important;padding:calc(var(--ui-header-height) + 24px) 24px calc(32px + env(safe-area-inset-bottom))!important;gap:12px;background:var(--bg);overflow:auto;overscroll-behavior:contain;z-index:1001!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--ui-exit) ease-in,transform var(--ui-exit) ease-in,visibility 0s var(--ui-exit)!important}
.shared-ui .site-header-bar .site-header>:is(.nav,.navigation).is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity var(--ui-enter) ease-out,transform var(--ui-enter) ease-out,visibility 0s!important}
.shared-ui .site-header :is(.nav,.navigation)>:is(a,button){display:flex;align-items:center;width:100%;min-height:48px;padding:8px 0!important;font-size:24px!important;line-height:1.4;white-space:normal;opacity:0;transform:translateY(12px);transition:opacity var(--ui-exit),transform var(--ui-exit),color var(--ui-control)!important}
.shared-ui .site-header :is(.nav,.navigation).is-open>:is(a,button){opacity:1;transform:none;transition:opacity 240ms ease-out calc(var(--ui-item,0)*35ms),transform 240ms ease-out calc(var(--ui-item,0)*35ms),color var(--ui-control)!important}
.shared-ui .site-header :is(.nav,.navigation)>.desktop-menu-contact{display:none!important}
.shared-ui .site-header :is(.mobile-contacts,.mobile-menu-contacts){display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:32px;flex:none}
.shared-ui :is(.mobile-contacts,.mobile-menu-contacts)>a{display:flex;align-items:center;min-height:44px;max-width:100%;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.shared-ui .site-header .socials{display:flex;gap:16px;margin-top:8px}
.shared-ui :is(.devices,.sveta-cards,.mobile-slides,#steps,.mobile-rail){scroll-snap-type:none!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y!important}
.shared-ui :is(.device-card,.sveta-card,.mobile-slide,.step-card){scroll-snap-align:none!important;scroll-snap-stop:normal!important}
.shared-ui .button{min-height:52px!important}
.shared-ui :is(.contact-form,.jobs-form)>.button{min-height:52px!important;width:100%!important;padding:12px 16px!important;gap:16px!important}
}
@media(prefers-reduced-motion:reduce){.shared-ui *, .shared-ui *::before,.shared-ui *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Shared test-drive format, based on the homepage dialog. */
.shared-ui #test-drive-dialog{box-sizing:border-box;width:min(960px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:48px;border:2px dashed var(--green);border-radius:20px;background:var(--bg);color:var(--text);overflow:auto;line-height:1.5}
.shared-ui #test-drive-dialog .test-drive-content{padding:0;min-height:0;position:relative}
.shared-ui #test-drive-dialog .test-drive-content>.sparse-block-border{display:none}
.shared-ui #test-drive-dialog :is(.dialog-close,.test-drive-close){position:static;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0 0 0 auto;padding:0;border:0;border-radius:50%;background:transparent;color:#85ad87;font-size:36px;line-height:1;text-decoration:none}
.shared-ui #test-drive-dialog .test-drive-heading{padding:0;margin:0;text-align:left}
.shared-ui #test-drive-dialog h2{font-size:clamp(28px,3vw,48px);line-height:1.05;font-weight:800;letter-spacing:0;margin:0 0 20px;color:var(--text);text-align:left}
.shared-ui #test-drive-dialog h2 span{color:#85ad87}
.shared-ui #test-drive-dialog :is(.test-drive-heading p, :scope>p){margin:0 0 24px;font-size:var(--body);line-height:1.5;color:var(--text);text-align:left}
.shared-ui #test-drive-dialog .contact-form{display:grid;gap:24px;margin-top:24px}
.shared-ui #test-drive-dialog .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(hover:hover){.shared-ui #test-drive-dialog :is(.dialog-close,.test-drive-close):hover{background:#446b4733}}
@media(max-width:767px){.shared-ui #test-drive-dialog{padding:20px;max-height:calc(100dvh - 24px)}.shared-ui #test-drive-dialog .fields{grid-template-columns:minmax(0,1fr);gap:16px}.shared-ui #test-drive-dialog :is(.dialog-close,.test-drive-close){margin-bottom:8px}}

/* One slide indicator motion for the homepage and Kasper. */
:is(.hero-dots,.mobile-dots){--dot-size:8px;--dot-neutral:#7a7977;--dot-active:#85ad87;--dot-duration:240ms;--dot-scale:1.35}
:is(.hero-dots,.mobile-dots) button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;cursor:pointer;isolation:isolate}
.hero-dots button::after,.mobile-dots button span,.mobile-dots button[aria-current="true"] span{grid-area:1 / 1;display:block;width:var(--dot-size);height:var(--dot-size);border:0;border-radius:50%;background:var(--dot-neutral);transform:scale(1);transition:transform var(--dot-duration) ease-out;pointer-events:none}
.hero-dots button[aria-current="true"]::after{background:var(--dot-neutral)}
:is(.hero-dots,.mobile-dots) button::before{content:'';grid-area:1 / 1;display:block;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--dot-active);box-shadow:0 0 8px 2px #85ad8755;z-index:1;opacity:0;transform:scale(1);transition:transform var(--dot-duration) ease-out,opacity var(--dot-duration) ease-out;pointer-events:none}
.hero-dots button[aria-current="true"]::after,.mobile-dots button[aria-current="true"] span,:is(.hero-dots,.mobile-dots) button[aria-current="true"]::before{transform:scale(var(--dot-scale))}
:is(.hero-dots,.mobile-dots) button[aria-current="true"]::before{opacity:1}
:is(.hero-dots,.mobile-dots) button:focus-visible{outline:2px solid var(--dot-active);outline-offset:-4px;border-radius:8px}
@media(hover:hover){:is(.hero-dots,.mobile-dots) button:not([aria-current="true"]):hover::before{opacity:.5}}
@media(prefers-reduced-motion:reduce){:is(.hero-dots,.mobile-dots) button::before,.hero-dots button::after,.mobile-dots button span{transition:none}}

/* Continuous capsule tracks the actual carousel position. */
:is(.hero-dots,.mobile-dots).flow-dots{position:relative;--flow-length:24px;--flow-height:8px}
.flow-dots button::before{display:none!important}
.hero-dots.flow-dots button::after,.mobile-dots.flow-dots button span{transform:none!important;transition:none;background:var(--dot-neutral)!important}
.flow-dots>.flow-indicator{position:absolute;display:block;left:0;top:0;width:var(--flow-length);height:var(--flow-height);border-radius:999px;background:var(--dot-active);box-shadow:0 0 8px #85ad8744;pointer-events:none;transform:translate(var(--flow-x,0px),var(--flow-y,0px)) scaleX(var(--flow-stretch,1));transform-origin:center;will-change:transform;visibility:hidden}
.flow-dots.flow-ready>.flow-indicator{visibility:visible}

/* Adjacent hero swipes; other horizontal lists retain free scrolling. */
@media(max-width:767px){
 .shared-ui .hero .mobile-slides.od-rail.hero-swipe,.shared-ui .devices.hero-swipe{touch-action:pan-y pinch-zoom!important;scroll-behavior:auto!important;scroll-snap-type:none!important;user-select:none;-webkit-user-select:none}
 .shared-ui .hero .mobile-slides.hero-swipe>.mobile-slide,.shared-ui .devices.hero-swipe>.device-card{flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:none!important}
 .hero-swipe img{-webkit-user-drag:none}
 .hero-swipe:focus-visible{outline:2px solid #85ad87!important;outline-offset:-4px!important}
}

/* Light swipe advances mobile process cards; desktop stays freely draggable. */
@media(max-width:767px){
 .shared-ui .process>#steps.hero-swipe{touch-action:pan-y pinch-zoom!important;scroll-behavior:auto!important;user-select:none;-webkit-user-select:none}
 .shared-ui #steps.hero-swipe img{-webkit-user-drag:none}
}

/* Keep the mobile close control in viewport coordinates, including after scrolling. */
@media(max-width:767px){
 .shared-ui.mobile-menu-open .site-header-bar{z-index:1000!important}
 .shared-ui.mobile-menu-open .site-header-bar .site-header>.menu-toggle{
  position:fixed!important;inset:auto!important;
  top:calc(14px + env(safe-area-inset-top,0px))!important;right:24px!important;
  z-index:1002!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;transform:none!important;
 }
 .shared-ui .site-header :is(.mobile-contacts,.mobile-menu-contacts){--menu-social-size:var(--ui-social-size);--menu-social-target:44px}
 .shared-ui .site-header :is(.mobile-contacts,.mobile-menu-contacts) .socials{gap:var(--ui-social-gap)}
 .shared-ui .site-header :is(.mobile-contacts,.mobile-menu-contacts) .socials :is(a,button){
  display:grid;place-items:center;flex:none;width:var(--menu-social-target);height:var(--menu-social-target);min-height:var(--menu-social-target);padding:0;
 }
 .shared-ui .site-header :is(.mobile-contacts,.mobile-menu-contacts) .socials :is(img,svg){
  display:block;width:var(--menu-social-size);height:var(--menu-social-size);object-fit:contain;
 }
}

/* Compact hints share the section heading without adding a row. */
.shared-ui .card-scroll-hint-host{position:relative;padding-inline-end:48px}
.shared-ui .card-scroll-hint{--hint-color:#85ad87;--hint-bg:#0d0d0d;display:flex;align-items:center;justify-content:center;width:32px;height:24px;margin:0;position:absolute;bottom:0;right:0;z-index:2;color:var(--hint-color);background:var(--hint-bg);border-radius:12px;pointer-events:none}
.shared-ui .card-scroll-hint[hidden]{display:none!important}
.shared-ui .card-scroll-hint svg{display:block;flex:none;width:24px;height:16px}

/* Shared checkbox bubble: keep the native input and its accessible label. */
.shared-ui .ui-checkbox{--check-size:20px;--check-color:var(--ui-green,#446b47);position:relative;display:block;width:var(--check-size);height:var(--check-size);margin-top:2px;overflow:visible;isolation:isolate}
.shared-ui .ui-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;width:var(--check-size);height:var(--check-size);margin:0!important;padding:0;border:1px solid #7a7977;border-radius:4px;background:#333;cursor:pointer;position:relative;z-index:1;transition:background-color 180ms ease-out,border-color 180ms ease-out}
.shared-ui .ui-checkbox input:checked{border-color:var(--check-color);background-color:var(--check-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.shared-ui .ui-checkbox input:focus-visible{outline:2px solid #85ad87;outline-offset:4px}
.shared-ui .ui-checkbox input:disabled{opacity:.5;cursor:default}
.shared-ui .ui-checkbox input[aria-invalid=true]{border-color:#e39898}
.shared-ui .ui-checkbox-wave{display:block;position:absolute;top:0;left:0;width:var(--check-size);height:var(--check-size);border:2px solid #85ad87;border-radius:50%;background:#446b4733;opacity:0;pointer-events:none;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.shared-ui .ui-checkbox input[type=checkbox]{transition:none}}

/* One press outline for every action, without changing its geometry. */
:root{--ui-press-gradient:var(--cta-gradient,linear-gradient(110deg,#ffeb70,#9aff16));--ui-press-duration:200ms;--ui-tap:300ms;--ui-press-width:1px}
.shared-ui .ui-press-static{position:relative}
.shared-ui .ui-press-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%}
.shared-ui :is(.menu-toggle,.icon-button).ui-press-surface{border-radius:50%}
.shared-ui .device-spec-open.ui-press-surface{border-radius:12px}
.shared-ui .ui-press-ring{display:block!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;padding:var(--ui-press-width)!important;border:0!important;border-radius:inherit;background:var(--ui-press-gradient)!important;pointer-events:none!important;z-index:5;opacity:0;transform:none!important;box-sizing:border-box;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;transition:opacity var(--ui-press-duration) ease-out}
.shared-ui .ui-press-on>.ui-press-ring{opacity:1}
.shared-ui :is(.dialog-close,.device-spec-close,.video-pause,.video-sound,.video-fullscreen,.icon-button).ui-tap{transform:none;color:var(--ui-hover)}
.shared-ui .cta-motion.ui-tap:not(:disabled){animation:none!important}
.shared-ui .sveta-card.ui-tap .card-arrow{transform:rotate(-45deg);transform-origin:32.5px 32.5px}
@media(prefers-reduced-motion:reduce){.shared-ui .ui-press-ring{transition:none}}

/* Popup close controls follow the device specifications window. */
:root{--ui-close-size:44px;--ui-cross-size:28px;--ui-close-radius:12px}
.shared-ui :is(.dialog-close,.device-spec-close){display:grid;place-items:center;box-sizing:border-box;width:var(--ui-close-size)!important;height:var(--ui-close-size)!important;min-height:var(--ui-close-size);padding:0!important;border:0;border-radius:var(--ui-close-radius)!important;background:#446b4714;color:var(--ui-green);text-decoration:none;cursor:pointer}
.shared-ui :is(.dialog-close,.device-spec-close)>svg{display:block;width:var(--ui-cross-size)!important;height:var(--ui-cross-size)!important;transition:transform var(--ui-control) ease-out!important}
.shared-ui :is(.dialog-close,.device-spec-close).ui-tap{color:var(--ui-hover);background:#446b4733}
.shared-ui :is(.dialog-close,.device-spec-close).ui-tap>svg{transform:rotate(90deg)}
.shared-ui :is(.dialog-close,.device-spec-close):focus-visible{outline:2px solid var(--ui-hover);outline-offset:4px}
.shared-ui .menu-toggle>.ui-press-ring,.shared-ui .sveta-card .ui-press-ring{display:none!important}
.shared-ui .sveta-card .card-arrow-ring{stroke:none!important;fill:none!important}
@media(hover:hover){.shared-ui :is(.dialog-close,.device-spec-close):hover{background:#446b4733}}
@media(prefers-reduced-motion:reduce){.shared-ui :is(.dialog-close,.device-spec-close)>svg{transition:none!important;transform:none!important}}

/* Shared form rhythm, based on the Kasper contact reference. */
:root{--ui-form-heading-gap:12px;--ui-form-intro-gap:32px;--ui-form-field-gap:16px;--ui-form-group-gap:24px}
.shared-ui #contacts .contact-intro,.shared-ui .jobs-intro{display:flex;flex-direction:column;gap:var(--ui-form-heading-gap);--od-gap:var(--ui-form-heading-gap)}
.shared-ui #contacts .contact-intro>h2,.shared-ui #contacts .contact-intro>p,.shared-ui .jobs-intro>h2,.shared-ui .jobs-intro>p{margin:0}
.shared-ui #contacts .contact-form,.shared-ui .jobs-form,.shared-ui #test-drive-dialog .contact-form{gap:var(--ui-form-group-gap)}
.shared-ui #contacts .fields,.shared-ui .jobs-fields,.shared-ui #test-drive-dialog .fields{gap:var(--ui-form-field-gap);--od-gap:var(--ui-form-field-gap)}
.shared-ui #test-drive-dialog h2{margin:0 0 var(--ui-form-heading-gap)}
.shared-ui #test-drive-dialog>p,.shared-ui #test-drive-dialog .test-drive-heading p{margin:0}
.shared-ui #test-drive-dialog .test-drive-heading{margin:0;padding:0}
.shared-ui #test-drive-dialog .contact-form{margin-top:var(--ui-form-intro-gap)}
.shared-ui :is(.contact-form,.jobs-form)>:is(.form-message,.form-status,.jobs-errors,.jobs-status):empty{display:none}
@media(max-width:1023px){.shared-ui #contacts.contact,.shared-ui .jobs-application{row-gap:var(--ui-form-intro-gap)}}

/* Consistent social artwork size in navigation and footer. */
:root{--ui-social-size:36px;--ui-social-target:44px;--ui-social-gap:8px}
.shared-ui :is(.site-header,.site-footer) .socials :is(a,button){display:grid;place-items:center;flex:none;width:var(--ui-social-target);height:var(--ui-social-target);min-width:var(--ui-social-target);min-height:var(--ui-social-target);padding:0}
.shared-ui :is(.site-header,.site-footer) .socials :is(img,svg){display:block;width:var(--ui-social-size)!important;height:var(--ui-social-size)!important;object-fit:contain}

.shared-ui :is(.site-header,.site-footer) .socials{gap:var(--ui-social-gap)}
/* mobile tap animation restore 20260917 */
@media(max-width:767px){
  .shared-ui :is(a,button,input,label,textarea,select,[role=button],.sveta-card,.job-toggle,.jobs-file-button,.menu-toggle,.dialog-close,.device-spec-close){-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}
  .shared-ui :is(a,button,input,label,textarea,select,[role=button],.sveta-card,.job-toggle,.jobs-file-button,.menu-toggle,.dialog-close,.device-spec-close):focus:not(:focus-visible){outline:none!important}
  .shared-ui .menu-toggle.ui-tap svg,.shared-ui .menu-toggle:active svg{transform:rotate(90deg) scale(.94)!important}
  .shared-ui .menu-toggle.ui-tap .menu-stroke,.shared-ui .menu-toggle:active .menu-stroke{stroke:var(--ui-hover)}
  .shared-ui :is(.job-toggle,.jobs-file-button,[data-detail]).ui-tap{filter:brightness(1.18)}
  .shared-ui .job-toggle.ui-tap .job-toggle-icon,.shared-ui .job-toggle:active .job-toggle-icon{color:var(--ui-hover);stroke:var(--ui-hover)}
  .shared-ui .jobs-file-button.ui-tap{border-color:var(--ui-hover);color:var(--ui-hover);background:#446b472e}
  .shared-ui :is(.dialog-close,.device-spec-close,.video-pause,.video-sound,.video-fullscreen,.icon-button,[data-detail]).ui-tap{transform:scale(.94);color:var(--ui-hover);background-color:#446b472e}
  .shared-ui .cta-motion:not(:disabled):is(:active,.ui-tap){background:var(--green);border-color:transparent;color:var(--text)}
  .shared-ui .cta-motion:not(:disabled):is(:active,.ui-tap)::before{opacity:1}
  .shared-ui .cta-motion:not(:disabled):is(:active,.ui-tap) .cta-label{background:var(--cta-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
  .shared-ui .cta-motion:not(:disabled):is(:active,.ui-tap) .cta-arrow{transform:rotate(-45deg)!important}
}

/* mobile animation fallback styles 20260917 */
@media(max-width:767px){
  .shared-ui :is(a,button,input,label,textarea,select,[role=button],.sveta-card,.job-toggle,.jobs-file-button,.menu-toggle,.dialog-close,.device-spec-close,.device-spec-open,.mobile-dots button,.hero-dots button){-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}
  .shared-ui .cta-motion:is(.ui-tap,.is-tap-animating):not(:disabled),.shared-ui .button:is(.ui-tap,.is-tap-animating):not(:disabled){background:var(--green);border-color:transparent;color:var(--text);animation:ui-tap 560ms ease-out both!important}
  .shared-ui .cta-motion:is(.ui-tap,.is-tap-animating)::before,.shared-ui .button:is(.ui-tap,.is-tap-animating)::before{opacity:1!important}
  .shared-ui .cta-motion:is(.ui-tap,.is-tap-animating) .cta-label,.shared-ui .button:is(.ui-tap,.is-tap-animating) .cta-label{background:var(--cta-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
  .shared-ui .cta-motion:is(.ui-tap,.is-tap-animating) .cta-arrow,.shared-ui .button:is(.ui-tap,.is-tap-animating) .cta-arrow{transform:rotate(-45deg)!important}
  .shared-ui .menu-toggle:is(.ui-tap,.is-tap-animating) svg{transform:scale(.94)!important}
  .shared-ui .menu-toggle[aria-expanded=true]:is(.ui-tap,.is-tap-animating) svg{transform:rotate(90deg) scale(.94)!important}
  .shared-ui .menu-toggle:is(.ui-tap,.is-tap-animating) .menu-stroke{stroke:var(--ui-hover)}
  .shared-ui :is(.dialog-close,.device-spec-close,.device-spec-open,.video-pause,.video-sound,.video-fullscreen,.icon-button,.job-toggle,.jobs-file-button,.sveta-card,[data-detail],.mobile-dots button,.hero-dots button):is(.ui-tap,.is-tap-animating){filter:brightness(1.18);color:var(--ui-hover)}
  .shared-ui :is(.dialog-close,.device-spec-close,.device-spec-open,.video-pause,.video-sound,.video-fullscreen,.icon-button):is(.ui-tap,.is-tap-animating)>svg{transform:rotate(90deg)}
  .shared-ui .job-toggle:is(.ui-tap,.is-tap-animating) .job-toggle-icon{color:var(--ui-hover);stroke:var(--ui-hover);transform:scale(.92)}
  .shared-ui .job-toggle[aria-expanded=false]:is(.ui-tap,.is-tap-animating) .job-toggle-icon{transform:rotate(45deg) scale(.92)}
  .shared-ui .jobs-file-button:is(.ui-tap,.is-tap-animating){border-color:var(--ui-hover);background:#446b472e}
}

/* mobile video controls no rotation 20260917 */
@media(max-width:767px){
  .shared-ui :is(.video-pause,.video-sound,.video-fullscreen):is(.ui-tap,.is-tap-animating,:active)>svg,
  .shared-ui :is(.video-pause,.video-sound,.video-fullscreen):is(.ui-tap,.is-tap-animating,:active) svg{
    transform:none!important;
  }
}

/* checkbox animation center alignment 20260917 */
.shared-ui .ui-checkbox{--checkbox-wave-size:var(--check-size,20px);flex:none;transform-origin:center center!important}
.shared-ui .ui-checkbox input[type=checkbox]{transform-origin:center center!important}
.shared-ui .ui-checkbox-wave{inset:auto!important;left:50%!important;top:50%!important;width:var(--checkbox-wave-size)!important;height:var(--checkbox-wave-size)!important;margin-left:calc(var(--checkbox-wave-size) * -0.5)!important;margin-top:calc(var(--checkbox-wave-size) * -0.5)!important;transform-origin:center center!important}
html.yandex-mobile-fallback-ready .shared-ui .ui-checkbox{--checkbox-wave-size:34px}



/* Cross-browser mobile interaction parity 20260918 */
@media(max-width:767px){
  .shared-ui :is(a,button,input,label,textarea,select,[role=button],.sveta-card,.job-toggle,.jobs-file-button,.menu-toggle,.dialog-close,.device-spec-close,.device-spec-open,.mobile-dots button,.hero-dots button){-webkit-tap-highlight-color:transparent!important;touch-action:manipulation;user-select:none;-webkit-user-select:none}
  .shared-ui :is(.devices,.sveta-cards,.mobile-slides,#steps,.mobile-rail){overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}


/* Safari keeps custom video buttons tappable above accelerated video 20260918 */
@media(max-width:767px){
  .shared-ui :is(.video-pause,.video-sound,.video-fullscreen){position:absolute!important;z-index:40!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;-webkit-transform:translateZ(0);transform:translateZ(0)}
}
