

/* Start:/assets/vendor/slick/slick.css?17824366531776*/
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* End */


/* Start:/assets/vendor/fancybox/fancybox.css?178260046232711*/
:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-outline-width: 1px;--f-button-outline-color: rgba(0, 0, 0, .7);--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-opacity: 1;--f-button-svg-disabled-opacity: .5;--f-button-svg-transition: opacity .15s ease;--f-button-svg-transform: none}.f-button{width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);transform:var(--f-button-transform);transition:var(--f-button-transition);backdrop-filter:var(--f-button-backdrop-filter);display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;pointer-events:all;cursor:pointer;overflow:hidden}@media(hover:hover){.f-button:hover:not([aria-disabled]){color:var(--f-button-hover-color, var(--f-button-color));background-color:var(--f-button-hover-bg, var(--f-button-bg))}}.f-button:active:not([aria-disabled]){color:var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));background-color:var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)))}.f-button:focus{outline:none}.f-button:focus-visible{outline:var(--f-button-outline-width) solid var(--f-button-outline-color);outline-offset:var(--f-button-outline-offset)}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);transform:var(--f-button-svg-transform);fill:var(--f-button-svg-fill);filter:var(--f-button-svg-filter);opacity:var(--f-button-svg-opacity, 1);transition:var(--f-button-svg-transition);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.f-button[aria-disabled]{cursor:default}.f-button[aria-disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}[data-panzoom-action=toggleFS] g:first-child{display:flex}[data-panzoom-action=toggleFS] g:last-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:first-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:last-child{display:flex}[data-autoplay-action=toggle] svg g:first-child{display:flex}[data-autoplay-action=toggle] svg g:last-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:first-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:last-child{display:flex}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child{display:flex}:root{--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-border-radius: 50%;--f-spinner-border-width: 4px}.f-spinner{position:absolute;top:50%;left:50%;margin:0;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height);translate:-50% -50%;border:var(--f-spinner-border-width) solid var(--f-spinner-color-1);border-top-color:var(--f-spinner-color-2);border-radius:var(--f-spinner-border-radius);animation:f-spinner .75s linear infinite,f-fadeIn .2s ease .2s both}@keyframes f-spinner{to{rotate:360deg}}.f-panzoom,.f-zoomable{position:relative;overflow:hidden;display:flex;align-items:center;flex-direction:column}.f-panzoom:before,.f-panzoom:after,.f-zoomable:before,.f-zoomable:after{display:block;content:""}.f-panzoom:not(.has-controls):before,.f-zoomable:not(.has-controls):before{margin-bottom:auto}.f-panzoom:after,.f-zoomable:after{margin-top:auto}.f-panzoom.in-fullscreen,.f-zoomable.in-fullscreen{position:fixed;top:0;left:0;margin:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:unset!important;z-index:9999}.f-panzoom__wrapper{position:relative;min-width:0;min-height:0;max-width:100%;max-height:100%}.f-panzoom__wrapper.will-zoom-out{cursor:zoom-out}.f-panzoom__wrapper.can-drag{cursor:move;cursor:grab}.f-panzoom__wrapper.will-zoom-in{cursor:zoom-in}.f-panzoom__wrapper.is-dragging{cursor:move;cursor:grabbing}.f-panzoom__wrapper.has-error{display:none}.f-panzoom__content{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%}.f-panzoom__content.is-lazyloading,.f-panzoom__content.has-lazyerror{visibility:hidden}img.f-panzoom__content{width:auto;height:auto;vertical-align:top;object-fit:contain;transition:none;user-select:none}.f-panzoom__wrapper>.f-panzoom__content{visibility:hidden}.f-panzoom__viewport{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.f-panzoom__viewport>.f-panzoom__content{width:100%;height:100%;object-fit:fill}picture.f-panzoom__content img{vertical-align:top;width:100%;height:auto;max-height:100%;object-fit:contain;transition:none;user-select:none}.f-panzoom__protected{position:absolute;inset:0;z-index:1;user-select:none}html.with-panzoom-in-fullscreen{overflow:hidden}.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .8) both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.is-horizontal .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX}.is-horizontal .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX}.is-horizontal .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX}.is-horizontal .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevX}@keyframes f-slideInPrevX{0%{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextX{0%{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextX{to{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevX{to{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}}.is-vertical .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY}.is-vertical .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY}.is-vertical .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY}.is-vertical .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevY}@keyframes f-slideInPrevY{0%{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextY{0%{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextY{to{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevY{to{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}}.f-zoomInUp{animation:var(--f-transition-duration, .3s) ease both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .3s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0),var(--f-zoomInUp-y, 16px),0);opacity:var(--f-zoomInUp-opacity, 0)}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);opacity:0}}.f-throwOutUp{animation:var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throwOutUp-y, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throwOutDown-y, 150px),0);opacity:0}}.has-iframe .f-html,.has-pdf .f-html,.has-gmap .f-html{width:100%;height:100%;min-height:1px;overflow:visible}.has-pdf .f-html,.has-gmap .f-html{padding:0}.f-html{position:relative;box-sizing:border-box;margin:var(--f-html-margin, 0);padding:var(--f-html-padding, 2rem);color:var(--f-html-color, currentColor);background:var(--f-html-bg)}.is-loading>.f-html{opacity:0}.f-html.is-error{text-align:center}.f-iframe{display:block;margin:0;border:0;height:100%;width:100%}.f-caption{align-self:center;flex-shrink:0;margin:var(--f-caption-margin);padding:var(--f-caption-padding, 16px 8px);max-width:100%;max-height:calc(80vh - 100px);overflow:auto;overflow-wrap:anywhere;line-height:var(--f-caption-line-height);color:var(--f-caption-color);background:var(--f-caption-bg);font:var(--f-caption-font);text-wrap:balance}.has-html5video .f-html,.has-youtube .f-html,.has-vimeo .f-html{padding:0;width:100%;height:100%;min-height:1px;overflow:visible;max-width:var(--f-video-width, 960px);max-height:var(--f-video-height, 540px);aspect-ratio:var(--f-video-aspect-ratio);background:var(--f-video-bg, rgba(0, 0, 0, .9))}.f-html5video{border:0;display:block;height:100%;width:100%;background:transparent}.f-button.is-arrow{--f-button-width: var(--f-arrow-width, 46px);--f-button-height: var(--f-arrow-height, 46px);--f-button-svg-width: var(--f-arrow-svg-width, 24px);--f-button-svg-height: var(--f-arrow-svg-height, 24px);--f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);--f-button-border-radius: var(--f-arrow-border-radius, unset);--f-button-bg: var(--f-arrow-bg, transparent);--f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));--f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));--f-button-shadow: var(--f-arrow-shadow);--f-button-color: var(--f-arrow-color);--f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));--f-button-active-color: var( --f-arrow-active-color, var(--f-arrow-hover-color) );overflow:visible}.f-button.is-arrow.is-prev,.f-button.is-arrow.is-next{position:absolute;transform:translate(0);z-index:20}.is-horizontal .f-button.is-arrow.is-prev,.is-horizontal .f-button.is-arrow.is-next{inset:50% auto auto;transform:translateY(-50%)}.is-horizontal.is-ltr .f-button.is-arrow.is-prev{left:var(--f-arrow-pos, 0)}.is-horizontal.is-ltr .f-button.is-arrow.is-next{right:var(--f-arrow-pos, 0)}.is-horizontal.is-rtl .f-button.is-arrow.is-prev{right:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-horizontal.is-rtl .f-button.is-arrow.is-next{left:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-vertical.is-ltr .f-button.is-arrow.is-prev,.is-vertical.is-rtl .f-button.is-arrow.is-prev{top:var(--f-arrow-pos, 0);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.is-vertical.is-ltr .f-button.is-arrow.is-next,.is-vertical.is-rtl .f-button.is-arrow.is-next{top:auto;right:auto;bottom:var(--f-arrow-pos, 0);left:50%;transform:translate(-50%)}.is-vertical .f-button.is-arrow.is-prev svg,.is-vertical .f-button.is-arrow.is-next svg{transform:rotate(90deg)}.f-carousel__toolbar{display:grid;grid-template-columns:1fr auto 1fr;margin:var(--f-toolbar-margin, 0);padding:var(--f-toolbar-padding, 8px);line-height:var(--f-toolbar-line-height);background:var(--f-toolbar-bg, none);box-shadow:var(--f-toolbar-shadow, none);backdrop-filter:var(--f-toolbar-backdrop-filter);position:relative;z-index:20;color:var(--f-toolbar-color, currentColor);font-size:var(--f-toolbar-font-size, 17px);font-weight:var(--f-toolbar-font-weight, inherit);font-family:var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);text-shadow:var(--f-toolbar-text-shadow);text-align:center;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;white-space:nowrap;pointer-events:none}.f-carousel__toolbar.is-absolute{position:absolute;top:0;left:0;right:0}.f-carousel__toolbar .f-button:focus-visible{position:relative;z-index:1}.f-carousel__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:var(--f-toolbar-gap, 0)}.f-carousel__toolbar__column.is-left{display:flex;justify-self:flex-start;justify-content:flex-start}.f-carousel__toolbar__column.is-middle{display:flex;justify-content:center}.f-carousel__toolbar__column.is-right{display:flex;justify-self:flex-end;justify-content:flex-end;flex-flow:nowrap}.f-carousel__toolbar__column{pointer-events:none}.f-carousel__toolbar__column>*{pointer-events:all}.f-counter{position:relative;display:flex;flex-direction:row;cursor:default;user-select:none;margin:var(--f-counter-margin, 0);padding:var(--f-counter-padding, 4px);line-height:var(--f-counter-line-height);background:var(--f-counter-bg);border-radius:var(--f-counter-border-radius)}.f-counter span{padding:0 var(--f-counter-gap, 4px)}:root{--f-thumbs-gap: 8px;--f-thumbs-margin: 0;--f-thumbs-padding-x: 8px;--f-thumbs-padding-y: 8px;--f-thumbs-bg: transparent;--f-thumbs-transition: max-height .3s ease, max-width .3s ease, padding .3s ease;--f-thumbs-z-index: 1;--f-thumbs-viewport-padding-x: 0px;--f-thumbs-viewport-padding-y: 0px;--f-thumb-width: 94px;--f-thumb-height: 76px;--f-thumb-clip-width: 46px;--f-thumb-extra-gap: 16px;--f-thumb-opacity: 1;--f-thumb-transition: opacity .3s ease, transform .15s ease;--f-thumb-border: none;--f-thumb-border-radius: 4px;--f-thumb-shadow: none;--f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));--f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-border-transition: all .1s ease;--f-thumb-img-width: 100%;--f-thumb-img-height: 100%;--f-thumb-img-fit: cover;--f-thumb-img-position: 50% 20%}.f-thumbs{--f-carousel-slide-width: var(--f-thumb-width);--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: var(--f-thumbs-gap);position:relative;box-sizing:border-box;flex-shrink:0;margin:var(--f-thumbs-margin);padding:var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);overflow:hidden;background:var(--f-thumbs-bg);-webkit-tap-highlight-color:transparent;user-select:none;transition:var(--f-thumbs-transition);z-index:var(--f-thumbs-z-index)}.f-thumbs.is-horizontal{max-height:calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2)}.f-thumbs.is-horizontal.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-vertical{max-width:calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x) * 2)}.f-thumbs.is-vertical.is-hidden{max-width:0;--f-thumbs-padding-x: 0}.f-thumbs.is-scrollable.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-ltr{direction:ltr}.f-thumbs.is-rtl{direction:rtl}.f-thumbs img{display:block;width:var(--f-thumb-img-width);height:var(--f-thumb-img-height);object-fit:var(--f-thumb-img-fit);object-position:var(--f-thumb-img-position);pointer-events:none;border-radius:inherit;color:transparent}.f-thumbs img[data-lazy-src]{visibility:hidden}.f-thumbs img.has-lazyerror{display:none}.f-thumbs__viewport{box-sizing:border-box;height:100%;padding:var(--f-thumbs-viewport-padding-y) var(--f-thumbs-viewport-padding-x);overflow:visible;display:grid}.f-thumbs__slide{position:relative;box-sizing:border-box;grid-area:1/1;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);margin:0;padding:0;display:flex;align-items:center;flex-direction:column;cursor:pointer;overflow:visible}.f-thumbs__slide:hover button{opacity:var(--f-thumb-hover-opacity, 1);transform:var(--f-thumb-hover-transform, none)}.f-thumbs__slide:hover button:after{border:var(--f-thumb-hover-border, none);box-shadow:var(--f-thumb-hover-shadow, var(--f-thumb-shadow))}.f-thumbs__slide button{all:unset;display:block;margin:auto;padding:0;position:relative;overflow:visible;width:100%;height:100%;outline:none;transition:var(--f-thumb-transition);border-radius:var(--f-thumb-border-radius);opacity:var(--f-thumb-opacity);transform:var(--f-thumb-transform);background:var(--f-thumb-bg)}.f-thumbs__slide button:after{content:"";position:absolute;inset:0;z-index:1;transition:var(--f-thumb-border-transition);border-radius:inherit;border:var(--f-thumb-border);box-shadow:var(--f-thumb-shadow)}.f-thumbs__slide button:focus-within{opacity:var(--f-thumb-focus-opacity, 1);transform:var(--f-thumb-focus-transform, none)}.f-thumbs__slide button:focus-within:after{border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, var(--f-thumb-shadow))}.f-thumbs__slide:active{opacity:var(--f-thumb-active-opacity, 1);transform:var(--f-thumb-active-transform, none)}.f-thumbs__slide:active:after{border:var(--f-thumb-active-border, none);box-shadow:var(--f-thumb-active-shadow, var(--f-thumb-shadow))}.f-thumbs__slide.is-selected{z-index:2}.f-thumbs__slide.is-selected button{opacity:var(--f-thumb-selected-opacity, 1);transform:var(--f-thumb-selected-transform, none)}.f-thumbs__slide.is-selected button:after{border:var(--f-thumb-selected-border, none);box-shadow:var(--f-thumb-selected-shadow, var(--f-thumb-shadow))}.f-thumbs.is-modern{--f-carousel-slide-width: calc( var(--f-thumb-clip-width) + var(--f-thumbs-gap) );--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: 0;--width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)))}.f-thumbs.is-modern .f-thumbs__viewport{width:calc(100% + var(--f-carousel-slide-width) * 2 + var(--f-thumbs-padding-x));margin-inline:calc((var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)) * -1)}.f-thumbs.is-modern .f-thumbs__slide{--clip-shift: calc((var(--width-diff) * .5) * var(--progress));--clip-path: inset( 0 var(--clip-shift) round var(--f-thumb-border-radius, 0) );padding:0;overflow:visible;left:var(--shift, 0);will-change:left;transition:left var(--f-transition-duration) var(--f-transition-easing)}.f-thumbs.is-modern .f-thumbs__slide button{display:block;margin-inline:50%;width:var(--f-thumb-width);clip-path:var(--clip-path);border:none;box-shadow:none;transition:clip-path var(--f-transition-duration) var(--f-transition-easing),opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease)}.f-thumbs.is-modern .f-thumbs__slide button:after{display:none}.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible){outline:none}.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before{content:"";position:absolute;z-index:1;top:0;left:var(--clip-shift);bottom:0;right:var(--clip-shift);transition:border var(--f-transition-duration) var(--f-transition-easing),box-shadow var(--f-transition-duration) var(--f-transition-easing);border-radius:inherit;border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, none)}.f-thumbs.is-modern{--f-transition-duration: .25s;--f-transition-easing: ease-out}.f-thumbs.is-modern.is-syncing{--f-transition-duration: 0s}.f-thumbs.is-scrollable .f-thumbs__viewport{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--f-thumb-width),1fr));grid-auto-rows:var(--f-thumb-height);gap:var(--f-thumbs-gap);overflow:auto;overscroll-behavior:contain;user-select:none}.f-thumbs.is-scrollable .f-thumbs__viewport .f-thumbs__slide{grid-area:auto;display:block;position:relative;max-width:100%;width:var(--f-thumb-width);height:var(--f-thumb-height);cursor:pointer;outline:none}:root{--f-progressbar-height: 3px;--f-progressbar-color: var(--f-carousel-theme-color, #575ad6);--f-progressbar-opacity: 1;--f-progressbar-z-index: 30}.f-progressbar{position:absolute;top:0;left:0;right:0;z-index:var(--f-progressbar-z-index);height:var(--f-progressbar-height);transform:scaleX(0);transform-origin:0;opacity:var(--f-progressbar-opacity);background:var(--f-progressbar-color);user-select:none;pointer-events:none;animation-name:f-progressbar;animation-play-state:running;animation-timing-function:linear}.f-progressbar:empty{display:block}button>.f-progressbar{--f-progressbar-height: 100%;--f-progressbar-opacity: .2}@keyframes f-progressbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-fullscreen-action=toggle] svg g:first-child{display:flex}[data-fullscreen-action=toggle] svg g:last-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg g:first-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg g:last-child{display:flex}.in-fullscreen-mode>.f-carousel{flex:1;min-width:0!important;min-height:0!important}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}.fancybox__dialog{position:fixed;inset:0;z-index:1050;width:100%;height:100vh;max-height:unset;max-width:unset;padding:0;margin:0;border:0;overflow:hidden;background:transparent;touch-action:none;overscroll-behavior:contain}.fancybox__dialog:focus{outline:none}.fancybox__dialog::backdrop{opacity:0}@supports (height: 100dvh){.fancybox__dialog{height:100dvh}}.fancybox__dialog *:empty{display:block}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-backdrop-bg: rgba(24, 24, 27, .95);--f-toolbar-margin: 0;--f-toolbar-padding: 8px;--f-toolbar-gap: 0;--f-toolbar-color: #ddd;--f-toolbar-font-size: 16px;--f-toolbar-font-weight: 500;--f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;--f-toolbar-line-height: var(--f-button-height);--f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);--f-toolbar-shadow: none;--f-toolbar-bg: none;--f-counter-margin: 0;--f-counter-padding: 0px 10px;--f-counter-gap: 4px;--f-counter-line-height: var(--f-button-height);--f-carousel-gap: 17px;--f-carousel-slide-width: 100%;--f-carousel-slide-height: 100%;--f-carousel-slide-padding: 0;--f-carousel-slide-bg: unset;--f-html-color: #222;--f-html-bg: #fff;--f-error-color: #fff;--f-error-bg: #333;--f-caption-margin: 0;--f-caption-padding: 16px 8px;--f-caption-color: var(--fancybox-color, #dbdbdb);--f-caption-bg: transparent;--f-caption-font: inherit;--f-caption-line-height: 1.375;--f-spinner-color-1: rgba(255, 255, 255, .2);--f-spinner-color-2: rgba(255, 255, 255, .8);--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-border-radius: 50%;--f-spinner-border-width: 4px;--f-progressbar-color: rgba(255, 255, 255);--f-button-width: 46px;--f-button-height: 46px;--f-button-color: #ddd;--f-button-hover-color: #fff;--f-button-outline-width: 1px;--f-button-outline-color: rgba(255, 255, 255, .75);--f-button-outline-offset: 0px;--f-button-bg: rgba(54, 54, 54, .75);--f-button-border: 0;--f-button-border-radius: 0;--f-button-shadow: none;--f-button-transition: all .2s ease;--f-button-transform: none;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.75;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .5;--f-arrow-pos: 32px;--f-arrow-width: 50px;--f-arrow-height: 50px;--f-arrow-svg-width: 24px;--f-arrow-svg-height: 24px;--f-arrow-svg-stroke-width: 2.5;--f-arrow-border-radius: 50%;--f-arrow-bg: rgba(54, 54, 54, .65);--f-arrow-color: #ddd;--f-arrow-hover-color: #fff;--f-close-button-width: 30px;--f-close-button-height: 30px;--f-close-button-svg-width: 24px;--f-close-button-svg-height: 24px;--f-close-button-svg-stroke-width: 1.75;--f-close-border-radius: 4px;--f-close-button-color: #fff;--f-close-button-hover-color: #fff;--f-close-button-bg: transparent;--f-close-button-hover-bg: transparent;--f-close-button-active-bg: transparent;--f-thumbs-margin: 0px;--f-thumbs-padding-x: 8px;--f-thumbs-padding-y: 8px;--f-thumbs-bg: none;--f-thumb-transition: all .2s ease;--f-thumb-width: 94px;--f-thumb-height: 76px;--f-thumb-opacity: 1;--f-thumb-border: none;--f-thumb-shadow: none;--f-thumb-transform: none;--f-thumb-focus-opacity: 1;--f-thumb-focus-border: none;--f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);--f-thumb-focus-transform: none;--f-thumb-hover-opacity: 1;--f-thumb-hover-border: none;--f-thumb-hover-transform: none;--f-thumb-active-opacity: var(--f-thumb-hover-opacity);--f-thumb-active-border: var(--f-thumb-hover-border);--f-thumb-active-transform: var(--f-thumb-hover-transform);--f-thumb-selected-opacity: 1;--f-thumb-selected-border: none;--f-thumb-selected-shadow: inset 0 0 0 2px #fff;--f-thumb-selected-transform: none;--f-scrollbar-width: 7px;--f-scrollbar-track-bg: #444;--f-scrollbar-track-border-radius: 10px;--f-scrollbar-track-shadow: inset 0 0 6px rgba(0, 0, 0, .2);--f-scrollbar-thumb-bg: #ddd;--f-scrollbar-thumb-border-radius: 10px}.fancybox__container[theme=light]{--fancybox-color: #222;--fancybox-backdrop-bg: rgba(255, 255, 255, .97);--f-toolbar-color: var(--fancybox-color, #222);--f-toolbar-text-shadow: none;--f-toolbar-font-weight: 400;--f-html-color: var(--fancybox-color, #222);--f-html-bg: #fff;--f-error-color: #555;--f-error-bg: #fff;--f-video-bg: #fff;--f-caption-color: #333;--f-spinner-color-1: rgba(0, 0, 0, .2);--f-spinner-color-2: rgba(0, 0, 0, .8);--f-spinner-border-width: 3.5px;--f-progressbar-color: rgba(111, 111, 116);--f-button-color: #333;--f-button-hover-color: #000;--f-button-outline-color: rgba(0, 0, 0, .85);--f-button-bg: rgba(255, 255, 255, .85);--f-button-svg-stroke-width: 1.3;--f-button-svg-filter: none;--f-arrow-bg: rgba(255, 255, 255, .85);--f-arrow-color: #333;--f-arrow-hover-color: #000;--f-arrow-svg-stroke-width: 1.3;--f-close-button-color: #555;--f-close-button-hover-color: #000;--f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);--f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;--f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;--f-scrollbar-track-bg: #ddd;--f-scrollbar-thumb-bg: #444}.fancybox__container{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column}.fancybox__container:focus{outline:none}.fancybox__container.has-vertical-thumbs{flex-direction:row-reverse}.fancybox__container.has-vertical-thumbs:not(.is-closing) .fancybox__viewport{overflow-x:clip;overflow-y:visible}.fancybox__container>*:not(.fancybox__carousel),.fancybox__container .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container .fancybox__column>*:not(.fancybox__viewport),.fancybox__container .fancybox__slide:not(.is-selected),.fancybox__container .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper,.f-spinner){opacity:var(--f-drag-opacity, 1)}.fancybox__container:not(.is-ready,.is-hiding){visibility:hidden}.fancybox__container.is-revealing>*:not(.fancybox__carousel),.fancybox__container.is-revealing .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container.is-revealing .fancybox__column>*:not(.fancybox__viewport),.fancybox__container.is-revealing .fancybox__slide:not(.is-selected),.fancybox__container.is-revealing .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper){animation:var(--f-interface-enter-duration, .35s) ease none f-fadeIn}.fancybox__container.is-hiding>*:not(.fancybox__carousel),.fancybox__container.is-hiding .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container.is-hiding .fancybox__column>*:not(.fancybox__viewport),.fancybox__container.is-hiding .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper){animation:var(--f-interface-exit-duration, .35s) ease forwards f-fadeOut}.fancybox__container.is-hiding .fancybox__carousel .fancybox__slide:not(.is-selected){opacity:0}.fancybox__container.is-hiding{pointer-events:none}.fancybox__container.is-idle .f-carousel__toolbar{pointer-events:none;opacity:0}.fancybox__container.is-idle .f-button.is-arrow{opacity:0}.fancybox__container.is-idle.is-ready .f-carousel__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__container.is-idle.is-ready .f-button.is-arrow{animation:.15s ease-out both f-fadeOut}.fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-backdrop-bg);filter:var(--fancybox-backdrop-filter)}.fancybox__carousel{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;position:relative;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__carousel.is-vertical{--f-carousel-slide-height: 100%}.fancybox__carousel.is-ltr{direction:ltr}.fancybox__carousel.is-rtl{direction:rtl}.fancybox__carousel>.f-button.is-arrow:before{position:absolute;content:"";inset:-30px;z-index:1}.fancybox__viewport{display:grid;flex:1;min-height:0;min-width:0;position:relative;overflow:visible;transform:translate3d(0,var(--f-drag-offset, 0),0)}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__viewport [data-selectable],.fancybox__viewport [contenteditable]{cursor:auto}.fancybox__slide{box-sizing:border-box;position:relative;grid-area:1/1;display:flex;align-items:center;flex-direction:column;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);min-width:0;min-height:0;max-width:100%;margin:0;padding:var(--f-carousel-slide-padding);background:var(--f-carousel-slide-bg);backface-visibility:hidden;transform:translateZ(0);will-change:transform}.fancybox__slide:before,.fancybox__slide:after{display:block;content:""}.fancybox__slide:before{margin-bottom:auto}.fancybox__slide:after{margin-top:auto}.fancybox__slide.is-selected{z-index:1}.fancybox__slide.f-zoomable{overflow:visible}.fancybox__slide.has-error{--f-html-color: var(--f-error-color, --f-html-color);--f-html-bg: var(--f-error-bg, --f-html-bg)}.fancybox__slide.has-html{overflow:auto;padding:8px}.fancybox__slide.has-iframe{overflow:hidden;padding:8px 0}.fancybox__slide.has-close-btn{padding-top:34px}.fancybox__slide.has-controls:before{margin:0}.fancybox__slide .f-spinner{cursor:pointer}.fancybox__container.is-closing .f-caption,.fancybox__slide.is-loading .f-caption{visibility:hidden}.fancybox__container.is-closing .fancybox__carousel,.fancybox__container.is-closing .fancybox__viewport,.fancybox__container.is-closing .fancybox__slide.is-selected{overflow:visible}.f-button.is-close-button{--f-button-width: var(--f-close-button-width);--f-button-height: var(--f-close-button-height);--f-button-border-radius: var(--f-close-border-radius);--f-button-color: var(--f-close-button-color);--f-button-hover-color: var(--f-close-button-hover-color);--f-button-bg: var(--f-close-button-bg);--f-button-hover-bg: var(--f-close-button-hover-bg);--f-button-active-bg: var(--f-close-button-active-bg);--f-button-svg-width: var(--f-close-button-svg-width);--f-button-svg-height: var(--f-close-button-svg-height);--f-button-svg-stroke-width: var(--f-close-button-svg-stroke-width);position:absolute;top:calc((var(--f-button-height) + 2px) * -1);right:0;z-index:10}.is-loading .f-button.is-close-button{visibility:hidden}.fancybox__thumbs{flex:0 1 100%}.fancybox__thumbs.is-scrollable{--f-thumbs-cols: 1;--f-thumbs-gap: 8px;--f-thumbs-transition: none;--f-thumbs-padding-x: 4px;--f-thumbs-padding-y: 8px;--f-thumbs-viewport-padding-x: 4px;--f-thumbs-viewport-padding-y: 0px;max-width:calc(var(--f-thumb-width) * var(--f-thumbs-cols) + var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1) + var(--f-thumbs-padding-x) * 2 + var(--f-thumbs-viewport-padding-x) * 2)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar{width:var(--f-scrollbar-width)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-track{background:var(--f-scrollbar-track-bg);border-radius:var(--f-scrollbar-track-border-radius);box-shadow:var(--f-scrollbar-track-shadow)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-thumb{background:var(--f-scrollbar-thumb-bg);border-radius:var(--f-scrollbar-thumb-border-radius)}.fancybox__thumbs.is-scrollable.is-hidden{max-width:0;--f-thumbs-padding-x: 0;max-height:unset;--f-thumbs-padding-y: unset}.fancybox__thumbs.is-scrollable .f-thumbs__viewport{overflow-x:hidden!important;grid-template-columns:repeat(auto-fill,calc((100% - var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1)) / var(--f-thumbs-cols)))!important}

/* End */


/* Start:/local/templates/incode/components/bitrix/news.list/incode_certificates/style.min.css?17878477544282*/
.certificate-section{--certificate-slide-height:clamp(470px, 43vw, 570px);position:relative;display:grid;gap:clamp(22px,3vw,34px);min-width:0;overflow:hidden}.certificate-section__head{display:flex;align-items:end;justify-content:space-between;gap:24px}.certificate-section__head>div:first-child{display:grid;gap:12px;max-width:900px}.certificate-section__head h2,.certificate-section__head p{margin:0}.certificate-section__head p{max-width:720px;color:rgba(246,248,243,.68);font-size:var(--fs-body);line-height:1.55}.certificate-slider__controls{display:flex;flex:0 0 auto;gap:10px}.certificate-slider__controls .certificate-slider__arrow{width:52px;min-width:52px;max-width:52px;height:52px;min-height:52px;max-height:52px;flex:0 0 52px;aspect-ratio:1;padding:0;border-radius:50%}.certificate-slider__controls .certificate-slider__arrow .icon{--icon-size:24px}body .main-page>.certificate-section.content-shell+.main-testimonials.content-shell{margin-top:clamp(52px,6vw,84px)}.certificate-slider__viewport{min-width:0;margin-right:calc(-1*var(--main-page-gutter));overflow:hidden}.certificate-slider__track{display:flex;align-items:stretch;gap:18px}.certificate-slider__track.slick-initialized{display:block}.certificate-slider__track .slick-list{margin:0-9px;overflow:visible}.certificate-slider__track .slick-track{display:flex;align-items:stretch}.certificate-slider__slide{width:auto;height:var(--certificate-slide-height)!important;min-height:var(--certificate-slide-height);max-height:var(--certificate-slide-height);padding:0 9px}.certificate-slider__slide .certificate-card,.certificate-slider__slide>div{height:100%}.certificate-card{display:grid;grid-template-rows:minmax(0,1fr);width:auto;min-height:0;aspect-ratio:var(--certificate-aspect-ratio, 1 / 1);padding:0;border:1px solid rgba(238,245,242,.14);border-radius:24px;background:radial-gradient(circle at 100%0,rgba(182,255,23,.08),transparent 36%),linear-gradient(145deg,rgba(255,255,255,.055),transparent 48%),rgba(8,12,13,.78)}.certificate-card h3{display:none}.certificate-card__media{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;border:0;border-radius:23px;background:#f5f5f3;color:inherit;text-decoration:none}.certificate-card__media img{width:100%;height:100%;display:block;object-fit:contain;transition:transform 260ms ease}.certificate-card__media:hover img{transform:scale(1.015)}.certificate-card__media:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.certificate-card__zoom{position:absolute;right:12px;bottom:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(182,255,23,.34);border-radius:50%;background:rgba(7,11,12,.88);color:var(--lime);backdrop-filter:blur(12px)}.certificate-slider__dots{min-height:14px}.certificate-slider__dots .slick-dots{position:static;display:flex;justify-content:center;gap:7px;margin:0;padding:0;list-style:none}.certificate-slider__dots .slick-dots button{width:8px;height:8px;display:block;overflow:hidden;padding:0;border:0;border-radius:999px;background:rgba(238,245,242,.24);color:transparent;font-size:0;transition:width 180ms ease,background-color 180ms ease}.certificate-slider__dots .slick-active button{width:26px;background:var(--lime)}.certificate-slider--static .certificate-slider__viewport{overflow-x:auto;scrollbar-width:none}.certificate-slider--static .certificate-slider__viewport::-webkit-scrollbar{display:none}@media (max-width:719px){.certificate-section{--certificate-slide-height:min(126vw, 520px);gap:20px}.certificate-section__head{align-items:start}.certificate-section__head p{font-size:var(--fs-body-sm)}.certificate-slider__controls{position:absolute;right:0;bottom:0;z-index:3}.certificate-slider__viewport{margin-right:calc(-1*var(--main-page-gutter));margin-left:calc(-1*var(--main-page-gutter));padding:0 var(--main-page-gutter)}.certificate-slider__track .slick-list{margin:0 calc(-1*var(--main-page-gutter));padding:0 var(--main-page-gutter)!important}.certificate-slider__slide{padding:0 7px}.certificate-card{border-radius:20px}.certificate-card__media{border-radius:19px}.certificate-slider__dots{padding-right:112px}}@media (prefers-reduced-motion:reduce){.certificate-card__media img,.certificate-slider__dots .slick-dots button{transition:none}}

/* End */


/* Start:/assets/service-tiles-text-only.css?17868325885152*/
/* Service tiles contain copy and controls only, including cached legacy markup. */
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card {
  grid-template-columns: minmax(0, 1fr) !important;
  border: 1px solid transparent !important;
  background: rgba(10, 14, 15, 0.72) !important;
  background-image: none !important;
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card::before,
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card::after {
  content: none !important;
  display: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card:hover,
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card:focus-visible {
  background: rgba(10, 14, 15, 0.72) !important;
  transform: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card > .service-card__media {
  display: none !important;
  background: none !important;
  background-image: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card > .service-card__content {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card > .service-card__content > div,
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card h3,
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card .card-title-link {
  width: 100%;
  max-width: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card p {
  width: 100%;
  max-width: none !important;
}

/* Lightweight shared hover: the global tubes palette runs around the border. */
:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card:is(:hover, :focus-visible) {
  border: 1px solid transparent !important;
  background: rgba(10, 14, 15, 0.74) !important;
  background-image: none !important;
  animation: none !important;
}

:is(
  .main-services__grid,
  .main-services__map,
  .services-catalog__grid,
  .service-related .grid
) > .service-card:is(:hover, :focus-visible)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 3 !important;
  inset: 0 !important;
  padding: 1px !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background: linear-gradient(110deg, #b6ff17, #41e7ff, #8d68ff, #ff4fc8, #ffbd54, #b6ff17) !important;
  background-size: 300% 300% !important;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
  mask-composite: exclude !important;
  animation: service-tile-border-flow 3.2s linear infinite !important;
}

@keyframes service-tile-border-flow {
  from {
    background-position: 0% 50%;
  }
  to {
    background-position: 100% 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .main-services__grid,
    .main-services__map,
    .services-catalog__grid,
    .service-related .grid
  ) > .service-card:is(:hover, :focus-visible)::before {
    animation: none !important;
  }
}

@media (max-width: 780px) {
  /* Slick moves cards below an extra track wrapper on phones, so the desktop
     direct-child selector no longer reaches them. Keep every mobile service
     tile text-only regardless of that runtime wrapper. */
  .service-card {
    grid-template-columns: minmax(0, 1fr) !important;
    background: rgba(10, 14, 15, 0.72) !important;
    background-image: none !important;
  }

  .service-card > .service-card__media {
    display: none !important;
    background: none !important;
    background-image: none !important;
  }

  .service-card > .service-card__content {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }

  :is(
    .main-services__grid,
    .main-services__map,
    .services-catalog__grid,
    .service-related .grid
  ) > .service-card {
    min-height: 260px;
    align-items: stretch;
  }

  :is(
    .main-services__grid,
    .main-services__map,
    .services-catalog__grid,
    .service-related .grid
  ) > .service-card > .service-card__content {
    height: 100% !important;
  }
}

/* End */


/* Start:/assets/heroes-text-only.css?178683672915348*/
/* All hero sections keep their content but no longer render imagery or shading. */
:is(
  .main-hero,
  .services-hero,
  .blog-hero,
  .blog-detail-hero,
  .contacts-visual-hero,
  .about-hero,
  .legal-hero
) {
  box-sizing: border-box;
  width: 100%;
  min-height: 100svh;
  display: grid !important;
  place-items: center !important;
  margin-inline: auto;
  padding: clamp(96px, 9vw, 140px) var(--main-page-gutter) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  overflow: visible;
}

.main-hero__panel {
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  isolation: auto !important;
}

.main-hero {
  height: 100svh !important;
}

:is(
  .main-hero,
  .services-hero,
  .blog-hero,
  .blog-detail-hero,
  .contacts-visual-hero,
  .about-hero,
  .legal-hero
)::before,
:is(
  .main-hero,
  .services-hero,
  .blog-hero,
  .blog-detail-hero,
  .contacts-visual-hero,
  .about-hero,
  .legal-hero
)::after,
:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero) picture,
:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero) [class*="hero__media"],
:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero) [class*="hero__visual"] {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

:is(
  .main-hero__panel,
  .main-hero__content,
  .services-hero__main,
  .services-hero__copy,
  .blog-hero__main,
  .blog-hero__copy,
  .blog-detail-hero__content,
  .contacts-visual-hero__content,
  .contacts-hero__copy,
  .about-hero__content,
  .legal-hero__content,
  .visual-hero__copy-stack,
  .services-hero__facts
) {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  background: transparent !important;
  background-image: none !important;
  transform: none !important;
}

:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) :is(h1, p, .lead) {
  width: 100% !important;
  max-width: 900px !important;
  margin-inline: auto !important;
  color: #fff !important;
  text-align: center !important;
  text-wrap: balance;
}

:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) h1 {
  width: min(960px, 100%) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  line-height: 1.08 !important;
}

.main-hero h1 {
  display: block !important;
  grid-column: auto !important;
  overflow: visible !important;
  line-height: 1.12 !important;
}

.main-hero__title-line {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
}

:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) :is(p, .lead) {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  min-height: 0 !important;
  margin: clamp(28px, 3vw, 42px) auto 0 !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  text-align: center !important;
}

:is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero) h1 :is(span, .accent, [class*="title-mark"], .main-hero__highlight) {
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  color: #fff !important;
}

.main-hero h1 .main-hero__lime-text {
  color: var(--lime) !important;
}

.services-root-hero h1 .accent {
  color: var(--lime) !important;
}

.cases-hero h1 .cases-hero__lime-text {
  color: var(--lime) !important;
}

.case-detail-hero .eyebrow {
  align-self: center !important;
  justify-self: center !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.blog-hero h1 .blog-hero__lime-text {
  color: var(--lime) !important;
}

.blog-hero h1 .blog-hero__heart {
  display: inline-block;
  width: 0.92em;
  height: 0.84em;
  vertical-align: -0.04em;
}

.blog-hero h1 .blog-hero__heart svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.blog-page > .blog-hero,
.blog-page > .blog-hero > .blog-hero__content,
.blog-page > .blog-hero > .blog-hero__content > .blog-hero__copy {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

.blog-page > .blog-hero {
  display: grid !important;
  padding: 0 !important;
}

.blog-page:not(.blog-section-page) > .blog-hero {
  overflow: visible !important;
  isolation: auto !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  outline: 0 !important;
}

.blog-page > .blog-hero::before,
.blog-page > .blog-hero::after,
.blog-page > .blog-hero > .blog-hero__content::before,
.blog-page > .blog-hero > .blog-hero__content::after,
.blog-page > .blog-hero > .blog-hero__content > .blog-hero__copy::before,
.blog-page > .blog-hero > .blog-hero__content > .blog-hero__copy::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
}

.blog-hero__content {
  box-sizing: border-box;
  width: min(980px, 100%);
  max-width: 980px;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: clamp(96px, 9vw, 140px) 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
}

@media (max-width: 760px) {
  .blog-hero__content {
    width: calc(100% - 36px);
    height: auto !important;
    min-height: 0 !important;
    justify-content: center;
    padding: 0;
  }
}

.about-hero h1 .about-hero__lime-text {
  color: var(--lime) !important;
}

.contacts-visual-hero h1 .contacts-hero__lime-text {
  color: var(--lime) !important;
}

.contacts-visual-hero__socials {
  align-self: center !important;
  margin: clamp(46px, 6vw, 82px) auto 0 !important;
}

:is(.services-hero__actions, .blog-detail-meta, .chip-row, .contacts-visual-hero__socials, .legal-hero__meta) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Narrative panels read as body copy, so keep their text anchored left even
   when the surrounding mobile section heading is centered. */
.main-page :is(.home-services__lead-panel, .home-crm-services__lead, .cases-section__lead),
.main-page :is(.home-services__lead-panel, .home-crm-services__lead, .cases-section__lead) p {
  justify-self: start !important;
  text-align: left !important;
}

.cases-page .cases-hero .cases-section__lead,
.cases-page .cases-hero .cases-section__lead p {
  justify-self: center !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

/* Card tags stay attached to the card's left content edge on every viewport. */
.article-card > .chip-row {
  justify-content: flex-start !important;
  text-align: left !important;
}

:is(.main-hero__mobile-cta, .services-hero__actions, .blog-hero__articles-cta, .profile-hero__cta, .about-hero__actions) {
  position: static !important;
  align-self: center !important;
  justify-self: center !important;
  margin: clamp(38px, 4vw, 58px) auto 0 !important;
  transform: none !important;
}

.services-hero__actions {
  width: auto !important;
  max-width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

.services-hero__actions .btn {
  width: auto !important;
  min-width: clamp(220px, 18vw, 290px) !important;
  min-height: 64px !important;
  height: 64px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

.services-hero__facts {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  margin-top: clamp(34px, 4vw, 54px) !important;
  border: 0 !important;
}

@media (max-width: 760px) {
  :root {
    --mobile-header-space: 60px;
    --mobile-tabbar-space: calc(82px + env(safe-area-inset-bottom, 0px));
    --mobile-hero-tabbar-gap: 20px;
  }

  :is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) {
    width: auto !important;
    height: calc(100svh - var(--mobile-header-space) - var(--mobile-tabbar-space)) !important;
    min-height: calc(100svh - var(--mobile-header-space) - var(--mobile-tabbar-space)) !important;
    max-height: calc(100svh - var(--mobile-header-space) - var(--mobile-tabbar-space)) !important;
    place-items: center !important;
    padding: 88px 18px var(--mobile-hero-tabbar-gap) !important;
  }

  .main-page > .main-hero + .main-services {
    margin-top: 80px !important;
  }

  /* Blog sections do not have a hero: breadcrumbs and topic filters should
     start immediately below the fixed mobile header. */
  .main-page.blog-section-page > .breadcrumbs {
    margin-top: 12px !important;
  }

  .main-page.blog-section-page > .content-shell.blog-topic-tabs {
    margin-top: 12px !important;
  }

  .main-page.blog-section-page .main-blog__head,
  .main-page.blog-section-page .main-blog__head > div {
    width: 100%;
    justify-items: start !important;
    text-align: left !important;
  }

  .main-page.blog-section-page .main-blog__head :is(h1, p, .lead) {
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .main-hero__content {
    align-self: center !important;
    padding: 0 !important;
  }

  .about-page > .about-hero {
    left: auto !important;
    margin-left: auto !important;
  }

  .about-page > .about-hero > .about-hero__content {
    position: static !important;
    top: auto !important;
  }

  /* Primary mobile heroes share fixed vertical slots. Their content may
     change, but title, description and CTA always start at the same Y. */
  :is(
    .main-page > .main-hero,
    .services-page > .services-root-hero,
    .cases-page > .cases-hero,
    .blog-page:not(.blog-section-page) > .blog-hero
  ) {
    position: relative !important;
    display: grid !important;
    padding: 0 !important;
  }

  :is(
    .main-page > .main-hero > .main-hero__panel,
    .services-page > .services-root-hero > .services-hero__main,
    .cases-page > .cases-hero > .services-hero__main,
    .blog-page:not(.blog-section-page) > .blog-hero > .blog-hero__content
  ) {
    position: absolute !important;
    inset: auto 18px var(--mobile-hero-tabbar-gap) !important;
    width: auto !important;
    max-width: 420px !important;
    height: 466px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  :is(
    .main-page > .main-hero .main-hero__content,
    .services-page > .services-root-hero .services-hero__copy,
    .cases-page > .cases-hero .services-hero__copy,
    .blog-page:not(.blog-section-page) > .blog-hero > .blog-hero__content
  ) {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: 180px 180px 58px;
    row-gap: 24px !important;
    align-content: end !important;
    align-items: start !important;
    align-self: end !important;
  }

  /* The blog content is both the positioned shell and the slot grid. Keep it
     constrained by its left/right inset instead of expanding it to 100%. */
  .blog-page:not(.blog-section-page) > .blog-hero {
    width: 100% !important;
    max-width: 100% !important;
  }

  .blog-page:not(.blog-section-page) > .blog-hero > .blog-hero__content {
    width: auto !important;
  }

  :is(
    .main-page > .main-hero .visual-hero__copy-stack,
    .services-page > .services-root-hero .visual-hero__copy-stack,
    .blog-page:not(.blog-section-page) > .blog-hero .blog-hero__copy
  ) {
    display: contents !important;
  }

  :is(
    .main-page > .main-hero,
    .services-page > .services-root-hero,
    .cases-page > .cases-hero,
    .blog-page:not(.blog-section-page) > .blog-hero
  ) h1 {
    align-self: start !important;
    margin: 0 !important;
    font-size: clamp(34px, 9.5vw, 40px) !important;
    line-height: 1.05 !important;
  }

  :is(
    .main-page > .main-hero,
    .services-page > .services-root-hero,
    .cases-page > .cases-hero,
    .blog-page:not(.blog-section-page) > .blog-hero
  ) :is(.lead, .cases-section__lead) {
    align-self: start !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  :is(
    .main-page > .main-hero .main-hero__mobile-cta,
    .services-page > .services-root-hero .services-hero__actions,
    .cases-page > .cases-hero .services-hero__actions,
    .blog-page:not(.blog-section-page) > .blog-hero .blog-hero__articles-cta
  ) {
    align-self: start !important;
    margin: 0 !important;
  }

  :is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) h1 {
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.025em !important;
    overflow-wrap: anywhere;
  }

  .cases-page .cases-hero h1 {
    font-size: clamp(34px, 9.5vw, 40px) !important;
    text-wrap: wrap !important;
    overflow-wrap: normal !important;
  }

  .cases-page .cases-hero h1 .cases-hero__lime-text {
    white-space: nowrap;
  }

  .cases-page .cases-hero h1 .cases-hero__title-line {
    display: block;
    white-space: nowrap;
  }

  .cases-page .cases-hero .cases-section__lead,
  .cases-page .cases-hero .cases-section__lead p {
    justify-self: center !important;
    text-align: center !important;
  }

  :is(.main-hero, .services-hero, .blog-hero, .blog-detail-hero, .contacts-visual-hero, .about-hero, .legal-hero) :is(p, .lead) {
    margin-top: 22px !important;
  }

  .cases-page .cases-hero .cases-section__lead,
  .cases-page .cases-hero .cases-section__lead p {
    margin-top: 0 !important;
  }

  :is(.main-hero__mobile-cta, .services-hero__actions, .blog-hero__articles-cta, .profile-hero__cta, .about-hero__actions) {
    width: min(100%, 360px) !important;
    margin-top: 30px !important;
  }

  .services-hero__actions {
    width: min(100%, 360px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .services-hero__actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
  }

  .contacts-visual-hero__socials {
    margin-top: 42px !important;
  }
}

/* End */


/* Start:/assets/hero-scroll-assist.css?17868325881699*/
.hero-scroll-assist-root {
  position: relative !important;
}

/* The old service-detail prompt is replaced by the shared hero control. */
.service-hero-next {
  display: none !important;
}

.hero-scroll-assist {
  position: absolute;
  left: 50%;
  bottom: clamp(18px, 2.1vw, 30px);
  z-index: 12;
  width: 48px;
  height: 48px;
  display: none;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(238, 245, 242, 0.22);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 0, rgba(182, 255, 23, 0.12), transparent 58%),
    rgba(7, 10, 11, 0.72);
  color: var(--lime);
  cursor: pointer;
  opacity: 0.74;
  transform: translateX(-50%);
  transition:
    border-color 160ms linear,
    box-shadow 160ms linear,
    opacity 160ms linear,
    transform 160ms ease;
}

.blog-page:not(.blog-section-page) > .blog-hero .hero-scroll-assist {
}

.hero-scroll-assist .icon {
  --icon-size: 22px;
  animation: hero-scroll-assist-nudge 1800ms ease-in-out infinite;
}

.hero-scroll-assist:hover,
.hero-scroll-assist:focus-visible {
  border-color: rgba(182, 255, 23, 0.62);
  opacity: 1;
  outline: 0;
  transform: translate(-50%, 3px);
}

.hero-scroll-assist-root.is-hero-scroll-assist-moving .hero-scroll-assist {
  pointer-events: none;
  opacity: 0.34;
}

@media (min-width: 761px) and (min-height: 620px) and (hover: hover) and (pointer: fine) {
  .hero-scroll-assist {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-scroll-assist,
  .hero-scroll-assist .icon {
    animation: none;
    transition: none;
  }
}

@keyframes hero-scroll-assist-nudge {
  0%,
  100% {
    transform: translateY(-2px);
  }

  50% {
    transform: translateY(3px);
  }
}

/* End */


/* Start:/assets/pointer-effects-off.css?17868366392846*/
/* The WebGL tubes are the only pointer-reactive visual on the site. */
:where(.glass, .glass-animated, .reactive-panel) {
  --cursor-x: 50% !important;
  --cursor-y: 50% !important;
  --cursor-glow: 0 !important;
  --border-glow: 0 !important;
  --edge-top: 0 !important;
  --edge-left: 0 !important;
  --edge-right: 0 !important;
  --edge-bottom: 0 !important;
  --center-glow: 0 !important;
}

:where(.tilt-glare-card, .testimonial-card) {
  --tilt-glare-hover: 0 !important;
  --tilt-glare-pos: 50% !important;
  --tilt-glare-x: 0deg !important;
  --tilt-glare-y: 0deg !important;
  --testimonial-glare-pos: 50% !important;
  --testimonial-tilt-x: 0deg !important;
  --testimonial-tilt-y: 0deg !important;
  transform: none !important;
}

:where(.btn, .site-business-card__icon) {
  --btn-hover-glow: 0 !important;
  --btn-crystal-reveal: 0 !important;
  --btn-light-x: 50% !important;
  --btn-light-y: 50% !important;
}

/* Lightweight button feedback: color only, without motion or render filters. */
:where(.btn) {
  transform: none !important;
  filter: none !important;
  transition:
    color 150ms linear,
    border-color 150ms linear,
    background-color 150ms linear !important;
}

:where(.btn)::before,
:where(.btn)::after {
  content: none !important;
  display: none !important;
}

:where(.btn) > .icon,
:where(.btn):is(:hover, :focus-visible) > .icon {
  transform: none !important;
  filter: none !important;
  transition: color 150ms linear !important;
}

:where(.btn-primary, .btn-filled):is(:hover, :focus-visible):not([disabled]) {
  color: #152000 !important;
  border-color: rgba(223, 255, 153, 0.78) !important;
  background-color: #c8ff4a !important;
}

:where(.btn-outline):is(:hover, :focus-visible):not([disabled]) {
  color: #fff !important;
  border-color: rgba(182, 255, 23, 0.58) !important;
  background-color: rgba(24, 31, 29, 0.96) !important;
}

:where(.btn-ghost):is(:hover, :focus-visible):not([disabled]) {
  color: #fff !important;
  border-color: rgba(182, 255, 23, 0.4) !important;
  background-color: rgba(18, 25, 23, 0.92) !important;
}

:where(.btn-lime-border):is(:hover, :focus-visible):not([disabled]) {
  color: var(--text) !important;
  border-color: rgba(182, 255, 23, 1) !important;
  background-color: rgba(182, 255, 23, 0.14) !important;
}

:where(.btn-crystal-gray):is(:hover, :focus-visible):not([disabled]) {
  color: #fff !important;
  border-color: rgba(238, 245, 242, 0.34) !important;
  background-color: #4a5254 !important;
}

:where(.btn-icon, .btn-square:not(.btn-primary)):is(:hover, :focus-visible):not([disabled]) {
  color: #fff !important;
  border-color: rgba(182, 255, 23, 0.46) !important;
  background-color: #171e1c !important;
}

:where(.btn-text):is(:hover, :focus-visible):not([disabled]) {
  color: #d7ff77 !important;
  background-color: transparent !important;
}

/* End */


/* Start:/assets/site-black-background.css?17867378621642*/
/* One neutral page background everywhere; the homepage canvas remains above it. */
html,
body,
body.home-body,
body.services-body,
body.cases-body,
body.blog-body,
body.about-body,
body.contacts-body,
body.agreement-body {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  background-attachment: scroll !important;
}

.main-page,
.main-footer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body::before,
body::after,
body.home-body::before,
body.home-body::after,
body.services-body::before,
body.services-body::after,
body.cases-body::before,
body.cases-body::after,
body.blog-body::before,
body.blog-body::after,
body.about-body::before,
body.about-body::after,
body.contacts-body::before,
body.contacts-body::after,
body.agreement-body::before,
body.agreement-body::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Remove page-level decorative washes without changing card surfaces. */
.main-page::before,
.main-page::after,
.main-decor,
.testimonial-decor {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* No secondary page-level scene may compete with the global tubes canvas. */
:where(
  .services-page,
  .service-site-page,
  .cases-page,
  .case-detail-page,
  .blog-page,
  .blog-detail-page,
  .about-page,
  .contacts-page,
  .agreement-page
) {
  background: transparent !important;
  background-image: none !important;
}

/* End */


/* Start:/assets/home-tubes.css?17868367292434*/
body {
  background: #000;
}

body::before,
body::after {
  content: none;
  display: none;
}

.home-tubes-stage {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: visible;
  isolation: auto;
  pointer-events: none;
  background-color: #000;
  background-image:
    radial-gradient(ellipse 48% 42% at 4% 90%, rgba(130, 106, 230, 0.3) 0%, rgba(130, 106, 230, 0.12) 42%, transparent 74%),
    radial-gradient(ellipse 34% 28% at 15% 94%, rgba(157, 184, 63, 0.18) 0%, transparent 72%),
    radial-gradient(ellipse 44% 38% at 96% 8%, rgba(130, 106, 230, 0.28) 0%, rgba(130, 106, 230, 0.1) 44%, transparent 74%),
    radial-gradient(ellipse 30% 24% at 88% 14%, rgba(157, 184, 63, 0.16) 0%, transparent 72%),
    url("/assets/code-fog-code-v2.svg?v=13"),
    url("/assets/code-fog-base-v2.webp");
  background-position: center, center, center, center, center, center;
  background-size: cover, cover, cover, cover, cover, cover;
  background-repeat: no-repeat;
}

.home-tubes-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.18);
}

.home-tubes-canvas {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}

.main-hero__panel {
  background: transparent;
}

.main-hero__panel::before,
.main-hero__panel::after {
  content: none;
  display: none;
}

.main-services :is(.main-services__grid, .main-services__map) .service-card--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.main-services :is(.main-services__grid, .main-services__map) .service-card--text-only > .service-card__content {
  width: 100%;
  max-width: none;
}

.main-services :is(.main-services__grid, .main-services__map) .service-card--text-only p {
  width: 100%;
  max-width: none;
}

@media (prefers-reduced-motion: reduce) {
  .home-tubes-canvas {
    display: none;
  }
}

@media (max-width: 780px) and (orientation: portrait) {
  .home-tubes-stage {
    background-image:
      radial-gradient(ellipse 72% 34% at 6% 92%, rgba(130, 106, 230, 0.28) 0%, transparent 74%),
      radial-gradient(ellipse 62% 30% at 96% 8%, rgba(157, 184, 63, 0.14) 0%, transparent 74%),
      url("/assets/code-fog-code-mobile.svg?v=1"),
      url("/assets/code-fog-base-mobile-v1.webp");
    background-position: center, center, center, center;
    background-size: cover, cover, 100% 100%, cover;
  }
}

/* End */


/* Start:/local/templates/incode/components/bitrix/menu/incode_top/style.min.css?17868396405942*/
.topbar.is-mega-open{padding-bottom:22px;background:rgba(9,14,15,.92)}.nav{position:relative;z-index:80;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,58px);color:rgba(246,248,243,.76);font-size:16px}.nav a,.nav-dropdown,.nav__link{display:inline-flex;align-items:center}.nav a,.nav__link{gap:6px;padding:0;border:0;background:0 0;color:inherit;font:inherit;line-height:1.2;text-decoration:none;cursor:pointer;transition:color 180ms ease,text-shadow 180ms ease}.nav__link .icon{width:14px;height:14px;opacity:.76;transform:rotate(90deg);transition:transform 180ms ease,opacity 180ms ease}.nav-dropdown{position:relative;z-index:120}.nav-dropdown__menu{position:absolute;top:calc(100% + 14px);left:50%;z-index:130;width:220px;display:grid;gap:2px;padding:10px;border:1px solid rgba(238,245,242,.2);border-radius:var(--radius-card);background:linear-gradient(145deg,#202322,#101313 62%,#0a0d0d),#101313;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-6px);transition:opacity 180ms ease,visibility 180ms ease,transform 180ms ease}.nav-dropdown__menu::before{content:"";position:absolute;right:0;bottom:100%;left:0;height:16px}.nav-dropdown.is-open .nav-dropdown__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.nav-dropdown__menu a{width:100%;min-height:36px;justify-content:space-between;padding:8px 10px;border-radius:12px;color:rgba(246,248,243,.74);font-size:var(--fs-body-sm);line-height:1.25;transition:color 160ms ease,background 160ms ease,transform 160ms ease}.nav-dropdown__menu a::after{content:"↗";color:rgba(182,255,23,.64);font-size:13px;opacity:0;transform:translate(-3px,3px);transition:opacity 160ms ease,transform 160ms ease}.nav-dropdown__menu a:focus-visible,.nav-dropdown__menu a:hover{color:var(--text);background:rgba(182,255,23,.07);transform:translateX(1px)}.mega-menu__column a:focus-visible::after,.mega-menu__column a:hover::after,.nav-dropdown__menu a:focus-visible::after,.nav-dropdown__menu a:hover::after{opacity:1;transform:translate(0,0)}.nav .active,.nav a:hover,.nav__link:hover,.nav__link[aria-expanded=true]{color:var(--lime)}.nav-dropdown.is-open .nav__link .icon,.nav__link:hover .icon,.nav__link[aria-expanded=true] .icon{opacity:1;transform:rotate(-90deg)}.mega-menu{grid-column:1/-1;width:100%;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height 320ms ease,opacity 180ms ease}.topbar.is-mega-open .mega-menu{max-height:min(430px,calc(100vh - 92px));opacity:1;pointer-events:auto}.mega-menu__inner{max-height:min(430px,calc(100vh - 92px));padding:16px 0 10px;overflow-y:auto;border-top:1px solid rgba(238,245,242,.11);scrollbar-width:thin;scrollbar-color:rgba(182,255,23,.32) transparent}.mega-menu__panel{display:none;gap:clamp(16px,2vw,28px);opacity:0;transform:translateY(-8px);transition:opacity 220ms ease 70ms,transform 220ms ease 70ms}.mega-menu__panel,.mega-menu__panel--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.mega-menu__panel.is-active{display:grid}.topbar.is-mega-open .mega-menu__panel.is-active{opacity:1;transform:translateY(0)}.mega-menu__column{display:grid;align-content:start;gap:5px}.mega-menu__column a,.mega-menu__label{width:max-content;max-width:100%;display:inline-flex;align-items:center}.mega-menu__label{min-height:32px;margin-bottom:4px;padding:7px 13px;border:1px solid rgba(238,245,242,.12);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),rgba(255,255,255,.026);color:rgba(246,248,243,.68);font-size:var(--fs-caption);font-weight:600;line-height:1}.mega-menu__column a{min-height:28px;justify-content:flex-start;gap:8px;padding:4px 0;color:rgba(246,248,243,.72);font-size:var(--fs-body-sm);line-height:1.25;text-decoration:none;transition:color 180ms ease,transform 180ms ease}.mega-menu__column a::after{content:"↗";color:rgba(182,255,23,.68);font-size:14px;line-height:1;opacity:0;transform:translate(-4px,4px);transition:opacity 180ms ease,transform 180ms ease}.mega-menu__column a:focus-visible,.mega-menu__column a:hover{color:var(--text);transform:translateX(2px)}.mega-menu__banner{position:relative;grid-column:4;min-height:100%;display:grid;align-content:center;gap:8px;padding:18px;border:1px solid rgba(182,255,23,.22);border-radius:var(--radius-md);background:radial-gradient(circle at 88% 18%,rgba(182,255,23,.2),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018) 58%,rgba(182,255,23,.06)),rgba(9,14,15,.38);color:var(--text);text-decoration:none;transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.mega-menu__banner--image{align-content:end;isolation:isolate;overflow:hidden;min-height:320px;background:#090d0e}.mega-menu__banner--image::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,8,9,.04) 18%,rgba(5,8,9,.54) 58%,rgba(5,8,9,.96) 100%),radial-gradient(circle at 76% 16%,rgba(182,255,23,.12),transparent 44%)}.mega-menu__banner-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;display:block;object-fit:cover;object-position:center 24%;transition:filter 180ms ease,transform 260ms ease}.mega-menu__banner--image:focus-visible .mega-menu__banner-image,.mega-menu__banner--image:hover .mega-menu__banner-image{transform:scale(1.015)}.mega-menu__banner span{position:relative;z-index:1;color:var(--lime);font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:0}.mega-menu__banner strong{position:relative;z-index:1;max-width:260px;font-size:clamp(18px,1.7vw,22px);line-height:1.14;font-weight:600}.mega-menu__banner small{position:relative;z-index:1;max-width:260px;color:rgba(246,248,243,.64);font-size:var(--fs-body-sm);line-height:1.35}.mega-menu__banner:focus-visible,.mega-menu__banner:hover{border-color:rgba(182,255,23,.42);transform:translateY(-1px)}@media (max-width:1180px){.mega-menu,.nav{display:none}}

/* End */


/* Start:/local/templates/incode/components/bitrix/menu/incode_mobile/style.min.css?17878679426214*/
.mobile-menu{display:none}@media (min-width:1181px){.mobile-menu :is(.bx-context-toolbar-empty-area,.bx-component-opener,.bx-context-toolbar){display:none!important}}@media (max-width:1180px){body.mobile-menu-open{position:fixed;width:100%;overflow:hidden;overscroll-behavior:none}.mobile-menu{position:fixed;inset:0;z-index:80;display:block;padding:0 0 16px;visibility:hidden;opacity:0;pointer-events:none;clip-path:circle(0 at calc(100% - 38px) 36px);transition:clip-path 620ms cubic-bezier(.16,1,.3,1),opacity 260ms ease,visibility 0s linear 620ms}.mobile-menu.is-open{visibility:visible;opacity:1;pointer-events:auto;clip-path:circle(150%at calc(100% - 38px) 36px);transition:clip-path 720ms cubic-bezier(.16,1,.3,1),opacity 180ms ease,visibility 0s linear 0s}.mobile-menu::before{content:"";position:absolute;inset:0;background:rgba(2,4,5,.82)}.mobile-menu::after{content:"";position:absolute;inset:-20%;opacity:.38;background:linear-gradient(rgba(182,255,23,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(238,245,242,.055) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(62deg) translateY(10%);transform-origin:center bottom;pointer-events:none}.mobile-menu__shell{position:relative;z-index:1;--glint-border:0px;--panel-bg:radial-gradient(circle at 88% 8%, rgba(182, 255, 23, 0.16), transparent 36%),
      radial-gradient(circle at 8% 78%, rgba(157, 132, 255, 0.1), transparent 40%),
      #050807;--panel-blur:none;width:100%;min-height:0;height:auto;max-height:min(680px,calc(100dvh - 16px));display:grid;grid-template-rows:auto auto auto;gap:24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px;border:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--panel-bg);transform:translateY(-12px) scale(.98) rotateX(5deg);transform-origin:top right;transition:transform 520ms cubic-bezier(.16,1,.3,1)}.mobile-menu__shell.glass::before{display:none}.mobile-menu__shell.glass::after{opacity:.72;background:linear-gradient(rgba(182,255,23,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,245,242,.045) 1px,transparent 1px);background-size:42px 42px}.mobile-menu.is-open .mobile-menu__shell{transform:translateY(0) scale(1) rotateX(0)}.mobile-menu__footer,.mobile-menu__top{display:flex;justify-content:space-between}.mobile-menu__top{align-items:center}.mobile-menu__footer{gap:14px}.mobile-menu__top{min-height:52px;gap:5px}.mobile-menu__top .logo-image{width:min(300px,calc(100% - 53px));height:48px;object-fit:contain;object-position:left center}.mobile-menu__close{--icon-size:24px;width:48px;min-width:48px;height:48px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:rgba(238,245,242,.08);color:var(--text)}.mobile-menu__nav{display:grid;align-content:start;gap:10px;overflow:visible;padding:6px 0 14px}.mobile-menu__group{border-bottom:1px solid rgba(238,245,242,.12);opacity:0;transform:translateY(18px) rotateX(-8deg);transition:opacity 360ms ease,transform 520ms cubic-bezier(.16,1,.3,1)}.mobile-menu.is-open .mobile-menu__group{opacity:1;transform:translateY(0) rotateX(0)}.mobile-menu.is-open .mobile-menu__group:nth-child(1){transition-delay:110ms}.mobile-menu.is-open .mobile-menu__group:nth-child(2){transition-delay:160ms}.mobile-menu.is-open .mobile-menu__group:nth-child(3){transition-delay:210ms}.mobile-menu.is-open .mobile-menu__group:nth-child(4){transition-delay:260ms}.mobile-menu.is-open .mobile-menu__group:nth-child(5){transition-delay:310ms}.mobile-menu__row{width:100%;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0}.mobile-menu__link{display:block;min-width:0;color:var(--text);font-size:25px;line-height:1.12;font-weight:500}.mobile-menu__link.active{color:var(--lime)}.mobile-menu__price-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:0 0 14px;padding:13px 14px;border:1px solid rgba(182,255,23,.26);border-radius:14px;background:linear-gradient(120deg,rgba(182,255,23,.1),rgba(238,245,242,.035));color:var(--text)}.mobile-menu__price-link span{color:var(--lime);font-size:15px;font-weight:600;text-transform:uppercase}.mobile-menu__price-link small{grid-column:1;color:rgba(246,248,243,.58);font-size:12px}.mobile-menu__price-link .icon{grid-column:2;grid-row:1/span 2;width:20px;height:20px;color:var(--lime)}.mobile-menu__toggle{--icon-size:24px;width:44px;height:44px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:#020707;color:var(--lime);font:inherit}.mobile-menu__toggle .icon{transform:rotate(90deg);transition:transform 220ms ease}.mobile-menu__group.is-open .mobile-menu__toggle .icon{transform:rotate(-90deg)}.mobile-menu__submenu{display:grid;gap:2px;max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);transition:max-height 320ms ease,opacity 220ms ease,transform 260ms ease}.mobile-menu__group.is-open .mobile-menu__submenu{max-height:520px;opacity:1;transform:translateY(0)}.mobile-menu__submenu a{display:block;padding:0 0 12px 2px;color:rgba(246,248,243,.68);font-size:15px;line-height:1.35}.mobile-menu__badge{width:fit-content;margin:8px 0 8px 2px;padding:5px 9px;border:1px solid rgba(182,255,23,.18);border-radius:999px;background:rgba(182,255,23,.08);color:var(--lime);font-size:12px;line-height:1;font-weight:600}.mobile-menu__badge:first-child{margin-top:2px}.mobile-menu__footer{align-items:stretch;flex-direction:column;opacity:0;transform:translateY(18px);transition:opacity 360ms ease 310ms,transform 520ms cubic-bezier(.16,1,.3,1) 310ms}.mobile-menu.is-open .mobile-menu__footer{opacity:1;transform:translateY(0)}.mobile-menu__cta{width:100%;justify-content:center}.mobile-menu__socials{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mobile-menu__socials a{min-height:48px;display:grid;place-items:center;border:1px solid rgba(238,245,242,.15);border-radius:var(--radius-sm);background:rgba(238,245,242,.055);color:var(--lime)}.mobile-menu__socials .icon{--icon-size:22px}@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu__footer,.mobile-menu__group,.mobile-menu__shell,.mobile-menu__submenu,.mobile-menu__toggle .icon{transition:none}}}

/* End */


/* Start:/local/templates/incode/components/bitrix/menu/incode_mobile_tabbar/style.min.css?17868396402598*/
.mobile-tabbar{display:none}@media (max-width:760px){.mobile-tabbar{--mobile-tabbar-notch-size:68px;--mobile-tabbar-notch-radius:34px;position:fixed;right:0;bottom:0;left:0;z-index:65;display:block;isolation:isolate;padding:5px 5px calc(5px + env(safe-area-inset-bottom,0));border:0;background:0 0}.mobile-tabbar::before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid var(--glass-edge);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg)0 0;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.024) 54%,rgba(182,255,23,.055)),linear-gradient(90deg,#171a20,#151b17);-webkit-mask:radial-gradient(circle var(--mobile-tabbar-notch-radius) at 50% 20px,transparent calc(100% - 1px),#000 100%);mask:radial-gradient(circle var(--mobile-tabbar-notch-radius) at 50% 20px,transparent calc(100% - 1px),#000 100%)}.mobile-tabbar::after,.mobile-tabbar__action-disc::before{content:"";position:absolute;border-radius:50%;pointer-events:none}.mobile-tabbar::after{top:-14px;left:50%;z-index:-1;width:var(--mobile-tabbar-notch-size);height:var(--mobile-tabbar-notch-size);border:1px solid #b6ff17;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.024) 54%,rgba(182,255,23,.055)),linear-gradient(90deg,#171a20,#151b17);clip-path:inset(50%0 0);transform:translateX(-50%)}.mobile-tabbar__list{min-height:58px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.mobile-tabbar__item{position:relative;min-width:0;display:grid;place-items:center;align-content:center;gap:4px;padding:6px 2px;border:0;border-radius:var(--radius-md);background:0 0;color:rgba(246,248,243,.58);font-size:10px;font-weight:500;line-height:1;text-align:center}.mobile-tabbar__item.is-active{color:var(--lime)}.mobile-tabbar__icon{--icon-size:21px}.mobile-tabbar__action{isolation:isolate;color:var(--lime);overflow:visible}.mobile-tabbar__action-disc{position:absolute;top:-18px;left:50%;width:68px;height:68px;display:grid;place-items:center;z-index:1;border:8px solid transparent;border-radius:50%;background:var(--lime);background-clip:padding-box;color:#071008;transform:translateX(-50%)}.mobile-tabbar__action-disc::before{inset:-8px;z-index:0;background:rgba(7,16,8,.46);clip-path:inset(13px 0 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px))}.mobile-tabbar__action-icon{--icon-size:23px;position:relative;z-index:1}.mobile-tabbar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* End */


/* Start:/local/templates/incode/template_styles.css?1790724773202635*/
/* Crysteam template tokens, primitives, and reusable shell styles. */
@import url("https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700&display=swap");

:root {
      color-scheme: dark;
      --bg: #030506;
      --bg-soft: #070b0d;
      --surface: rgba(9, 14, 15, 0.48);
      --surface-strong: rgba(18, 24, 24, 0.68);
      --surface-soft: rgba(255, 255, 255, 0.055);
      --line: rgba(230, 238, 236, 0.2);
      --line-strong: rgba(238, 245, 242, 0.38);
      --glass-edge: rgba(238, 245, 242, 0.34);
      --glass-fog: rgba(236, 245, 241, 0.09);
      --lime: #b6ff17;
      --lime-2: #8fe812;
      --lime-soft: rgba(182, 255, 23, 0.14);
      --text: #f6f8f3;
      --muted: #a7ada8;
      --dim: #747d78;
      --violet: #9d84ff;
      --warning: #ffd86b;
      --danger: #ff6b7c;
      --icon-size: 20px;
      --icon-box-size: 56px;
      --icon-box-glyph-size: 24px;
      --control-icon-size: 56px;
      --control-height: 54px;
      --radius-xs: 6px;
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 16px;
      --radius-card: 12px;
      --radius-btn-sm: 8px;
      --radius-btn-md: 10px;
      --radius-btn-lg: 12px;
      --panel-bg:
        linear-gradient(145deg, rgba(255, 255, 255, 0.062), rgba(255, 255, 255, 0.016) 54%, rgba(182, 255, 23, 0.024)),
        rgba(9, 14, 15, 0.42);
      --panel-line: rgba(238, 245, 242, 0.23);
      --panel-shadow:
        inset 0 1px 1px rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(182, 255, 23, 0.05),
        0 20px 58px rgba(0, 0, 0, 0.32);
      --panel-blur: blur(18px) saturate(136%);
      --shadow-lime: 0 0 34px rgba(182, 255, 23, 0.28);
      --shadow-panel: 0 26px 90px rgba(0, 0, 0, 0.48);
      --section-gap: clamp(96px, 10vw, 160px);
      --page-bg-image: url("/assets/glass-bg.webp");
      --font: "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      --fs-display: 76px;
      --fs-h1: 58px;
      --fs-h2: 44px;
      --fs-h3: 28px;
      --fs-h4: 21px;
      --fs-body-lg: 18px;
      --fs-body: 16px;
      --fs-body-sm: 14px;
      --fs-caption: 12px;
      --lh-tight: 1.04;
      --lh-heading: 1.12;
      --lh-body: 1.58;
    }

@media (max-width: 760px) {
      :root {
            --section-gap: clamp(56px, 16vw, 76px);
            --radius-xs: 6px;
            --radius-sm: 8px;
            --radius-md: 12px;
            --radius-lg: 16px;
            --radius-card: 12px;
            --radius-btn-sm: 8px;
            --radius-btn-md: 10px;
            --radius-btn-lg: 12px;
          }
    }

@property --btn-hover-glow {
      syntax: "<number>";
      inherits: true;
      initial-value: 0;
    }

@property --cursor-glow {
      syntax: "<number>";
      inherits: true;
      initial-value: 0;
    }

@property --btn-fill {
      syntax: "<number>";
      inherits: true;
      initial-value: 0;
    }

@property --btn-crystal-reveal {
      syntax: "<number>";
      inherits: true;
      initial-value: 0;
    }

@property --btn-light-x {
      syntax: "<percentage>";
      inherits: true;
      initial-value: 50%;
    }

@property --btn-light-y {
      syntax: "<percentage>";
      inherits: true;
      initial-value: 50%;
    }

* {
      box-sizing: border-box;
    }

body {
      margin: 0;
      min-width: 320px;
      background:
        linear-gradient(180deg, rgba(3, 5, 6, 0.22), rgba(2, 3, 3, 0.72)),
        radial-gradient(circle at 12% 16%, rgba(112, 176, 36, 0.18), transparent 28rem),
        radial-gradient(circle at 90% 2%, rgba(157, 132, 255, 0.16), transparent 22rem),
        var(--page-bg-image) center center / cover fixed,
        linear-gradient(180deg, #050707 0%, #020303 100%);
      color: var(--text);
      font-family: var(--font);
      font-size: var(--fs-body);
      line-height: var(--lh-body);
      letter-spacing: 0;
    }

::selection {
      background: rgba(182, 255, 23, 0.82);
      color: #071008;
    }

::-moz-selection {
      background: rgba(182, 255, 23, 0.82);
      color: #071008;
    }

a {
      color: inherit;
      text-decoration: none;
    }

button,
    input,
    textarea {
      font: inherit;
    }

button {
      cursor: pointer;
    }

:where(a, button, input, textarea, select, summary, [tabindex]):focus {
      outline: none;
    }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
      outline: 2px solid rgba(182, 255, 23, 0.62);
      outline-offset: 3px;
    }

svg {
      display: block;
    }

.svg-sprite {
      position: absolute;
      width: 0;
      height: 0;
      overflow: hidden;
    }

.glass {
      --cursor-x: 50%;
      --cursor-y: 50%;
      --cursor-glow: 0;
      --edge-top: 0;
      --edge-left: 0;
      --edge-right: 0;
      --edge-bottom: 0;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid var(--glass-edge);
      background: var(--surface);
      background-clip: padding-box;
    }

.glass::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        radial-gradient(circle 360px at var(--cursor-x) var(--cursor-y), rgba(255, 255, 255, calc(var(--cursor-glow) * 0.5)), rgba(232, 255, 182, calc(var(--cursor-glow) * 0.24)) 16%, rgba(188, 146, 255, calc(var(--cursor-glow) * 0.16)) 44%, transparent 72%),
        radial-gradient(circle 460px at var(--cursor-x) var(--cursor-y), rgba(255, 255, 255, calc((var(--edge-top) + var(--edge-left)) * 0.42)), rgba(238, 246, 255, calc((var(--edge-top) + var(--edge-left)) * 0.18)) 24%, transparent 74%),
        radial-gradient(circle 500px at var(--cursor-x) var(--cursor-y), rgba(226, 255, 168, calc(var(--edge-right) * 0.66)), rgba(182, 255, 23, calc(var(--edge-right) * 0.36)) 22%, transparent 76%),
        radial-gradient(620px 360px at var(--cursor-x) var(--cursor-y), rgba(218, 188, 255, calc(var(--edge-bottom) * 0.62)), rgba(157, 132, 255, calc(var(--edge-bottom) * 0.36)) 24%, transparent 78%),
        radial-gradient(42% 220% at 0% 0%, rgba(255, 255, 255, calc(0.72 + (var(--edge-top) + var(--edge-left)) * 0.08)), rgba(238, 246, 255, calc(0.34 + (var(--edge-top) + var(--edge-left)) * 0.06)) 24%, transparent 68%),
        linear-gradient(to top, rgba(203, 170, 255, calc(0.46 + var(--edge-bottom) * 0.12)), rgba(157, 132, 255, calc(0.26 + var(--edge-bottom) * 0.08)) 10%, transparent 34%),
        linear-gradient(to left, rgba(220, 255, 154, calc(0.42 + var(--edge-right) * 0.14)), rgba(182, 255, 23, calc(0.24 + var(--edge-right) * 0.08)) 12%, transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.1) 28%, rgba(157, 132, 255, 0.16) 54%, rgba(182, 255, 23, 0.18) 82%, rgba(255, 255, 255, 0.3));
      opacity: calc(0.66 + var(--cursor-glow) * 0.22);
      padding: 1.5px;
      border-radius: inherit;
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
    }

.glass::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        radial-gradient(circle 640px at var(--cursor-x) var(--cursor-y), rgba(255, 255, 255, calc((var(--edge-top) + var(--edge-left)) * 0.052)), transparent 76%),
        radial-gradient(circle 700px at var(--cursor-x) var(--cursor-y), rgba(182, 255, 23, calc(var(--edge-right) * 0.048)), transparent 78%),
        radial-gradient(760px 420px at var(--cursor-x) var(--cursor-y), rgba(157, 132, 255, calc(var(--edge-bottom) * 0.056)), transparent 80%),
        linear-gradient(to bottom, rgba(255, 255, 255, calc(var(--edge-top) * 0.2)), rgba(238, 246, 255, calc(var(--edge-top) * 0.09)) 30px, transparent 118px),
        linear-gradient(to right, rgba(255, 255, 255, calc(var(--edge-left) * 0.18)), rgba(238, 246, 255, calc(var(--edge-left) * 0.08)) 30px, transparent 118px),
        linear-gradient(to left, rgba(182, 255, 23, calc(var(--edge-right) * 0.24)), rgba(182, 255, 23, calc(var(--edge-right) * 0.1)) 34px, transparent 138px),
        linear-gradient(to top, rgba(188, 146, 255, calc(var(--edge-bottom) * 0.26)), rgba(157, 132, 255, calc(var(--edge-bottom) * 0.11)) 36px, transparent 148px),
        linear-gradient(to bottom, rgba(245, 250, 255, 0.14), rgba(245, 250, 255, 0.045) 5%, transparent 15%),
        linear-gradient(to top, rgba(188, 146, 255, 0.18), rgba(157, 132, 255, 0.06) 6%, transparent 17%),
        linear-gradient(to left, rgba(182, 255, 23, 0.12), rgba(182, 255, 23, 0.04) 7%, transparent 18%),
        linear-gradient(to right, rgba(238, 246, 255, 0.095), rgba(238, 246, 255, 0.03) 6%, transparent 16%),
        radial-gradient(28% 14% at 8% 0%, rgba(255, 255, 255, 0.17), rgba(157, 132, 255, 0.075) 42%, transparent 76%),
        radial-gradient(32% 16% at 50% 100%, rgba(201, 166, 255, 0.15), rgba(157, 132, 255, 0.055) 38%, transparent 78%),
        radial-gradient(30% 20% at 100% 100%, rgba(182, 255, 23, 0.15), rgba(182, 255, 23, 0.05) 38%, transparent 80%);
      opacity: calc(0.72 + var(--cursor-glow) * 0.2);
      transition: opacity 220ms linear;
    }

.glass > * {
      position: relative;
      z-index: 3;
    }

.glass .glass {
      background: rgba(10, 15, 16, 0.38);
    }

.glass .glass::before {
      opacity: calc(0.56 + var(--cursor-glow) * 0.28);
    }

.glass .glass::after {
      opacity: calc(0.58 + var(--cursor-glow) * 0.24);
    }

.reactive-panel {
      --cursor-x: 50%;
      --cursor-y: 50%;
      --cursor-glow: 0;
      --edge-top: 0;
      --edge-left: 0;
      --edge-right: 0;
      --edge-bottom: 0;
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

.reactive-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      border-radius: inherit;
      pointer-events: none;
      background:
        radial-gradient(circle 360px at var(--cursor-x) var(--cursor-y), rgba(255, 255, 255, calc(var(--cursor-glow) * 0.08)), rgba(232, 255, 182, calc(var(--cursor-glow) * 0.035)) 18%, transparent 72%),
        radial-gradient(circle 480px at var(--cursor-x) var(--cursor-y), rgba(255, 255, 255, calc((var(--edge-top) + var(--edge-left)) * 0.09)), transparent 74%),
        radial-gradient(circle 520px at var(--cursor-x) var(--cursor-y), rgba(182, 255, 23, calc(var(--edge-right) * 0.115)), transparent 76%),
        radial-gradient(620px 340px at var(--cursor-x) var(--cursor-y), rgba(157, 132, 255, calc(var(--edge-bottom) * 0.125)), transparent 78%),
        linear-gradient(to bottom, rgba(255, 255, 255, calc(var(--edge-top) * 0.24)), rgba(238, 246, 255, calc(var(--edge-top) * 0.1)) 30px, transparent 112px),
        linear-gradient(to right, rgba(255, 255, 255, calc(var(--edge-left) * 0.22)), rgba(238, 246, 255, calc(var(--edge-left) * 0.09)) 30px, transparent 112px),
        linear-gradient(to left, rgba(182, 255, 23, calc(var(--edge-right) * 0.3)), rgba(182, 255, 23, calc(var(--edge-right) * 0.12)) 34px, transparent 132px),
        linear-gradient(to top, rgba(188, 146, 255, calc(var(--edge-bottom) * 0.32)), rgba(157, 132, 255, calc(var(--edge-bottom) * 0.13)) 36px, transparent 142px);
      opacity: calc(0.18 + var(--cursor-glow) * 0.82);
    }

.reactive-panel > * {
      position: relative;
      z-index: 1;
    }

.icon {
      width: var(--icon-size);
      min-width: var(--icon-size);
      height: var(--icon-size);
      min-height: var(--icon-size);
      flex: 0 0 var(--icon-size);
      stroke: currentColor;
    }

.icon.fill {
      fill: currentColor;
      stroke: none;
    }

.logo-mark {
      --icon-size: 24px;
      width: 38px;
      min-width: 38px;
      height: 38px;
      min-height: 38px;
      flex: 0 0 38px;
      display: inline-grid;
      place-items: center;
      border: 1px solid rgba(182, 255, 23, 0.72);
      border-radius: 10px;
      color: var(--lime);
    }

.logo-mark--crystal {
      --crystal-size: 54px;
      position: relative;
      width: 48px;
      min-width: 48px;
      height: 56px;
      min-height: 56px;
      flex-basis: 48px;
      overflow: visible;
      border: 0;
      border-radius: 0;
      background: none;
    }

.logo-mark--crystal::before {
      content: "";
      width: var(--crystal-size);
      height: var(--crystal-size);
      background: url("/assets/brand-crystal.webp") center / contain no-repeat;
    }

.logo-mark--crystal .icon {
      display: none;
    }

.logo {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 13px;
      font-size: 20px;
      font-weight: 600;
      white-space: nowrap;
    }

.logo-image {
      display: block;
      width: 160px;
      height: auto;
    }

.main-footer .logo-image {
      width: 180px;
    }

.logo-image--brand-chip {
      width: 112px;
    }

.code-traff-logo__white {
    }

.code-traff-logo__neon {
      opacity: 1;
      animation: code-traff-neon-power 1.55s ease-out both;
    }

.code-traff-logo__neon--top {
      animation-delay: 0.18s;
    }

.code-traff-logo__neon--middle {
      animation-delay: 0.42s;
    }

.code-traff-logo__neon--bottom {
      animation-delay: 0.72s;
    }

.logo-image--ready .code-traff-logo__neon {
      animation: none;
    }

.logo:hover .code-traff-logo__neon--bottom,
.logo-image:hover .code-traff-logo__neon--bottom {
      animation: code-traff-neon-hover-blink 1.24s ease-in-out infinite;
    }

@keyframes code-traff-neon-power {
      0% {
        opacity: 0;
      }

      8% {
        opacity: 1;
      }

      12% {
        opacity: 0.18;
      }

      19% {
        opacity: 1;
      }

      27% {
        opacity: 0.45;
      }

      36%,
      49% {
        opacity: 1;
      }

      43% {
        opacity: 0.72;
      }

      100% {
        opacity: 1;
      }
    }

@keyframes code-traff-neon-hover-blink {
      0%,
      100% {
        opacity: 1;
      }

      18%,
      42% {
        opacity: 0.58;
      }

      28%,
      58%,
      74% {
        opacity: 1;
      }

      66% {
        opacity: 0.68;
      }
    }

@media (prefers-reduced-motion: reduce) {
      .code-traff-logo__neon {
        opacity: 1;
        animation: none;
      }

      .logo:hover .code-traff-logo__neon--bottom,
      .logo-image:hover .code-traff-logo__neon--bottom {
        animation: none;
      }
    }

.topbar {
      position: sticky;
      top: 0;
      z-index: 30;
      min-height: 78px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto auto;
      align-items: center;
      column-gap: 24px;
      row-gap: 0;
      padding: 18px 28px;
      border-radius: var(--radius-lg);
      transition:
        min-height 260ms ease,
        padding-bottom 260ms ease,
        border-radius 180ms linear,
        border-color 180ms linear,
        box-shadow 180ms linear;
    }

.topbar.glass {
      overflow: visible;
    }

[id] {
      scroll-margin-top: 116px;
    }

.topbar.is-stuck {
      border-top-color: rgba(3, 5, 6, 0.96);
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

.topbar.is-stuck::before {
      inset: 1px 0 0;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

.main-header .topbar::before {
      background: none;
    }

.site-header {
      min-height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 16px 22px;
      border-radius: var(--radius-lg);
    }

.site-header__nav {
      display: flex;
      align-items: center;
      gap: clamp(14px, 3vw, 42px);
      color: rgba(246, 248, 243, 0.76);
      font-size: 14px;
    }

.site-header__nav a:hover {
      color: var(--lime);
    }

.header-burger {
      --icon-size: 24px;
      width: var(--control-height);
      min-width: var(--control-height);
      height: var(--control-height);
      min-height: var(--control-height);
      display: inline-grid;
      place-items: center;
      padding: 0;
      border: 1px solid rgba(238, 245, 242, 0.22);
      border-radius: var(--radius-sm);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.028) 52%, rgba(157, 132, 255, 0.05)),
        rgba(10, 14, 16, 0.58);
      color: var(--text);
    }

.header-burger:hover,
    .header-burger:focus-visible {
      border-color: rgba(238, 245, 242, 0.36);
      outline: 0;
    }

.topbar .header-burger,
    .site-header--desktop .header-burger {
      display: none;
    }

.header-mobile-socials {
      display: none;
    }

.site-header--tablet {
      width: min(100%, 680px);
    }

.site-header--tablet .site-header__nav,
    .site-header--mobile .site-header__nav {
      display: none;
    }

.site-header--mobile {
      width: min(100%, 360px);
      min-height: 66px;
      padding: 14px 16px;
      border-radius: 22px;
    }

.site-header--mobile .logo {
      gap: 10px;
    }

.site-header--mobile .logo-image {
      width: 120px;
    }

.site-header--mobile .logo span:last-child {
      display: none;
    }

.site-header--tablet .btn-primary,
    .site-header--mobile .btn-primary {
      display: none;
    }

.eyebrow {
      position: relative;
      z-index: 0;
      display: inline-flex;
      width: fit-content;
      max-width: 100%;
      justify-self: start;
      align-self: start;
      align-items: center;
      gap: 10px;
      min-height: 38px;
      padding: 8px 16px;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid transparent;
      border-radius: 999px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.028) 42%, rgba(182, 255, 23, 0.042)),
        rgba(8, 13, 14, 0.68);
      color: var(--text);
      font-size: 14px;
      font-weight: 500;
      line-height: 1;
    }

.eyebrow::before,
    .chip::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      border-radius: inherit;
      pointer-events: none;
      background:
        radial-gradient(95px 58px at 16% 0%, rgba(255, 255, 255, 0.2), transparent 68%),
        radial-gradient(110px 64px at 100% 80%, rgba(182, 255, 23, 0.11), transparent 72%),
        radial-gradient(130px 70px at 50% 100%, rgba(157, 132, 255, 0.105), transparent 76%);
      opacity: 0.92;
    }

.dot {
      --dot-size: 18px;
      width: var(--dot-size);
      height: var(--dot-size);
      flex: 0 0 var(--dot-size);
      display: inline-block;
      background: url("/assets/brand-crystal.webp") center / contain no-repeat;
    }

.chip .dot {
      --dot-size: 17px;
      margin-left: -2px;
    }

h1,
    h2,
    h3,
    p {
      margin: 0;
    }

h1 {
      max-width: 720px;
      margin-top: 32px;
      font-size: clamp(40px, 6vw, 82px);
      line-height: 0.98;
      font-weight: 600;
    }

h2 {
      font-size: clamp(28px, 3.5vw, 48px);
      line-height: 1.05;
      font-weight: 600;
    }

h3 {
      font-size: 22px;
      line-height: 1.15;
      font-weight: 500;
    }

.lead {
      max-width: 680px;
      margin-top: 24px;
      color: var(--muted);
      font-size: clamp(17px, 1.8vw, 21px);
      line-height: 1.55;
    }

.accent {
      color: var(--lime);
    }

.grid {
      display: grid;
      gap: 18px;
    }

.grid.two {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.grid.three {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

.grid-span-2-1 > :first-child,
    .grid-span-2-1 > .ui-kit-copy-shell:first-child {
      grid-column: span 2;
    }

.grid.six {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

.grid-span-3-3-2 > :nth-child(-n + 2),
    .grid-span-3-3-2 > .ui-kit-copy-shell:nth-child(-n + 2) {
      grid-column: span 3;
    }

.grid-span-3-3-2 > :nth-child(n + 3),
    .grid-span-3-3-2 > .ui-kit-copy-shell:nth-child(n + 3) {
      grid-column: span 2;
    }

.grid.four {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

.grid.auto {
      grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    }

.token-card,
    .component-card {
      border: 1px solid rgba(238, 245, 242, 0.16);
      border-radius: var(--radius-md);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018) 58%, rgba(182, 255, 23, 0.028)),
        rgba(9, 14, 15, 0.34);
      padding: 20px;
      min-width: 0;
    }

.token-card strong,
    .component-card strong {
      display: block;
      margin-bottom: 6px;
      font-size: 14px;
    }

.token-card span,
    .component-card span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
    }

.rich-text {
      display: grid;
      gap: 22px;
      max-width: 920px;
      color: var(--muted);
      font-size: var(--fs-body);
      line-height: var(--lh-body);
    }

.rich-text h1,
    .rich-text h2,
    .rich-text h3,
    .rich-text h4 {
      max-width: none;
      margin: 0;
      color: var(--text);
      line-height: var(--lh-heading);
      font-weight: 600;
    }

.rich-text h1 {
      font-size: var(--fs-h1);
    }

.rich-text h2 {
      font-size: var(--fs-h2);
    }

.rich-text h3 {
      font-size: var(--fs-h3);
    }

.rich-text h4 {
      font-size: var(--fs-h4);
    }

.rich-text p,
    .rich-text blockquote,
    .rich-text ul,
    .rich-text ol {
      margin: 0;
    }

.rich-text blockquote {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 18px;
      align-items: start;
      padding: 22px 24px;
      border: 1px solid rgba(238, 245, 242, 0.12);
      border-radius: 18px;
      background: rgba(238, 245, 242, 0.045);
      color: var(--text);
      font-size: var(--fs-body-lg);
      line-height: 1.5;
    }

.rich-text blockquote::before {
      content: "“";
      color: var(--lime);
      font-size: 56px;
      line-height: 0.9;
    }

.rich-text ul,
    .rich-text ol {
      display: grid;
      gap: 8px;
      padding-left: 26px;
    }

.rich-text ol {
      counter-reset: rich-list;
      list-style: none;
    }

.rich-text ol ol {
      margin-top: 8px;
      padding-left: 22px;
    }

.rich-text ol li {
      counter-increment: rich-list;
      position: relative;
    }

.rich-text ol li::before {
      content: counters(rich-list, ".") " ";
      position: absolute;
      right: calc(100% + 8px);
      color: var(--lime);
      font-weight: 600;
      white-space: nowrap;
    }

.rich-text li::marker {
      color: var(--lime);
      font-weight: 700;
    }

.rich-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      overflow: hidden;
      border: 1px solid rgba(238, 245, 242, 0.1);
      border-radius: 16px;
      color: var(--muted);
      font-size: var(--fs-body-sm);
      line-height: 1.45;
    }

.rich-table th,
    .rich-table td {
      padding: 13px 16px;
      border-right: 1px solid rgba(238, 245, 242, 0.08);
      border-bottom: 1px solid rgba(238, 245, 242, 0.08);
      background: rgba(9, 14, 15, 0.44);
      text-align: left;
    }

.rich-table th {
      color: var(--text);
      font-weight: 600;
      background: rgba(238, 245, 242, 0.055);
    }

.rich-table tr:last-child td {
      border-bottom: 0;
    }

.rich-table tbody tr {
      transition:
        background-color 160ms ease,
        color 160ms ease;
    }

.rich-table tbody tr:hover td {
      background:
        linear-gradient(90deg, rgba(182, 255, 23, 0.055), rgba(238, 245, 242, 0.035) 46%, rgba(182, 255, 23, 0.025)),
        rgba(9, 14, 15, 0.5);
      color: rgba(246, 248, 243, 0.82);
    }

.rich-table th:last-child,
    .rich-table td:last-child {
      border-right: 0;
    }

.text-strong {
      color: var(--text);
      font-weight: 600;
    }

.text-link,
    .text-underline {
      color: var(--text);
      text-decoration: underline;
      text-decoration-color: rgba(182, 255, 23, 0.95);
      text-underline-offset: 0.22em;
      text-decoration-thickness: 1px;
    }

.text-link {
      transition:
        color 180ms ease,
        text-decoration-color 180ms ease;
    }

.text-link:hover,
    .text-link:focus-visible {
      color: var(--lime);
      text-decoration-color: rgba(182, 255, 23, 0.95);
      outline: none;
    }

.text-mark {
      padding: 0.08em 0.32em;
      border-radius: 8px;
      background: var(--lime);
      color: #071006;
    }

.text-strike {
      color: var(--muted);
      text-decoration: line-through;
      text-decoration-color: rgba(182, 255, 23, 0.58);
      text-decoration-thickness: 1px;
    }

.text-muted {
      color: var(--dim);
    }

.text-uppercase {
      text-transform: uppercase;
      letter-spacing: 0;
    }

.text-lowercase {
      text-transform: lowercase;
    }

.btn {
      --btn-edge: rgba(238, 245, 242, 0.16);
      --btn-hover-glow: 0;
      --btn-fill: 0;
      --btn-crystal-reveal: 0;
      --btn-light-x: 50%;
      --btn-light-y: 50%;
      --btn-height: var(--control-height);
      --btn-padding-x: 24px;
      --btn-radius: var(--radius-btn-md);
      --btn-gap: 12px;
      --btn-font-size: 15px;
      --btn-icon-size: 20px;
      --btn-reveal-size: 120px;
      min-height: var(--btn-height);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: var(--btn-gap);
      border: 1px solid transparent;
      border-radius: var(--btn-radius);
      padding: 0 var(--btn-padding-x);
      color: var(--text);
      background: transparent;
      font-size: var(--btn-font-size);
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      transform: translateZ(0);
      transition:
        --btn-hover-glow 220ms linear,
        --btn-fill 260ms linear,
        --btn-crystal-reveal 190ms linear,
        border-color 180ms linear,
        background 220ms linear,
        box-shadow 260ms linear,
        color 180ms linear,
        filter 180ms linear;
    }

.btn-sm {
      --btn-height: 44px;
      --btn-padding-x: 18px;
      --btn-radius: var(--radius-btn-sm);
      --btn-gap: 9px;
      --btn-font-size: 13px;
      --btn-icon-size: 18px;
      --btn-reveal-size: 86px;
    }

.btn-md {
      --btn-height: 54px;
      --btn-padding-x: 24px;
      --btn-radius: var(--radius-btn-md);
      --btn-gap: 12px;
      --btn-font-size: 15px;
      --btn-icon-size: 20px;
      --btn-reveal-size: 120px;
    }

.btn-lg {
      --btn-height: 64px;
      --btn-padding-x: 30px;
      --btn-radius: var(--radius-btn-lg);
      --btn-gap: 14px;
      --btn-font-size: 17px;
      --btn-icon-size: 22px;
      --btn-reveal-size: 150px;
    }

.btn::before,
    .btn::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
    }

.btn::before {
      z-index: 2;
      padding: 1px;
      background:
        radial-gradient(circle 138px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.74)), rgba(238, 246, 255, calc(var(--btn-hover-glow) * 0.26)) 22%, rgba(157, 132, 255, calc(var(--btn-hover-glow) * 0.2)) 46%, transparent 74%),
        radial-gradient(58% 220% at var(--btn-light-x) 0%, rgba(255, 255, 255, calc(0.24 + var(--btn-hover-glow) * 0.34)), rgba(157, 132, 255, calc(0.12 + var(--btn-hover-glow) * 0.14)) 24%, transparent 62%),
        radial-gradient(70% 180% at 100% 100%, rgba(182, 255, 23, calc(0.18 + var(--btn-hover-glow) * 0.34)), transparent 64%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.34), var(--btn-edge) 36%, rgba(157, 132, 255, 0.2) 58%, rgba(182, 255, 23, calc(0.24 + var(--btn-hover-glow) * 0.22)));
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: calc(0.68 + var(--btn-hover-glow) * 0.28);
      transition:
        opacity 180ms linear,
        background-position 320ms linear;
    }

.btn::after {
      z-index: 0;
      background:
        radial-gradient(circle 160px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.18)), transparent 58%),
        linear-gradient(110deg, transparent 0 31%, rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.2)) 47%, transparent 63%),
        radial-gradient(120% 90% at 100% 100%, rgba(182, 255, 23, calc(var(--btn-hover-glow) * 0.12)), transparent 62%);
      background-size: 100% 100%, 240% 100%, 100% 100%;
      background-position: center, 135% 0, center;
      opacity: 1;
      transition:
        background-position 340ms linear,
        opacity 180ms linear;
    }

.btn:hover::after,
    .btn:focus-visible::after {
      background-position: center, -40% 0, center;
    }

.btn > .icon {
      --icon-size: var(--btn-icon-size);
      position: relative;
      z-index: 3;
      transition:
        transform 220ms linear,
        filter 180ms linear,
        color 160ms linear;
      will-change: transform;
    }

.btn > .btn-label {
      position: relative;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      color: currentColor;
      opacity: 1;
    }

.btn:hover,
    .btn:focus-visible {
      --btn-hover-glow: 1;
      --btn-fill: 1;
    }

.btn:hover > .icon,
    .btn:focus-visible > .icon {
      transform: translate3d(3px, -1px, 0);
    }

.btn:has(> .icon:only-child):hover > .icon,
    .btn:has(> .icon:only-child):focus-visible > .icon {
      transform: scale(1.08);
    }

.btn:focus-visible {
      outline: 2px solid rgba(182, 255, 23, 0.64);
      outline-offset: 3px;
    }

.btn-primary {
      --btn-edge: rgba(238, 255, 206, 0.6);
      color: #152000;
      background: #b6ff17;
    }

.btn-primary::before {
      background:
        radial-gradient(circle 156px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.78)), rgba(238, 255, 206, calc(var(--btn-hover-glow) * 0.34)) 20%, rgba(182, 255, 23, calc(var(--btn-hover-glow) * 0.22)) 48%, transparent 76%),
        radial-gradient(48% 220% at var(--btn-light-x) 0%, rgba(255, 255, 255, calc(0.34 + var(--btn-hover-glow) * 0.24)), rgba(238, 255, 206, calc(0.18 + var(--btn-hover-glow) * 0.1)) 24%, transparent 62%),
        radial-gradient(78% 190% at 100% 100%, rgba(92, 164, 0, calc(0.18 + var(--btn-hover-glow) * 0.16)), transparent 66%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.46), rgba(238, 255, 206, 0.24) 32%, rgba(74, 132, 0, 0.22) 53%, rgba(255, 255, 255, 0.34) 74%, rgba(42, 64, 0, 0.14));
    }

.btn-primary::after {
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(206, 255, 72, 0.1), rgba(148, 239, 0, 0.08)),
        url("/assets/crystal-button-skin.webp");
      background-size: 100% 100%, 112% 132%;
      background-position: center, 50% 50%;
      opacity: 1;
      -webkit-mask-image:
        radial-gradient(circle var(--btn-reveal-size) at var(--btn-light-x) var(--btn-light-y),
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.9)) 0%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.54)) 30%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.19)) 64%,
          rgba(0, 0, 0, 0) 100%);
      mask-image:
        radial-gradient(circle var(--btn-reveal-size) at var(--btn-light-x) var(--btn-light-y),
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.9)) 0%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.54)) 30%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.19)) 64%,
          rgba(0, 0, 0, 0) 100%);
    }

.btn-primary:hover::after,
    .btn-primary:focus-visible::after {
      background-position: center, 50% 50%;
    }

.btn-primary:hover {
    }

.btn-primary:hover > .icon,
    .btn-primary:focus-visible > .icon {
      transform: none;
    }

.btn-filled {
      color: #152000;
      background: #b6ff17;
      border-color: rgba(182, 255, 23, 0.42);
      transition: none;
    }

.btn-filled::before,
    .btn-filled::after {
      display: none;
    }

.btn-filled > .icon {
      transition: none;
    }

.btn-filled:hover,
    .btn-filled:focus-visible {
      --btn-hover-glow: 0;
      --btn-fill: 0;
      --btn-crystal-reveal: 0;
      background: #b6ff17;
    }

.btn-filled:hover > .icon,
    .btn-filled:focus-visible > .icon {
      transform: none;
    }

.btn-lime-border {
      --btn-edge: rgba(182, 255, 23, 0.92);
      color: var(--text);
      border-color: rgba(182, 255, 23, 0.78);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025) 48%, rgba(182, 255, 23, 0.05)),
        rgba(12, 16, 19, 0.64);
    }

.btn-lime-border::before {
      background:
        radial-gradient(circle 138px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.62)), rgba(238, 255, 206, calc(var(--btn-hover-glow) * 0.24)) 24%, rgba(182, 255, 23, calc(var(--btn-hover-glow) * 0.2)) 52%, transparent 76%),
        linear-gradient(135deg, rgba(238, 255, 206, 0.84), rgba(182, 255, 23, 0.96) 42%, rgba(121, 216, 0, 0.7) 72%, rgba(238, 255, 206, 0.72));
      opacity: calc(0.88 + var(--btn-hover-glow) * 0.12);
    }

.btn-lime-border::after {
      z-index: 0;
      background:
        radial-gradient(92% 160% at var(--btn-light-x) 0%, rgba(255, 255, 255, 0.3), transparent 56%),
        linear-gradient(135deg, #c8ff3f, #a8ff00 52%, #8ee600);
      opacity: var(--btn-fill);
    }

.btn-lime-border:hover,
    .btn-lime-border:focus-visible {
      color: #132000;
      border-color: rgba(182, 255, 23, 1);
    }

.btn-lime-border:hover > .icon,
    .btn-lime-border:focus-visible > .icon {
      transform: none;
    }

.btn-crystal-gray {
      --btn-edge: rgba(238, 245, 242, 0.58);
      color: var(--text);
      background: #3c4244;
      border-color: rgba(238, 245, 242, 0.18);
    }

.btn-crystal-gray::before {
      background:
        radial-gradient(circle 156px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.7)), rgba(238, 246, 255, calc(var(--btn-hover-glow) * 0.32)) 20%, rgba(157, 132, 255, calc(var(--btn-hover-glow) * 0.12)) 48%, transparent 76%),
        radial-gradient(48% 220% at var(--btn-light-x) 0%, rgba(255, 255, 255, calc(0.3 + var(--btn-hover-glow) * 0.22)), rgba(238, 246, 255, calc(0.16 + var(--btn-hover-glow) * 0.1)) 24%, transparent 62%),
        radial-gradient(78% 190% at 100% 100%, rgba(245, 250, 255, calc(0.14 + var(--btn-hover-glow) * 0.14)), transparent 66%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(238, 246, 255, 0.22) 32%, rgba(157, 132, 255, 0.12) 53%, rgba(255, 255, 255, 0.3) 74%, rgba(0, 0, 0, 0.18));
    }

.btn-crystal-gray::after {
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(245, 250, 255, 0.1), rgba(152, 162, 166, 0.1)),
        url("/assets/crystal-button-skin.webp");
      background-size: 100% 100%, 112% 132%;
      background-position: center, 50% 50%;
      opacity: 1;
      -webkit-mask-image:
        radial-gradient(circle var(--btn-reveal-size) at var(--btn-light-x) var(--btn-light-y),
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.84)) 0%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.5)) 30%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.18)) 64%,
          rgba(0, 0, 0, 0) 100%);
      mask-image:
        radial-gradient(circle var(--btn-reveal-size) at var(--btn-light-x) var(--btn-light-y),
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.84)) 0%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.5)) 30%,
          rgba(0, 0, 0, calc(var(--btn-crystal-reveal) * 0.18)) 64%,
          rgba(0, 0, 0, 0) 100%);
    }

.btn-crystal-gray:hover::after,
    .btn-crystal-gray:focus-visible::after {
      background-position: center, 50% 50%;
    }

.btn-crystal-gray:hover {
    }

.btn-crystal-gray:hover > .icon,
    .btn-crystal-gray:focus-visible > .icon {
      transform: none;
    }

.btn-outline {
      --btn-edge: rgba(238, 245, 242, 0.34);
      border-color: rgba(238, 245, 242, 0.24);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.115), rgba(255, 255, 255, 0.034) 42%, rgba(157, 132, 255, 0.055) 76%, rgba(238, 245, 242, 0.036)),
        radial-gradient(115% 120% at 0% 0%, rgba(238, 246, 255, 0.13), transparent 58%),
        radial-gradient(95% 110% at 100% 100%, rgba(157, 132, 255, 0.08), transparent 62%),
        rgba(12, 16, 19, 0.76);
      color: var(--text);
    }

.btn-outline::after,
    .btn-ghost::after {
      background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(238, 245, 242, calc(0.035 + var(--btn-fill) * 0.038)) 44%, rgba(157, 132, 255, calc(0.035 + var(--btn-fill) * 0.04))),
        linear-gradient(110deg, transparent 0 31%, rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.18)) 47%, transparent 63%);
      background-size: 100% 100%, 240% 100%;
      background-position: center, 135% 0;
      opacity: calc(0.42 + var(--btn-fill) * 0.34);
    }

.btn-outline::before,
    .btn-ghost::before {
      background:
        radial-gradient(58% 220% at var(--btn-light-x) 0%, rgba(255, 255, 255, calc(0.28 + var(--btn-hover-glow) * 0.34)), rgba(157, 132, 255, calc(0.12 + var(--btn-hover-glow) * 0.18)) 28%, transparent 64%),
        radial-gradient(76% 190% at 100% 100%, rgba(157, 132, 255, calc(0.1 + var(--btn-hover-glow) * 0.18)), rgba(238, 245, 242, calc(0.06 + var(--btn-hover-glow) * 0.1)) 38%, transparent 68%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.36), rgba(238, 245, 242, 0.2) 38%, rgba(157, 132, 255, calc(0.18 + var(--btn-hover-glow) * 0.12)) 68%, rgba(255, 255, 255, 0.28));
    }

.btn-outline:hover::after,
    .btn-outline:focus-visible::after,
    .btn-ghost:hover::after,
    .btn-ghost:focus-visible::after {
      background-position: center, -40% 0;
    }

.btn-outline:hover,
    .btn-outline:focus-visible {
      border-color: rgba(238, 245, 242, 0.42);
      color: var(--text);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.04) 42%, rgba(157, 132, 255, 0.068) 76%, rgba(238, 245, 242, 0.044)),
        radial-gradient(115% 120% at 0% 0%, rgba(238, 246, 255, 0.14), transparent 58%),
        radial-gradient(95% 110% at 100% 100%, rgba(157, 132, 255, 0.1), transparent 62%),
        rgba(12, 16, 19, 0.8);
    }

.btn-ghost {
      --btn-edge: rgba(238, 245, 242, 0.22);
      border-color: rgba(238, 245, 242, 0.14);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.028) 45%, rgba(157, 132, 255, 0.052)),
        radial-gradient(110% 120% at 0% 0%, rgba(238, 246, 255, 0.1), transparent 58%),
        rgba(12, 16, 19, 0.7);
      color: var(--text);
    }

.btn-ghost:hover,
    .btn-ghost:focus-visible {
      border-color: rgba(238, 245, 242, 0.32);
      color: var(--text);
    }

.btn-text {
      min-height: var(--btn-height);
      padding: 0;
      border: 0;
      border-radius: var(--btn-radius);
      color: var(--lime);
      background: transparent;
    }

.btn-text::before,
    .btn-text::after {
      display: none;
    }

.btn-text:hover,
    .btn-text:focus-visible {
      color: #d7ff77;
    }

.btn-text:hover > .icon,
    .btn-text:focus-visible > .icon {
      transform: translate3d(4px, -1px, 0);
    }

.btn-square,
    .btn-icon {
      --btn-edge: rgba(238, 245, 242, 0.28);
      width: var(--btn-height);
      min-width: var(--btn-height);
      height: var(--btn-height);
      min-height: var(--btn-height);
      flex: 0 0 var(--btn-height);
      padding: 0;
      border-radius: calc(var(--btn-radius) - 2px);
      border-color: rgba(238, 245, 242, 0.18);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.026) 48%, rgba(157, 132, 255, 0.045)),
        rgba(10, 14, 16, 0.5);
    }

.btn-icon {
      border-radius: calc(var(--btn-radius) - 2px);
    }

.btn-icon::before,
    .btn-square:not(.btn-primary)::before {
      background:
        radial-gradient(70% 210% at var(--btn-light-x) 0%, rgba(255, 255, 255, calc(0.34 + var(--btn-hover-glow) * 0.28)), rgba(206, 194, 255, calc(0.16 + var(--btn-hover-glow) * 0.16)) 28%, transparent 64%),
        radial-gradient(90% 190% at 100% 100%, rgba(157, 132, 255, calc(0.14 + var(--btn-hover-glow) * 0.18)), rgba(238, 245, 242, calc(0.08 + var(--btn-hover-glow) * 0.12)) 38%, transparent 68%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(238, 245, 242, 0.2) 38%, rgba(157, 132, 255, calc(0.22 + var(--btn-hover-glow) * 0.12)) 68%, rgba(255, 255, 255, 0.28));
    }

.btn-icon::after,
    .btn-square:not(.btn-primary)::after {
      background:
        radial-gradient(circle 145px at var(--btn-light-x) var(--btn-light-y), rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.16)), rgba(206, 194, 255, calc(var(--btn-hover-glow) * 0.08)) 42%, transparent 68%),
        linear-gradient(110deg, transparent 0 31%, rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.18)) 47%, transparent 63%),
        radial-gradient(110% 90% at 100% 100%, rgba(157, 132, 255, calc(0.04 + var(--btn-hover-glow) * 0.08)), transparent 64%);
      background-size: 100% 100%, 240% 100%, 100% 100%;
      background-position: center, 135% 0, center;
    }

.btn-icon:hover,
    .btn-icon:focus-visible,
    .btn-square:not(.btn-primary):hover,
    .btn-square:not(.btn-primary):focus-visible {
      border-color: rgba(238, 245, 242, 0.34);
    }

.btn-square:hover > .icon,
    .btn-square:focus-visible > .icon,
    .btn-icon:hover > .icon,
    .btn-icon:focus-visible > .icon {
      transform: scale(1.08);
    }

.btn-icon:focus-visible,
    .btn-square:not(.btn-primary):focus-visible {
      outline-color: rgba(238, 245, 242, 0.46);
    }

.btn-filled.btn-square {
      color: #152000;
      background: #b6ff17;
      border-color: rgba(182, 255, 23, 0.42);
    }

.btn-filled.btn-square::before,
    .btn-filled.btn-square::after {
      display: none;
    }

.btn-filled.btn-square:hover,
    .btn-filled.btn-square:focus-visible {
      background: #b6ff17;
      border-color: rgba(182, 255, 23, 0.42);
    }

.btn-filled.btn-square:hover > .icon,
    .btn-filled.btn-square:focus-visible > .icon {
      transform: scale(1.08);
    }

.btn[disabled] {
      cursor: not-allowed;
      opacity: 0.42;
      transform: none;
    }

.btn[disabled]::before,
    .btn[disabled]::after {
      opacity: 0;
    }

.btn[disabled] > .icon {
      transform: none;
    }

.button-row,
    .chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
    }

.filter-tabs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
    }

.filter-tab {
      position: relative;
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 8px 18px;
      border: 1px solid rgba(238, 245, 242, 0.12);
      border-radius: 999px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
        rgba(8, 13, 14, 0.62);
      color: rgba(246, 248, 243, 0.62);
      font: inherit;
      font-size: 13px;
      line-height: 1;
      text-decoration: none;
      cursor: pointer;
      transition:
        color 160ms linear,
        border-color 160ms linear,
        background 160ms linear,
        box-shadow 160ms linear;
    }

.filter-tab:hover,
    .filter-tab:focus-visible,
    .filter-tab.active {
      color: var(--lime);
      border-color: rgba(182, 255, 23, 0.24);
      background:
        linear-gradient(145deg, rgba(182, 255, 23, 0.14), rgba(182, 255, 23, 0.052) 50%, rgba(255, 255, 255, 0.022)),
        rgba(11, 18, 13, 0.76);
      outline: none;
    }

.chip {
      position: relative;
      z-index: 0;
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 8px 15px;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid rgba(238, 245, 242, 0.18);
      border-radius: 999px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.078), rgba(255, 255, 255, 0.026) 44%, rgba(182, 255, 23, 0.038)),
        rgba(8, 13, 14, 0.67);
      color: var(--muted);
      font-size: 13px;
      font-weight: 500;
      line-height: 1;
      text-align: center;
    }

.chip.active {
      color: var(--lime);
      border-color: rgba(182, 255, 23, 0.42);
      background:
        linear-gradient(145deg, rgba(182, 255, 23, 0.18), rgba(182, 255, 23, 0.068) 42%, rgba(157, 132, 255, 0.035)),
        rgba(10, 17, 13, 0.72);
    }

.chip.date {
      color: rgba(246, 248, 243, 0.68);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.096), rgba(255, 255, 255, 0.036) 50%, rgba(157, 132, 255, 0.04)),
        rgba(8, 13, 14, 0.7);
    }

.chip-date-split {
      min-height: 34px;
      gap: 5px;
      padding: 7px 13px;
      border-color: rgba(238, 245, 242, 0.11);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.016) 58%, rgba(182, 255, 23, 0.018)),
        rgba(8, 12, 13, 0.56);
      color: rgba(246, 248, 243, 0.62);
      font-size: 12px;
      font-weight: 500;
    }

.chip-date-split__day {
      color: inherit;
      font-weight: 600;
    }

.chip-quiet {
      min-height: 34px;
      padding: 7px 13px;
      border-color: rgba(238, 245, 242, 0.11);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.016) 58%, rgba(182, 255, 23, 0.018)),
        rgba(8, 12, 13, 0.56);
      color: rgba(246, 248, 243, 0.68);
      font-size: 12px;
      font-weight: 500;
    }

.chip.price {
      color: var(--text);
      border-color: rgba(182, 255, 23, 0.3);
      background:
        linear-gradient(145deg, rgba(182, 255, 23, 0.13), rgba(182, 255, 23, 0.052) 48%, rgba(255, 255, 255, 0.036)),
        rgba(8, 13, 14, 0.7);
    }

.iconbox {
      --icon-size: var(--icon-box-glyph-size);
      width: var(--icon-box-size);
      min-width: var(--icon-box-size);
      height: var(--icon-box-size);
      min-height: var(--icon-box-size);
      flex: 0 0 var(--icon-box-size);
      display: inline-grid;
      place-items: center;
      border: 1px solid rgba(238, 245, 242, 0.22);
      border-radius: 16px;
      color: var(--lime);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.025) 52%, rgba(182, 255, 23, 0.055)),
        radial-gradient(circle at 50% 0%, rgba(238, 246, 255, 0.16), transparent 68%),
        rgba(9, 14, 15, 0.42);
    }

.iconbox.round {
      border-radius: 50%;
    }

.iconbox--crystal::before {
      content: "";
      width: 34px;
      height: 34px;
      background: url("/assets/brand-crystal.webp") center / contain no-repeat;
    }

.iconbox--crystal .icon {
      display: none;
    }

.tilt-glare-card {
      --tilt-glare-hover: 0;
      --tilt-glare-pos: -42%;
      --tilt-glare-x: 0deg;
      --tilt-glare-y: 0deg;
      --tilt-glare-motion-strength: 1;
      --tilt-glare-glow-strength: 1;
      cursor: pointer;
      transform: perspective(900px) rotateY(var(--tilt-glare-y)) rotateX(var(--tilt-glare-x));
      transform-origin: center center;
      transform-style: preserve-3d;
      will-change: transform;
      transition:
        opacity 260ms ease,
        transform 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease;
    }

.tilt-glare-card:hover,
    .tilt-glare-card:focus-within {
      transition:
        opacity 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease;
    }

.tilt-glare-card.glass::after {
      background:
        linear-gradient(110deg, transparent 0 31%, rgba(255, 255, 255, calc(var(--tilt-glare-hover) * 0.16)) 47%, transparent 63%),
        radial-gradient(110% 90% at 100% 100%, rgba(157, 132, 255, 0.06), transparent 64%),
        radial-gradient(72% 92% at 88% 12%, rgba(230, 255, 196, 0.1), transparent 62%),
        radial-gradient(80% 92% at 12% 100%, rgba(157, 132, 255, 0.07), transparent 68%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.024) 52%, rgba(182, 255, 23, 0.032)),
        rgba(9, 14, 15, 0.42);
      background-size:
        240% 240%,
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%;
      background-position:
        var(--tilt-glare-pos) var(--tilt-glare-pos),
        0% 0%,
        0% 0%,
        0% 0%,
        0% 0%,
        0% 0%;
      background-repeat: no-repeat;
      opacity: 1;
      transition: background-position 180ms linear;
    }

.tilt-glare-card:hover.glass::after,
    .tilt-glare-card:focus-within.glass::after {
      transition: none;
    }

.service-card--featured.tilt-glare-card {
      --tilt-glare-motion-strength: 0.52;
      --tilt-glare-glow-strength: 0.72;
    }

.service-card {
      position: relative;
      overflow: hidden;
      min-height: 260px;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 28px;
      padding: 26px;
      border-radius: var(--radius-md);
    }

.service-card--link {
      color: inherit;
      text-decoration: none;
      cursor: pointer;
    }

.service-card--featured {
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(170px, 1fr);
      gap: clamp(22px, 4vw, 52px);
      align-items: center;
      padding: clamp(14px, 2vw, 23px);
    }

.service-card--compact.service-card {
      min-height: 0;
      display: grid;
      grid-template-columns: minmax(150px, 150px) minmax(0, 1fr);
      gap: clamp(10px, 3vw, 10px);
      align-items: flex-start;
      padding: clamp(15px, 1.8vw, 15px);
    }

.service-card--compact .btn {
      display: none;
    }

.service-card__content {
      height: 100%;
      position: relative;
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between;
      gap: 28px;
      min-width: 0;
    }

.service-card--featured .iconbox {
      --icon-box-glyph-size: 34px;
    }

.service-card--compact .iconbox {
      --icon-box-glyph-size: 32px;
    }

.service-card h3 {
      margin-top: 0;
    }

.card-title-link,
    .service-card__media,
    .case-card__media,
    .article-visual {
      color: inherit;
      text-decoration: none;
    }

.card-title-link {
      display: inline;
    }

.service-card--featured h3::after,
    .service-card--compact h3::after {
      content: "";
      display: block;
      width: 64px;
      height: 2px;
      margin-top: 18px;
      border-radius: 999px;
      background:
        linear-gradient(90deg, var(--lime), rgba(182, 255, 23, 0.45) 52%, rgba(182, 255, 23, 0));
    }

.service-card--compact h3::after {
      width: 52px;
      margin-top: 14px;
    }

.service-card p {
      max-width: 300px;
      margin-top: 14px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.5;
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }

.service-card--compact p {
      max-width: 260px;
      font-size: 14px;
    }

.service-card__media {
      position: relative;
      z-index: 1;
      width: 100%;
      aspect-ratio: 1 / 1;
      min-height: 0;
      display: grid;
      place-items: center;
      overflow: hidden;
      border-radius: var(--radius-md);
    }

.service-card > .service-card__content {
      z-index: 3;
    }

.service-card > .service-card__media {
      z-index: 1;
    }

.service-card--compact .service-card__media {
      order: -1;
      width: min(180px, 100%);
      aspect-ratio: 5 / 5;
      justify-self: start;
      border-radius: var(--radius-card);
    }

.service-card__media > img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: inherit;
    }

/* Service tiles keep their desktop grid dimensions, but share the mobile
   composition: full-card artwork with a restrained dark text backing. */
.service-card.service-card--overlay {
      grid-template-columns: minmax(0, 1fr);
      align-items: end;
      background: #0a0e0f;
    }

.service-card.service-card--overlay > .service-card__content {
      position: relative;
      z-index: 3;
      height: 100% !important;
      display: grid;
      grid-template-rows: auto minmax(calc(1.5em * 3), 1fr) auto;
      align-items: start;
      align-content: stretch;
      justify-content: stretch !important;
      gap: clamp(12px, 1.5vw, 18px);
    }

@media (min-width: 721px) {
  .service-card.service-card--overlay > .service-card__content {
    width: 66%;
    max-width: 66%;
  }
}

@media (max-width: 760px) {
  .service-card.service-card--overlay > .service-card__content {
    width: 76%;
    max-width: 76%;
  }
}

.service-card.service-card--overlay > .service-card__content > div {
      display: contents;
    }

.service-card.service-card--overlay h3 {
      align-self: start;
    }

.service-card.service-card--overlay p {
      align-self: center;
      min-height: calc(1.5em * 3);
      max-height: calc(1.5em * 3);
      margin-top: 0;
      -webkit-line-clamp: 3;
    }

.service-card.service-card--overlay .btn {
      display: inline-flex;
      align-self: end;
      justify-self: start;
      margin-top: 0;
    }

.service-card.service-card--overlay > .service-card__media {
      position: absolute !important;
      inset: 0 !important;
      order: initial;
      width: 100% !important;
      max-width: none !important;
      height: 100% !important;
      max-height: none !important;
      aspect-ratio: auto !important;
      border-radius: inherit;
      justify-self: stretch;
      background:
        radial-gradient(circle at 16% 24%, rgba(182, 255, 23, 0.34), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(157, 132, 255, 0.3), transparent 30%),
        radial-gradient(circle at 68% 92%, rgba(182, 255, 23, 0.2), transparent 34%),
        linear-gradient(145deg, #101719 0%, #080c0d 54%, #11101a 100%);
    }

.service-card.service-card--overlay > .service-card__media::before {
      content: none;
    }

.service-card.service-card--overlay > .service-card__media::after {
      content: none;
    }

.service-card.service-card--overlay > .service-card__media > img {
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: cover !important;
      border-radius: inherit;
      object-position: center center;
      opacity: 1 !important;
      transition: none;
    }

.service-card.service-card--layered > .service-card__media { overflow: hidden; background: #0a0e0f; }
.service-card.service-card--layered > .service-card__media::after {
      content: "";
      position: absolute;
      z-index: 3;
      inset: 0;
      width: 100%;
      background: linear-gradient(
        104deg,
        rgba(3, 5, 6, 0.8) 0%,
        rgba(3, 5, 6, 0.8) 52%,
        rgba(3, 5, 6, 0.62) 62%,
        rgba(3, 5, 6, 0.28) 72%,
        rgba(3, 5, 6, 0) 82%
      );
      pointer-events: none;
    }
.service-card.service-card--layered > .service-card__media > .service-card__background {
      position: absolute; inset: 0; width: 100% !important; height: 100% !important;
      object-fit: cover !important; object-position: center; opacity: 1 !important;
    }
.service-card.service-card--layered > .service-card__media > .service-card__icon-art {
      position: absolute; z-index: 2; top: 50%; left: 100%;
      width: clamp(330px, 36vw, 560px) !important; height: auto !important;
      max-width: none !important; max-height: 112% !important; object-fit: contain !important;
      opacity: 1 !important;
      transform: translate(-70%, -50%); transform-origin: center;
    }
@media (max-width: 760px) {
  .service-card.service-card--layered > .service-card__media > .service-card__icon-art {
    width: clamp(250px, 86vw, 390px) !important; max-height: 106% !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .service-card.service-card--overlay:hover > .service-card__media > img,
  .service-card.service-card--overlay:focus-within > .service-card__media > img {
    opacity: 1 !important;
  }
}

.service-card.service-card--overlay p {
      max-width: min(100%, 460px);
      color: rgba(246, 248, 243, 0.78);
    }

@media (max-width: 760px) {
  .service-card.service-card--overlay p {
    max-height: calc(1.5em * 5);
    -webkit-line-clamp: 5;
  }
}

.service-card__placeholder {
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 10px;
      padding: 24px;
      border: 1px dashed rgba(238, 245, 242, 0.24);
      border-radius: inherit;
      background:
        radial-gradient(circle at 100% 100%, rgba(182, 255, 23, 0.08), transparent 64%),
        rgba(9, 14, 15, 0.32);
      color: var(--muted);
      text-align: center;
    }

.service-card__placeholder .icon {
      --icon-size: 42px;
      color: rgba(246, 248, 243, 0.34);
    }

.service-card__placeholder span {
      color: rgba(246, 248, 243, 0.34);
      font-size: 14px;
      line-height: 1.25;
    }

.case-card {
      --case-content-width: 56%;
      --case-border-glow: var(--cursor-glow, 0);
      min-height: 315px;
      display: grid;
      grid-template-rows: auto 1fr auto;
      gap: 28px;
      padding: 24px;
      border-radius: var(--radius-md);
      background: rgba(9, 14, 15, 0.22);
      border: 1px solid rgba(238, 245, 242, 0.2);
      overflow: hidden;
      position: relative;
    }

.case-card.reactive-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      padding: 1px;
      border-radius: inherit;
      pointer-events: none;
      background:
        radial-gradient(circle var(--glint-size, 360px) at var(--border-x, 50%) var(--border-y, 0%), rgba(255, 255, 255, calc(var(--case-border-glow) * 0.72)), rgba(238, 246, 255, calc(var(--case-border-glow) * 0.34)) 24%, transparent 72%),
        radial-gradient(circle var(--glint-near-size, 180px) at var(--border-near-x, 100%) var(--border-near-y, 0%), rgba(182, 255, 23, calc(var(--case-border-glow) * 0.46)), transparent 76%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.34), rgba(238, 246, 255, 0.14) 34%, rgba(157, 132, 255, 0.14) 62%, rgba(182, 255, 23, 0.2));
      opacity: calc(0.54 + var(--case-border-glow) * 0.34);
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
    }

.case-card.reactive-panel {
      background: rgba(9, 14, 15, 0.22);
      background-clip: padding-box;
    }

.case-card.reactive-panel::after {
      display: none;
    }

.case-card .chip-row,
    .case-card .btn {
      position: relative;
      z-index: 1;
      width: min(100%, var(--case-content-width));
    }

.case-card__media {
      position: absolute;
      inset: 0;
      z-index: 0;
      display: grid;
      min-width: 0;
      min-height: 0;
    }

.case-card > .case-card__media {
      position: absolute;
      inset: 0;
      z-index: 0;
    }

.case-card__media::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(3, 5, 6, 0.46);
      pointer-events: none;
    }

.case-card__media > img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

.case-card__placeholder {
      display: grid;
      place-items: center;
      align-content: center;
      gap: 10px;
      padding: 24px;
      background: rgba(9, 14, 15, 0.34);
      color: rgba(246, 248, 243, 0.34);
      text-align: center;
    }

.case-card__placeholder .icon {
      --icon-size: 42px;
      color: currentColor;
    }

.case-card__placeholder span {
      font-size: 14px;
      line-height: 1.25;
    }

.case-card__content {
      width: min(100%, var(--case-content-width));
      align-self: center;
      position: relative;
      z-index: 1;
      display: grid;
      gap: 12px;
    }

.case-card--center {
      text-align: center;
    }

.case-card--center .chip-row,
    .case-card--center .case-card__content,
    .case-card--center .btn {
      justify-content: center;
      justify-items: center;
      justify-self: center;
    }

.case-card--left {
      --case-content-width: 70%;
      text-align: left;
    }

.case-card--left .chip-row,
    .case-card--left .case-card__content,
    .case-card--left .btn {
      justify-content: start;
      justify-self: start;
    }

.case-card .btn {
      width: fit-content;
      align-self: center;
    }

.case-card p {
      max-width: 440px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.45;
    }

.case-card--left p {
      max-width: 360px;
    }

.article-card {
      height: 100%;
      min-height: 530px;
      display: flex;
      flex-direction: column;
      gap: 18px;
      padding: 24px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(238, 245, 242, 0.15);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018) 54%, rgba(182, 255, 23, 0.025)),
        rgba(9, 14, 15, 0.42);
    }

.article-card > .blog-listing__anchor {
      position: absolute;
      width: 0;
      height: 0;
      overflow: hidden;
      pointer-events: none;
    }

.article-visual {
      position: relative;
      display: block;
      aspect-ratio: 16 / 9;
      min-height: 148px;
      margin: 0;
      border-radius: 17px;
      overflow: hidden;
      background:
        radial-gradient(circle at 100% 100%, rgba(182, 255, 23, 0.08), transparent 64%),
        rgba(9, 14, 15, 0.32);
      border: 1px dashed rgba(238, 245, 242, 0.24);
    }

.article-visual--contain {
      display: grid;
      place-items: center;
    }

.article-visual--contain > img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
    }

.main-blog__grid .article-visual.article-visual--contain > img {
      object-fit: contain;
      object-position: center center;
    }

.article-visual .chip.date {
      position: absolute;
      top: 12px;
      left: 12px;
      z-index: 2;
    }

.article-visual__placeholder {
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 10px;
      padding: 24px;
      color: rgba(246, 248, 243, 0.34);
      text-align: center;
    }

.article-visual__placeholder .icon {
      --icon-size: 42px;
      color: currentColor;
    }

.article-visual__placeholder span {
      font-size: 13px;
      line-height: 1.25;
    }

.article-card h3 {
      margin-top: 0;
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

.article-card p {
      margin-top: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.5;
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }

.article-card > .btn,
    .article-card .btn-text {
      align-self: flex-start;
      margin-top: auto;
    }

.article-card__read-link {
      align-self: flex-start;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: auto;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--lime);
      font-size: 14px;
      font-weight: 600;
      line-height: 1.35;
      text-decoration: none;
    }

.article-card__read-link .icon {
      width: 16px;
      height: 16px;
      transition: transform 180ms ease;
    }

.article-card__read-link:hover,
    .article-card__read-link:focus-visible {
      color: #d7ff77;
      outline: 0;
    }

.article-card__read-link:hover .icon,
    .article-card__read-link:focus-visible .icon {
      transform: translateX(4px);
    }

.article-grid {
      align-items: stretch;
    }

.article-grid > .ui-kit-copy-shell {
      height: 100%;
    }

.article-grid > .ui-kit-copy-shell > .article-card {
      height: 100%;
    }

.file-drop {
      min-height: 112px;
      display: grid;
      place-items: center;
      gap: 8px;
      padding: 20px;
      border: 1px dashed rgba(238, 245, 242, 0.24);
      border-radius: 18px;
      background:
        radial-gradient(circle at 100% 100%, rgba(182, 255, 23, 0.08), transparent 64%),
        rgba(9, 14, 15, 0.32);
      color: var(--muted);
      text-align: center;
    }

.file-drop .icon {
      color: var(--lime);
    }

.search-field .icon {
      left: auto;
      right: 18px;
    }

.search-field input {
      padding-left: 18px;
      padding-right: 56px;
    }

.subscribe {
      display: flex;
      gap: 10px;
    }

.subscribe .field {
      flex: 1;
    }

.subscribe .field input {
      padding-left: 18px;
    }

.stepper {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 0;
      margin-bottom: 24px;
    }

.step {
      position: relative;
      display: grid;
      gap: 9px;
      justify-items: center;
      color: var(--muted);
      font-size: 13px;
    }

.step::before {
      content: "";
      position: absolute;
      top: 19px;
      left: 0;
      width: 100%;
      height: 1px;
      background: rgba(255, 255, 255, 0.16);
      z-index: 0;
    }

.step:first-child::before {
      left: 50%;
      width: 50%;
    }

.step:last-child::before {
      width: 50%;
    }

.step-number {
      width: 39px;
      height: 39px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, 0.22);
      border-radius: 50%;
      background: #111616;
      color: var(--muted);
      z-index: 1;
    }

.step.active {
      color: var(--text);
    }

.step.active .step-number {
      border-color: var(--lime);
      color: var(--lime);
    }

.choice-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

.choice-card {
      min-height: 176px;
      display: grid;
      gap: 12px;
      place-items: center;
      padding: 20px 16px;
      border: 1px solid rgba(238, 245, 242, 0.16);
      border-radius: 18px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.014)),
        rgba(9, 14, 15, 0.36);
      text-align: center;
      color: var(--muted);
      position: relative;
    }

.choice-card strong {
      color: var(--text);
      font-size: 17px;
    }

.choice-card p {
      font-size: 13px;
      line-height: 1.35;
    }

.choice-card.selected {
      border-color: rgba(182, 255, 23, 0.84);
      background: rgba(182, 255, 23, 0.08);
    }

.check-dot {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 26px;
      height: 26px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--lime);
      color: #172300;
    }

.check-dot .icon {
      display: none;
    }

.check-dot::before {
      content: "";
      width: 10px;
      height: 6px;
      border-left: 2.2px solid #071006;
      border-bottom: 2.2px solid #071006;
      transform: rotate(-45deg) translate(1px, -1px);
      transform-origin: center;
    }

.summary-card {
      min-height: 342px;
      display: grid;
      align-content: start;
      gap: 18px;
      padding: 28px;
      border-radius: var(--radius-md);
    }

.price-value {
      color: var(--lime);
      font-size: clamp(34px, 4vw, 52px);
      line-height: 1;
      font-weight: 600;
    }

.check-list {
      display: grid;
      gap: 13px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

.check-list li {
      display: flex;
      gap: 11px;
      align-items: center;
      color: var(--muted);
      font-size: 14px;
    }

.check-list .icon {
      --icon-size: 18px;
      color: var(--lime);
    }

.contact-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 84px;
      padding: 18px;
      border: 1px solid rgba(238, 245, 242, 0.15);
      border-radius: var(--radius-card);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.015)),
        rgba(9, 14, 15, 0.36);
    }

.contact-card.glass-animated {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

.contact-card.glass-animated::before,
    .contact-card.glass-animated::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
    }

.contact-card.glass-animated::before {
      z-index: 2;
      padding: 1px;
      background:
        radial-gradient(circle var(--glint-size, 260px) at var(--border-x, 50%) var(--border-y, 0), rgba(255, 255, 255, calc(var(--border-glow, 0) * 0.82)), rgba(107, 255, 214, calc(var(--border-glow, 0) * 0.34)) 18%, rgba(182, 255, 23, calc(var(--border-glow, 0) * 0.28)) 48%, transparent 76%),
        radial-gradient(circle var(--glint-near-size, 150px) at var(--border-near-x, 100%) var(--border-near-y, 50%), rgba(182, 255, 23, calc(var(--border-glow, 0) * 0.58)), rgba(157, 132, 255, calc(var(--border-glow, 0) * 0.28)) 38%, transparent 76%),
        linear-gradient(135deg, rgba(107, 255, 214, calc(var(--border-glow, 0) * 0.32)), rgba(238, 245, 242, calc(var(--border-glow, 0) * 0.16)) 34%, rgba(157, 132, 255, calc(var(--border-glow, 0) * 0.3)) 62%, rgba(182, 255, 23, calc(var(--border-glow, 0) * 0.34)));
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
    }

.contact-card.glass-animated::after {
      z-index: 0;
      background:
        radial-gradient(circle var(--reveal-size, 240px) at var(--cursor-x, 50%) var(--cursor-y, 50%), rgba(107, 255, 214, calc(var(--cursor-glow, 0) * 0.18)), rgba(182, 255, 23, calc(var(--cursor-glow, 0) * 0.14)) 34%, transparent 74%),
        radial-gradient(460px 220px at calc(var(--cursor-x, 50%) + 120px) 100%, rgba(182, 255, 23, calc(var(--cursor-glow, 0) * 0.24)), transparent 72%),
        radial-gradient(420px 220px at calc(var(--cursor-x, 50%) - 90px) 0%, rgba(157, 132, 255, calc(var(--cursor-glow, 0) * 0.24)), transparent 74%),
        radial-gradient(340px 170px at 100% 50%, rgba(107, 255, 214, calc(var(--cursor-glow, 0) * 0.12)), transparent 70%),
        linear-gradient(110deg, transparent 0 28%, rgba(157, 132, 255, calc(var(--cursor-glow, 0) * 0.12)) 44%, rgba(182, 255, 23, calc(var(--cursor-glow, 0) * 0.11)) 54%, transparent 70%);
    }

.contact-card.glass-animated > * {
      position: relative;
      z-index: 1;
    }

.contact-main {
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
    }

.contact-text,
    .contact-text strong,
    .contact-text span {
      display: block;
    }

.contact-text span {
      margin-top: 4px;
      color: var(--muted);
      font-size: 14px;
    }

.mini-cards {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

.mini-card {
      min-height: 164px;
      padding: 22px;
      border: 1px solid rgba(238, 245, 242, 0.15);
      border-radius: var(--radius-card);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.014)),
        rgba(9, 14, 15, 0.36);
    }

.mini-card strong {
      display: block;
      margin-top: 16px;
      font-size: 17px;
    }

.mini-card p {
      margin-top: 10px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.45;
    }

.modal {
      width: min(640px, 100%);
      padding: clamp(26px, 4vw, 46px);
      border-radius: var(--radius-lg);
    }

.modal-top {
      display: flex;
      justify-content: space-between;
      align-items: start;
      gap: 18px;
      margin-bottom: 24px;
    }

.modal h2 {
      margin-top: 20px;
      text-align: center;
    }

.modal p {
      max-width: 450px;
      margin: 18px auto 26px;
      color: var(--muted);
      text-align: center;
      line-height: 1.55;
    }

.pagination {
      display: flex;
      align-items: center;
      gap: 10px;
    }

.pagination-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.24);
    }

.pagination-dot.active {
      background: var(--lime);
    }

.page-pagination {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }

.page-pagination__item,
    .page-pagination__arrow {
      min-width: 42px;
      height: 42px;
      display: inline-grid;
      place-items: center;
      padding: 0 12px;
      border: 1px solid rgba(238, 245, 242, 0.14);
      border-radius: 14px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.018)),
        rgba(8, 13, 14, 0.68);
      color: rgba(246, 248, 243, 0.68);
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
      text-decoration: none;
      transition:
        color 160ms linear,
        border-color 160ms linear,
        background 160ms linear,
        box-shadow 160ms linear;
    }

.page-pagination__arrow {
      color: var(--lime);
    }

.page-pagination__arrow .icon {
      --icon-size: 18px;
    }

.page-pagination__item:hover,
    .page-pagination__item:focus-visible,
    .page-pagination__arrow:hover,
    .page-pagination__arrow:focus-visible,
    .page-pagination__item.active {
      color: #101602;
      border-color: rgba(182, 255, 23, 0.48);
      background: linear-gradient(180deg, #c5ff35, #97ee08);
      outline: none;
    }

.page-pagination__ellipsis {
      min-width: 30px;
      display: inline-grid;
      place-items: center;
      color: rgba(246, 248, 243, 0.42);
      font-weight: 600;
    }

.testimonial-section {
      position: relative;
      padding-top: clamp(64px, 8vw, 120px);
      padding-bottom: clamp(64px, 8vw, 116px);
      overflow: visible;
    }

.testimonial-section::before,
    .testimonial-section::after {
      content: "+";
      position: absolute;
      z-index: 0;
      color: rgba(182, 255, 23, 0.2);
      font-size: clamp(76px, 9vw, 130px);
      line-height: 1;
      font-weight: 700;
      pointer-events: none;
      transform: rotate(5deg);
    }

.testimonial-section::before {
      top: 18%;
      left: min(9vw, 120px);
    }

.testimonial-section::after {
      right: min(9vw, 120px);
      bottom: 20%;
      transform: rotate(-8deg);
    }

.testimonial-section > *:not(.testimonial-decor) {
      position: relative;
      z-index: 1;
    }

.testimonial-decor {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      perspective: 900px;
      transform-style: preserve-3d;
      opacity: 1;
    }

.testimonial-decor > * {
      position: absolute;
      display: grid;
      place-items: center;
      transform-style: preserve-3d;
      will-change: transform;
    }

.testimonial-decor__plus::before,
    .testimonial-decor__glyph::before {
      line-height: 1;
      font-weight: 700;
      color: rgba(182, 255, 23, 0.2);
    }

.testimonial-decor__plus::after,
    .testimonial-decor__glyph::after {
      content: "";
      position: absolute;
      inset: -32%;
      z-index: -1;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(182, 255, 23, 0.26), rgba(182, 255, 23, 0.1) 38%, transparent 68%);
      opacity: 0.82;
    }

.testimonial-decor__plus::before {
      content: "+";
      font-size: clamp(54px, 5.8vw, 86px);
    }

.testimonial-decor__glyph::before {
      content: attr(data-glyph);
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      font-size: clamp(38px, 4.4vw, 66px);
      letter-spacing: 0;
    }

.testimonial-decor__drop {
      width: clamp(64px, 6.4vw, 92px);
      aspect-ratio: 1;
      border-radius: 50%;
      border: 1px solid rgba(238, 245, 242, 0.2);
      background:
        radial-gradient(42% 34% at 32% 24%, rgba(255, 255, 255, 0.24), transparent 68%),
        radial-gradient(38% 28% at 28% 78%, rgba(182, 255, 23, 0.58), transparent 64%),
        radial-gradient(70% 84% at 70% 62%, rgba(182, 255, 23, 0.17), transparent 70%),
        linear-gradient(145deg, rgba(238, 245, 242, 0.1), rgba(157, 132, 255, 0.055) 58%, rgba(182, 255, 23, 0.052)),
        rgba(238, 245, 242, 0.05);
    }

.testimonial-decor__drop::after {
      content: "";
      position: absolute;
      inset: auto -18% -18% -18%;
      height: 46%;
      border-radius: 50%;
      background: radial-gradient(ellipse, rgba(182, 255, 23, 0.34), transparent 68%);
      opacity: 0.78;
    }

.testimonial-decor__plus--one {
      top: 19%;
      left: 13%;
      transform: translateZ(-120px) rotateX(14deg) rotateY(-18deg) rotate(-7deg) scale(1);
      opacity: 0.68;
    }

.testimonial-decor__plus--two {
      top: 18%;
      right: 13%;
      transform: translateZ(80px) rotateX(-8deg) rotateY(18deg) rotate(9deg) scale(0.95);
      opacity: 0.76;
    }

.testimonial-decor__plus--three {
      left: 7%;
      bottom: 17%;
      transform: translateZ(130px) rotateX(12deg) rotateY(26deg) rotate(-5deg) scale(0.92);
      opacity: 0.62;
    }

.testimonial-decor__plus--four {
      right: 8%;
      top: 36%;
      transform: translateZ(-220px) rotateX(-16deg) rotateY(-30deg) rotate(12deg) scale(0.86);
      opacity: 0.44;
    }

.testimonial-decor__drop--one {
      top: 22%;
      left: 3%;
      transform: translateZ(150px) rotateX(8deg) rotateY(-22deg) rotate(-18deg);
      opacity: 0.72;
    }

.testimonial-decor__drop--two {
      right: 5%;
      bottom: 18%;
      transform: translateZ(90px) rotateX(-10deg) rotateY(24deg) rotate(20deg) scale(1);
      opacity: 0.58;
    }

.testimonial-decor__drop--three {
      left: 24%;
      top: 44%;
      transform: translateZ(-240px) rotateX(22deg) rotateY(-28deg) rotate(34deg) scale(0.78);
      opacity: 0.34;
    }

.testimonial-decor__glyph--terminal {
      left: 9%;
      top: 43%;
      transform: translateZ(-180px) rotateX(18deg) rotateY(-24deg) rotate(-9deg) scale(0.88);
      opacity: 0.44;
    }

.testimonial-decor__glyph--hash-one {
      right: 22%;
      top: 12%;
      transform: translateZ(-80px) rotateX(-10deg) rotateY(18deg) rotate(13deg) scale(0.86);
      opacity: 0.46;
    }

.testimonial-decor__glyph--hash-two {
      right: 11%;
      bottom: 34%;
      transform: translateZ(120px) rotateX(12deg) rotateY(24deg) rotate(-11deg) scale(0.84);
      opacity: 0.5;
    }

.testimonial-section__head {
      display: grid;
      justify-items: center;
      gap: 18px;
      max-width: 720px;
      margin: 0 auto;
      text-align: center;
    }

.testimonial-section__head .eyebrow {
      justify-self: center;
      align-self: center;
    }

.testimonial-section__head h2 {
      margin: 0;
      font-size: var(--fs-h1);
      line-height: var(--lh-heading);
      font-weight: 600;
      text-wrap: balance;
    }

.testimonial-section__head p {
      max-width: 620px;
      margin: 0;
      color: rgba(246, 248, 243, 0.74);
      font-size: var(--fs-body-lg);
      line-height: 1.6;
      text-wrap: balance;
    }

.reviews-slider-copy__line {
      display: block;
    }

.testimonial-slider__controls {
      position: absolute;
      top: clamp(168px, 15.4vw, 238px);
      right: clamp(0px, 5vw, 82px);
      z-index: 4;
      display: none;
      align-items: center;
      gap: 14px;
    }

.testimonial-slider-shell {
      --testimonial-slide-gap: clamp(10px, 1.4vw, 18px);
      --testimonial-arrow-size: clamp(58px, 6vw, 78px);
      --testimonial-arrow-outset: clamp(42px, 4.8vw, 74px);
      --testimonial-dots-block: 42px;
      --testimonial-viewport-height: clamp(412px, 33vw, 452px);
      position: relative;
      margin-top: clamp(28px, 4vw, 46px);
    }

.testimonial-slider {
      position: relative;
    }

.testimonial-slider__viewport {
      position: relative;
      width: 100%;
      height: var(--testimonial-viewport-height);
      margin: 0 auto;
    }

.testimonial-slider__track {
      min-width: 0;
    }

.testimonial-slider__track:not(.slick-initialized) {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: calc(var(--testimonial-slide-gap) * 2);
      height: 100%;
      overflow: hidden;
    }

.testimonial-slider .slick-list {
      height: 100%;
      overflow: hidden;
      padding-top: 28px;
      padding-bottom: 26px;
    }

.testimonial-slider .slick-track {
      height: 100%;
      display: flex;
      align-items: stretch;
      padding-top: 8px;
      padding-bottom: 8px;
    }

.testimonial-slider .slick-slide {
      height: auto;
    }

.testimonial-slider .slick-slide.testimonial-card {
      display: flex;
    }

.testimonial-slider .slick-slide:not(.testimonial-card) > div {
      height: 100%;
    }

.testimonial-card {
      --testimonial-card-cut: clamp(38px, 4.4vw, 64px);
      --testimonial-card-border: 1.5px;
      --testimonial-glare-pos: -42%;
      --testimonial-tilt-x: 0deg;
      --testimonial-tilt-y: 0deg;
      --btn-edge: rgba(238, 245, 242, 0.28);
      --btn-hover-glow: 0;
      --btn-light-x: 50%;
      --btn-light-y: 50%;
      position: relative;
      min-height: clamp(350px, 27vw, 390px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: clamp(16px, 2vw, 24px);
      margin: 0 var(--testimonial-slide-gap);
      padding: clamp(24px, 2.7vw, 38px);
      overflow: hidden;
      isolation: isolate;
      border: 0;
      border-radius: var(--radius-lg);
      clip-path: polygon(0 0, calc(100% - var(--testimonial-card-cut)) 0, 100% var(--testimonial-card-cut), 100% 100%, 0 100%);
      background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(238, 245, 242, 0.2) 38%, rgba(157, 132, 255, 0.24) 68%, rgba(255, 255, 255, 0.28));
      cursor: pointer;
      opacity: 1;
      transform: perspective(900px) rotateY(var(--testimonial-tilt-y)) rotateX(var(--testimonial-tilt-x));
      transform-origin: center center;
      transform-style: preserve-3d;
      will-change: transform;
      transition:
        --btn-hover-glow 220ms linear,
        opacity 260ms ease,
        transform 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease;
    }

.testimonial-card:hover,
    .testimonial-card:focus-within {
      transition:
        --btn-hover-glow 120ms linear,
        opacity 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease;
    }

.testimonial-card:not(.testimonial-card--linked) {
      cursor: default;
    }

.testimonial-card > * {
      position: relative;
      z-index: 1;
    }

.testimonial-card__link {
      min-width: 0;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: inherit;
      color: inherit;
      text-decoration: none;
    }

.testimonial-card::before {
      content: "";
      position: absolute;
      inset: var(--testimonial-card-border);
      z-index: 0;
      border-radius: calc(var(--radius-lg) - var(--testimonial-card-border));
      clip-path: polygon(0 0, calc(100% - calc(var(--testimonial-card-cut) - var(--testimonial-card-border))) 0, 100% calc(var(--testimonial-card-cut) - var(--testimonial-card-border)), 100% 100%, 0 100%);
      background:
        linear-gradient(110deg, transparent 0 31%, rgba(255, 255, 255, calc(var(--btn-hover-glow) * 0.18)) 47%, transparent 63%),
        radial-gradient(110% 90% at 100% 100%, rgba(157, 132, 255, 0.045), transparent 64%),
        radial-gradient(68% 44% at 100% 0%, rgba(182, 255, 23, 0.18), transparent 72%),
        radial-gradient(72% 92% at 88% 12%, rgba(230, 255, 196, 0.13), transparent 62%),
        radial-gradient(80% 92% at 12% 100%, rgba(157, 132, 255, 0.08), transparent 68%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.025) 52%, rgba(182, 255, 23, 0.035)),
        rgba(9, 14, 15, 0.58);
      background-size:
        240% 240%,
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%,
        100% 100%;
      background-position:
        var(--testimonial-glare-pos) var(--testimonial-glare-pos),
        0% 0%,
        0% 0%,
        0% 0%,
        0% 0%,
        0% 0%,
        0% 0%;
      background-repeat: no-repeat;
      transition:
        background-position 180ms linear;
      pointer-events: none;
    }

.testimonial-card:hover::before,
    .testimonial-card:focus-within::before {
      transition: none;
    }

.testimonial-card__person {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 18px;
      align-items: center;
      min-width: 0;
    }

.testimonial-card__person > div {
      min-width: 0;
    }

.testimonial-card__person .iconbox {
      --icon-box-size: 64px;
      --icon-box-glyph-size: 30px;
      border-radius: 18px;
    }

.testimonial-card__avatar {
      display: block;
      width: 64px;
      height: 64px;
      border: 1px solid rgba(234, 255, 210, 0.24);
      border-radius: 50%;
      object-fit: cover;
      background: rgba(246, 248, 243, 0.08);
      flex: 0 0 64px;
    }

.testimonial-card__person strong {
      display: block;
      color: var(--text);
      font-size: 18px;
      line-height: 1.18;
      font-weight: 600;
    }

.testimonial-card__person span {
      display: block;
      margin-top: 5px;
      color: rgba(246, 248, 243, 0.68);
      font-size: var(--fs-body-sm);
      line-height: 1.35;
    }

.testimonial-card__quote {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      align-items: start;
      gap: 12px;
      margin: 0;
      height: calc(1em * 7.75);
      overflow: hidden;
      color: var(--text);
      font-size: clamp(13px, 1vw, 14px);
      line-height: 1.55;
    }

.testimonial-card__quote-icon {
      display: block;
      width: 30px;
      height: 30px;
      margin: 2px 0 0 2px;
      color: var(--lime);
    }

.testimonial-card__quote span {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 5;
    }

.testimonial-card__case {
      display: grid;
      gap: 8px;
    }

.testimonial-card__case-label {
      padding-inline: 14px;
      color: rgba(246, 248, 243, 0.46);
      font-size: var(--fs-caption);
      line-height: 1.2;
      font-weight: 500;
    }

.testimonial-card__result {
      display: grid;
      box-sizing: border-box;
      grid-template-columns: auto auto 1fr;
      align-items: center;
      gap: 10px;
      height: 54px;
      min-height: 54px;
      padding: 8px 14px;
      overflow: hidden;
      border: 1px solid rgba(238, 245, 242, 0.14);
      border-radius: 999px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018)),
        rgba(9, 14, 15, 0.44);
      color: rgba(246, 248, 243, 0.74);
      font-size: var(--fs-caption);
      line-height: 1.25;
      text-decoration: none;
    }

.testimonial-card__result--static {
      grid-template-columns: auto minmax(0, 1fr);
    }

.testimonial-card__result:hover,
    .testimonial-card__result:focus-visible {
      border-color: rgba(182, 255, 23, 0.36);
      color: rgba(246, 248, 243, 0.9);
    }

.testimonial-card__result .icon {
      color: var(--lime);
    }

.testimonial-card__result strong {
      color: var(--lime);
      font-size: clamp(22px, 2vw, 30px);
      line-height: 1;
      font-weight: 600;
      white-space: nowrap;
    }

.testimonial-slider__arrow {
      position: relative;
      z-index: 1;
      width: var(--testimonial-arrow-size);
      min-width: var(--testimonial-arrow-size);
      height: var(--testimonial-arrow-size);
      min-height: var(--testimonial-arrow-size);
      display: inline-grid;
      place-items: center;
      border: 1px solid rgba(238, 245, 242, 0.24);
      border-radius: 50%;
      background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.14), transparent 58%),
        radial-gradient(circle at 78% 82%, rgba(157, 132, 255, 0.16), transparent 64%),
        linear-gradient(145deg, rgba(238, 245, 242, 0.095), rgba(238, 245, 242, 0.032)),
        rgba(12, 15, 17, 0.58);
      color: rgba(246, 248, 243, 0.94);
      cursor: pointer;
      transform: none;
      transition:
        border-color 180ms ease,
        background 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
    }

.testimonial-slider__arrow:hover,
    .testimonial-slider__arrow:focus-visible {
      border-color: rgba(238, 245, 242, 0.42);
      background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.2), transparent 58%),
        radial-gradient(circle at 78% 82%, rgba(157, 132, 255, 0.22), transparent 64%),
        linear-gradient(145deg, rgba(238, 245, 242, 0.13), rgba(238, 245, 242, 0.05)),
        rgba(16, 19, 22, 0.68);
      transform: none;
      outline: none;
    }

.testimonial-slider__arrow .icon {
      --icon-size: 30px;
    }

.testimonial-slider__dots {
      min-height: 18px;
      margin-top: 24px;
      display: flex;
      justify-content: center;
    }

.testimonial-slider__dots .slick-dots {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

.testimonial-slider__dots button {
      width: 11px;
      height: 11px;
      display: block;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background: rgba(238, 245, 242, 0.34);
      color: transparent;
      font-size: 0;
      cursor: pointer;
      transition:
        background 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
    }

.testimonial-slider__dots .slick-active button {
      background: var(--lime);
      transform: scale(1.12);
    }

.testimonial-slider__cta {
      position: relative;
      width: min(760px, 100%);
      min-height: 86px;
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 22px;
      align-items: center;
      margin: clamp(34px, 4vw, 54px) auto 0;
      padding: 12px 18px 12px 26px;
      border-radius: 999px;
      color: var(--text);
    }

.testimonial-slider__cta .iconbox {
      --icon-box-size: 58px;
      --icon-box-glyph-size: 28px;
      border-radius: 18px;
    }

.testimonial-slider__cta strong {
      font-size: clamp(18px, 2vw, 24px);
      line-height: 1.25;
      font-weight: 500;
    }

.testimonial-slider__cta .btn {
      --btn-height: 58px;
      width: 58px;
      min-width: 58px;
      padding: 0;
      border-radius: 50%;
    }

.footer {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      column-gap: clamp(22px, 2vw, 32px);
      row-gap: 0;
      align-items: start;
      margin-top: 56px;
      padding: 34px;
      border-radius: var(--radius-lg);
    }

.content-shell.footer {
      margin: 56px auto 0;
    }

.footer-seo {
      display: grid;
      grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
      gap: clamp(24px, 4vw, 58px);
      align-items: start;
      z-index: 1;
      margin: clamp(76px, 9vw, 132px) auto 0;
      padding: clamp(26px, 4vw, 46px);
      border-radius: var(--radius-lg);
      background:
        radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.13), transparent 32%),
        radial-gradient(circle at 88% 20%, rgba(182, 255, 23, 0.14), transparent 34%),
        radial-gradient(circle at 42% 100%, rgba(157, 132, 255, 0.11), transparent 38%),
        rgba(9, 14, 15, 0.66);
    }

.footer-seo + .main-footer {
      margin-top: clamp(24px, 3vw, 38px);
    }

.footer-seo__head {
      display: grid;
      gap: 18px;
      min-width: 0;
    }

.footer-seo__head .chip {
      width: fit-content;
      justify-self: start;
    }

.footer-seo__head h2 {
      max-width: 620px;
      margin: 0;
      font-size: clamp(26px, 3.4vw, 42px);
      line-height: 1.12;
      font-weight: 600;
      letter-spacing: 0;
    }

.footer-seo__text {
      display: grid;
      gap: 16px;
      min-width: 0;
      color: rgba(246, 248, 243, 0.7);
      font-size: var(--fs-body);
      line-height: 1.68;
    }

.footer-seo__text p {
      margin: 0;
    }

.footer-seo__links {
      grid-column: 2;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 4px;
    }

.footer-seo__links a {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      padding: 8px 14px;
      border: 1px solid rgba(238, 245, 242, 0.16);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.045);
      color: rgba(246, 248, 243, 0.78);
      font-size: var(--fs-body-sm);
      line-height: 1.2;
      transition:
        color 160ms linear,
        border-color 160ms linear,
        background 160ms linear;
    }

.footer-seo__links a:hover {
      border-color: rgba(182, 255, 23, 0.5);
      background: rgba(182, 255, 23, 0.09);
      color: var(--lime);
    }

.footer-seo__links .icon {
      --icon-size: 14px;
      color: var(--lime);
    }

.footer p {
      max-width: 330px;
      margin-top: 16px;
      color: var(--muted);
      line-height: 1.55;
    }

.main-footer__brand {
      grid-column: span 1;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      min-width: 0;
      min-height: 100%;
    }

.main-footer__brand-main {
      display: grid;
      gap: 16px;
      min-width: 0;
    }

.main-footer__brand-main p {
      margin-top: 0;
    }

.main-footer__menus {
      min-width: 0;
      display: contents;
    }

.main-footer::before,
    .main-footer::after {
      z-index: 0;
    }

.main-footer__brand,
    .main-footer__menus,
    .main-footer .footer-group {
      position: relative;
      z-index: 2;
    }

.footer-group {
      min-width: 0;
    }

.main-footer__copyright {
      position: relative;
      z-index: 1;
      display: block;
      width: min(1180px, calc(100% - 40px));
      max-width: none;
      margin: 16px auto 18px;
      color: rgba(157, 132, 255, 0.82);
      font-size: var(--fs-body-sm);
      font-weight: 300;
      line-height: 1.35;
      text-align: center;
    }

.footer-title {
      margin-bottom: 14px;
      font-weight: 600;
    }

.footer-links {
      display: grid;
      gap: 10px;
    }

.footer-links--split {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      column-gap: 14px;
      row-gap: 0;
    }

.footer-links__column {
      min-width: 0;
      display: grid;
      align-content: start;
      gap: 10px;
    }

.footer-links a {
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: rgba(246, 248, 243, 0.92);
      font-size: 14px;
      line-height: 1.32;
    }

.main-footer .footer-links a {
      color: rgba(246, 248, 243, 0.92);
    }

.footer-links a:hover {
      color: var(--lime);
    }

.footer-links .icon {
      --icon-size: 14px;
      flex: 0 0 auto;
      color: var(--lime);
    }

.main-footer__contacts {
      width: 100%;
      margin-top: clamp(18px, 2.4vw, 30px);
    }

.main-footer__contacts .footer-links {
      gap: 9px;
    }

.main-footer__contacts .footer-links a {
      justify-content: flex-start;
    }

.main-footer__contacts .footer-links a span {
      min-width: 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

.main-footer__contacts .main-footer-icon {
      --icon-size: 18px;
      margin-right: 0;
    }

.brand-chip {
      display: flex;
      align-items: center;
      gap: 14px;
      min-height: 72px;
      padding: 14px 18px;
      border: 1px solid rgba(255, 255, 255, 0.11);
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.04);
    }

.brand-chip small {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

.content-shell {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
    }

.content-shell--narrow {
      width: min(840px, calc(100% - 40px));
    }

.content-grid {
      display: grid;
      gap: 18px;
    }

.content-grid--2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.content-grid--3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

.content-grid--4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

.content-grid--main-aside {
      grid-template-columns: minmax(0, 2fr) minmax(260px, 0.78fr);
    }

.content-grid--aside-main {
      grid-template-columns: minmax(260px, 0.78fr) minmax(0, 2fr);
    }

.glass,
    .reactive-panel {
      --glint-size: 210px;
      --glint-strength: 1;
      --glint-border: 1px;
      --border-x: 50%;
      --border-y: 0px;
      --border-near-x: 100%;
      --border-near-y: 50%;
      --border-glow: 0;
      --glint-near-size: 170px;
      --center-glow: 0;
      --inner-glow-x: 300px;
      --inner-glow-y: 190px;
      --reveal-size: 300px;
      --mask-center: 0.48;
      --mask-mid: 0.58;
      --mask-edge: 0.68;
      border: 1px solid var(--panel-line);
      background: var(--panel-bg);
      background-clip: padding-box;
    }

.glass::before,
    .reactive-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      width: auto;
      height: auto;
      z-index: 2;
      padding: var(--glint-border);
      border: 0;
      border-radius: inherit;
      transform: none;
      pointer-events: none;
      background:
        radial-gradient(circle var(--glint-size) at var(--border-x) var(--border-y), rgba(255, 255, 255, calc(var(--border-glow) * 0.78 * var(--glint-strength))), rgba(232, 255, 182, calc(var(--border-glow) * 0.36 * var(--glint-strength))) 18%, rgba(188, 146, 255, calc(var(--border-glow) * 0.24 * var(--glint-strength))) 48%, transparent 74%),
        radial-gradient(circle var(--glint-near-size) at var(--border-near-x) var(--border-near-y), rgba(255, 255, 255, calc(var(--border-glow) * 0.52 * var(--glint-strength))), rgba(232, 255, 182, calc(var(--border-glow) * 0.22 * var(--glint-strength))) 20%, rgba(188, 146, 255, calc(var(--border-glow) * 0.17 * var(--glint-strength))) 50%, transparent 74%),
        radial-gradient(42% 220% at 0% 0%, rgba(255, 255, 255, 0.78), rgba(238, 246, 255, 0.36) 24%, transparent 68%),
        linear-gradient(to top, rgba(203, 170, 255, 0.48), rgba(157, 132, 255, 0.27) 10%, transparent 34%),
        linear-gradient(to left, rgba(220, 255, 154, 0.46), rgba(182, 255, 23, 0.27) 12%, transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.11) 28%, rgba(157, 132, 255, 0.17) 54%, rgba(182, 255, 23, 0.19) 82%, rgba(255, 255, 255, 0.32));
      opacity: calc(0.8 + var(--cursor-glow) * 0.2);
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      transition: opacity 180ms linear;
    }

.glass::after,
    .reactive-panel::after {
      content: "";
      position: absolute;
      inset: 0;
      width: auto;
      height: auto;
      z-index: 0;
      border: 0;
      border-radius: inherit;
      transform: none;
      pointer-events: none;
      background:
        radial-gradient(circle var(--reveal-size) at var(--cursor-x) var(--cursor-y), rgba(3, 5, 6, var(--mask-center)) 0%, rgba(3, 5, 6, var(--mask-center)) 24%, rgba(3, 5, 6, var(--mask-mid)) 58%, rgba(3, 5, 6, var(--mask-edge)) 100%),
        linear-gradient(to bottom, rgba(245, 250, 255, 0.24), rgba(238, 246, 255, 0.105) 62px, transparent 220px),
        linear-gradient(to right, rgba(238, 246, 255, 0.17), rgba(238, 246, 255, 0.072) 66px, transparent 210px),
        linear-gradient(to left, rgba(182, 255, 23, 0.22), rgba(182, 255, 23, 0.092) 88px, transparent 260px),
        linear-gradient(to top, rgba(188, 146, 255, 0.23), rgba(157, 132, 255, 0.092) 96px, transparent 275px),
        radial-gradient(42% 24% at 8% 0%, rgba(255, 255, 255, 0.24), rgba(238, 246, 255, 0.092) 42%, transparent 78%),
        radial-gradient(46% 28% at 100% 74%, rgba(182, 255, 23, 0.2), rgba(182, 255, 23, 0.072) 44%, transparent 80%),
        radial-gradient(54% 30% at 48% 100%, rgba(188, 146, 255, 0.22), rgba(157, 132, 255, 0.078) 46%, transparent 82%);
      opacity: 1;
    }

.glass > *,
    .reactive-panel > * {
      position: relative;
      z-index: 1;
    }

.choice-card.selected {
      border-color: rgba(182, 255, 23, 0.72);
    }

@media (prefers-reduced-motion: reduce) {
  html {
          scroll-behavior: auto;
        }

  .btn,
        .btn::before,
        .btn::after,
        .btn > .icon,
        .testimonial-card,
        .testimonial-card::before,
        .tilt-glare-card,
        .tilt-glare-card::after {
          transition: none;
          animation: none;
        }
}

.main-footer__partners {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      margin-top: 24px;
}

.main-footer__bitrix-partner,
.main-footer__bitrix24-partner {
      display: block;
      overflow: hidden;
      border-radius: 5px;
      transition: transform 180ms ease, filter 180ms ease;
}

.main-footer__bitrix-partner {
      width: 120px;
      height: 69px;
}

.main-footer__bitrix-partner img {
      width: 120px;
      height: 69px;
      display: block;
}

.main-footer__bitrix24-partner {
      width: 180px;
      height: 52px;
}

.main-footer__bitrix24-partner img {
      width: 180px;
      height: 52px;
      display: block;
}

.main-footer__bitrix-partner:hover,
.main-footer__bitrix-partner:focus-visible,
.main-footer__bitrix24-partner:hover,
.main-footer__bitrix24-partner:focus-visible {
      filter: brightness(1.08);
      transform: translateY(-2px);
}

@media (max-width: 1060px) {
  :root {
          --fs-display: 52px;
          --fs-h1: 42px;
          --fs-h2: 34px;
          --fs-h3: 24px;
          --fs-h4: 20px;
          --fs-body-lg: 17px;
          --fs-body: 15px;
          --fs-body-sm: 13px;
          --fs-caption: 12px;
        }

  .testimonial-section__head h2 {
          font-size: var(--fs-h1);
        }

  .testimonial-slider__viewport {
          width: min(100%, calc(100vw - 32px));
        }

  .testimonial-slider__controls {
          position: relative;
          top: auto;
          right: auto;
          display: flex;
          justify-content: flex-end;
          margin-top: 18px;
        }

  .testimonial-slider__arrow--prev {
          left: 2px;
        }

  .testimonial-slider__arrow--next {
          right: 2px;
        }

  .topbar {
          grid-template-columns: auto minmax(0, 1fr) auto;
          align-items: center;
        }

  .site-header--desktop .site-header__nav {
          display: none;
        }

  .topbar .btn-primary,
        .site-header--desktop .btn-primary {
          display: none;
        }

  .topbar .header-burger,
        .site-header--desktop .header-burger {
          grid-column: 3;
          justify-self: end;
          display: inline-grid;
        }

  .grid-span-3-3-2 > :nth-child(n),
        .grid-span-3-3-2 > .ui-kit-copy-shell:nth-child(n) {
          grid-column: auto;
        }

  .grid.four {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

  .content-grid--4 {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

  .footer {
          grid-template-columns: 1fr;
        }

  .main-footer__menus {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

  .main-footer__menus > .footer-group:nth-child(n) {
          grid-column: auto;
        }

  .footer-seo {
          grid-template-columns: 1fr;
        }

  .footer-seo__links {
          grid-column: auto;
        }

  .content-grid--main-aside,
        .content-grid--aside-main {
          grid-template-columns: 1fr;
        }

  .choice-grid,
        .mini-cards {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

  .grid.two:has(> .service-card),
        .grid.three:has(> .service-card),
        .grid.two:has(> .ui-kit-copy-shell > .service-card),
        .grid.three:has(> .ui-kit-copy-shell > .service-card) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

  .service-card h3,
        .case-card h3,
        .article-card h3 {
          font-size: 22px;
        }

  .service-card p,
        .case-card p,
        .article-card p {
          font-size: 14px;
        }

  .service-card--featured {
          grid-template-columns: 1fr;
          min-height: auto;
        }

  .service-card--compact.service-card {
          grid-template-columns: minmax(150px, 150px) minmax(0, 1fr);
          min-height: 0;
        }

  .service-card--featured .service-card__media {
          order: -1;
          width: 100%;
          aspect-ratio: 1 / 1;
          max-height: max-content;
        }

  .service-card--compact .service-card__media {
          order: -1;
          width: 100%;
          aspect-ratio: 1 / 1;
          max-height: max-content;
          justify-self: stretch;
        }

  .service-card--featured .service-card__media > img,
        .service-card--compact .service-card__media > img {
          max-width: 100%;
          max-height: 100%;
        }

  .service-card--compact .btn {
          display: inline-flex;
        }

  .filter-tabs {
          gap: 10px;
        }

  .filter-tab {
          flex: 0 1 auto;
          min-height: 36px;
          padding-inline: 14px;
          font-size: 12px;
        }

  .page-pagination {
          gap: 8px;
        }

  .page-pagination__item,
        .page-pagination__arrow {
          min-width: 38px;
          height: 38px;
          border-radius: var(--radius-sm);
          font-size: 13px;
        }
}

@media (max-width: 720px) {
  :root {
          --fs-display: 38px;
          --fs-h1: 32px;
          --fs-h2: 27px;
          --fs-h3: 22px;
          --fs-h4: 19px;
          --fs-body-lg: 16px;
          --fs-body: 14px;
          --fs-body-sm: 12px;
          --fs-caption: 12px;
        }

  .testimonial-section {
          padding-top: 56px;
          padding-bottom: 62px;
        }

  .testimonial-section::before,
        .testimonial-section::after {
          opacity: 0.48;
        }

  .testimonial-section::before {
          top: 24%;
          left: -12px;
        }

  .testimonial-section::after {
          right: -10px;
          bottom: 25%;
        }

  .testimonial-section__head {
          justify-items: start;
          text-align: left;
        }

  .testimonial-section__head > .eyebrow {
          justify-self: start;
          margin-inline: 0;
        }

  .testimonial-section__head p {
          font-size: var(--fs-body);
        }

  .testimonial-slider__controls {
          position: relative;
          top: auto;
          right: auto;
          display: flex;
          justify-content: flex-end;
          margin-top: 18px;
        }

  .testimonial-slider-shell {
          --testimonial-slide-gap: 10px;
          --testimonial-viewport-height: 414px;
          margin-top: 26px;
        }

  .testimonial-slider .slick-list {
          padding-bottom: 10px;
        }

  .testimonial-slider .slick-track {
          padding-bottom: 0;
        }

  .testimonial-slider__track:not(.slick-initialized) {
          grid-template-columns: 1fr;
        }

  .testimonial-card {
          --testimonial-card-cut: 42px;
          min-height: 360px;
          margin: 0 var(--testimonial-slide-gap);
          transform: none;
        }

  .testimonial-card__quote {
          grid-template-columns: 34px minmax(0, 1fr);
          gap: 12px;
          height: calc(1em * 7.75);
          font-size: 14px;
        }

  .testimonial-card__quote-icon {
          width: 28px;
          height: 28px;
        }

  .testimonial-card__result {
          grid-template-columns: auto auto 1fr;
          border-radius: var(--radius-md);
        }

  .testimonial-card__result span {
          grid-column: auto;
        }

  .testimonial-slider__arrow {
          width: 52px;
          min-width: 52px;
          height: 52px;
          min-height: 52px;
        }

  .testimonial-slider__dots {
          margin-top: 8px;
          padding: 0 70px;
        }

  .testimonial-slider__cta {
          grid-template-columns: 44px minmax(0, 1fr) 44px;
          align-items: center;
          gap: 10px;
          justify-items: stretch;
          min-height: 74px;
          margin-top: 58px;
          border-radius: var(--radius-lg);
          padding: 12px;
        }

  .testimonial-slider__cta .iconbox {
          --icon-box-size: 44px;
          --icon-box-glyph-size: 22px;
          border-radius: var(--radius-sm);
        }

  .testimonial-slider__cta strong {
          min-width: 0;
          font-size: clamp(15px, 4.2vw, 18px);
          line-height: 1.18;
        }

  .testimonial-slider__cta .btn {
          --btn-height: 44px;
          width: 44px;
          min-width: 44px;
          height: 44px;
          min-height: 44px;
        }

  .main-testimonials .testimonial-slider-shell {
          --testimonial-viewport-height: 402px;
        }

  .main-testimonials .testimonial-slider .slick-list {
          padding-bottom: 4px;
        }

  .main-testimonials .testimonial-slider__arrow {
          bottom: -17px;
        }

  .main-testimonials .testimonial-slider__dots {
          margin-top: 6px;
        }

  .topbar {
          width: calc(100% + 24px);
          margin-top: -18px;
          margin-left: -12px;
          margin-right: -12px;
          padding: 16px;
          border-left: 0;
          border-right: 0;
          border-radius: 0 0 var(--radius-lg) var(--radius-lg);
        }

  .topbar.is-stuck {
          border-top-left-radius: 0;
          border-top-right-radius: 0;
          border-bottom-left-radius: var(--radius-lg);
          border-bottom-right-radius: var(--radius-lg);
        }

  .grid.four,
        .content-grid--2,
        .content-grid--3,
        .content-grid--4,
        .choice-grid,
        .mini-cards {
          grid-template-columns: 1fr;
        }

  .grid.two:has(> .service-card),
        .grid.three:has(> .service-card),
        .grid.two:has(> .ui-kit-copy-shell > .service-card),
        .grid.three:has(> .ui-kit-copy-shell > .service-card) {
          grid-template-columns: 1fr;
        }

  .grid-span-2-1 > :first-child,
        .grid-span-2-1 > .ui-kit-copy-shell:first-child {
          grid-column: auto;
        }

  .rich-table {
          display: block;
          overflow-x: auto;
        }

  .service-card--featured {
          grid-template-columns: 1fr;
          min-height: auto;
        }

  .service-card--compact.service-card {
          grid-template-columns: 1fr;
          min-height: 0;
        }

  .service-card--featured .service-card__media,
        .service-card--compact .service-card__media {
          order: -1;
          width: 100%;
          aspect-ratio: 1 / 1;
          max-height: max-content;
        }

  .service-card--featured .service-card__media > img,
        .service-card--compact .service-card__media > img {
          width: auto;
          height: auto;
          max-width: 100%;
          max-height: 100%;
          object-fit: contain;
          border-radius: 0;
        }

  .service-card--compact .service-card__media {
          justify-self: stretch;
        }

  .service-card__media {
          min-height: 0;
        }

  .stepper {
          overflow-x: auto;
          grid-template-columns: repeat(5, 120px);
          padding-bottom: 6px;
        }

  .subscribe {
          display: grid;
        }
}

@media (max-width: 680px) {
  .main-footer__menus,
        .footer-links--split {
          grid-template-columns: 1fr;
        }

  .footer-links--split {
          row-gap: 10px;
        }
}

/* Shared full-width hero used by services, cases, and team pages. */
.services-hero {
  position: relative;
  box-sizing: border-box;
  height: 100vh;
  min-height: 0;
  max-height: 900px;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: clamp(132px, 8vw, 156px) var(--main-page-gutter) clamp(156px, 11vw, 198px);
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  isolation: isolate;
}

.services-hero::before,
.services-hero::after {
  content: none;
}

.services-hero__main {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.9fr);
  align-items: center;
  gap: clamp(36px, 5.5vw, 82px);
  width: min(1180px, 100%);
}

.services-hero__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
  width: 100%;
  margin: 0;
  min-width: 0;
  text-align: left;
  transform: none;
}

.services-hero h1 {
  max-width: min(860px, 100%);
  margin: 0;
  font-size: clamp(38px, 4.25vw, 64px);
  line-height: 1.12;
  font-weight: 600;
  text-wrap: balance;
}

.services-hero__nowrap {
  white-space: nowrap;
}

.services-hero .lead {
  max-width: min(780px, 100%);
  margin: 0;
  color: rgba(246, 248, 243, 0.76);
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.48;
}

.services-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 14px;
  margin-top: 4px;
}

.services-hero__media {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 1.08 / 1;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(238, 245, 242, 0.16);
  border-radius: 32px;
  background: rgba(13, 15, 18, 0.48);
}

.services-hero__media::after {
  content: none;
}

.services-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
}

.services-hero--plain .services-hero__main {
  grid-template-columns: minmax(0, 100%);
  justify-content: center;
  justify-items: center;
}

.services-hero--plain .services-hero__copy {
  align-items: center;
  text-align: center;
}

.services-hero--plain h1,
.services-hero--plain .lead {
  margin-right: 0;
  margin-left: 0;
}

.services-hero--plain .services-hero__actions {
  justify-content: center;
}

.services-hero--plain .services-hero__media {
  display: none;
}

.services-hero__facts {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: clamp(40px, 3.8vw, 62px);
  width: min(1240px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(230px, 0.82fr);
  align-items: center;
  gap: 0;
  margin: 0 auto;
  padding: clamp(12px, 1.4vw, 16px);
  border-radius: var(--radius-lg);
  transform: translateX(-50%);
}

.services-hero__facts > div {
  display: grid;
  grid-template-columns: clamp(54px, 5vw, 66px) minmax(0, 1fr);
  gap: clamp(14px, 1.5vw, 20px);
  align-items: center;
  min-width: 0;
  min-height: clamp(66px, 6vw, 78px);
  padding: 4px clamp(14px, 1.6vw, 22px);
}

.services-hero__facts > div:first-child {
  padding-left: clamp(2px, 0.5vw, 6px);
}

.services-hero__facts > div + div {
  border-left: 1px solid rgba(238, 245, 242, 0.12);
}

.services-hero__facts-cta {
  justify-self: stretch;
  min-width: 0;
  min-height: clamp(58px, 5vw, 66px);
  margin-left: clamp(16px, 1.8vw, 28px);
  white-space: nowrap;
}

.services-hero__facts .iconbox {
  --icon-box-size: clamp(54px, 5vw, 66px);
  --icon-box-glyph-size: clamp(25px, 2.4vw, 31px);
  border-radius: 16px;
}

.services-hero__facts strong {
  color: #fff;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.35;
  font-weight: 600;
}

@media (max-width: 1180px) {
  .services-hero {
    max-height: none;
  }

  .services-hero__main {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr);
    gap: clamp(26px, 4vw, 46px);
  }

  .services-hero--plain .services-hero__main {
    grid-template-columns: minmax(0, 100%);
  }

  .services-hero__facts {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
    justify-items: stretch;
    transform: none;
  }

  .services-hero__facts > div {
    padding: 0;
  }

  .services-hero__facts > div + div,
  .services-hero__facts-cta {
    border-left: 0;
  }

  .services-hero__facts-cta {
    justify-self: stretch;
    min-width: 0;
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 780px) {
  .services-hero {
    height: auto;
    min-height: 0;
    max-height: none;
    display: grid;
    grid-template-rows: auto auto;
    align-items: stretch;
    gap: 22px;
    padding: 112px 18px 28px;
    background: transparent;
  }

  .services-hero::after {
    opacity: 0.28;
  }

  .services-hero__main {
    grid-template-columns: 1fr;
    align-content: center;
    align-self: center;
    gap: 24px;
  }

  .services-hero__copy {
    align-self: stretch;
    justify-content: center;
    align-items: flex-start;
    gap: 18px;
    text-align: left;
    transform: none;
  }

  .services-hero h1 {
    font-size: clamp(28px, 8.6vw, 42px);
  }

  .services-hero .lead {
    font-size: 16px;
  }

  .services-hero__actions {
    display: grid;
    justify-content: stretch;
    width: 100%;
  }

  .services-hero__actions .btn {
    width: 100%;
  }

  .services-hero__media {
    width: 100%;
    max-width: none;
    aspect-ratio: 1.36 / 1;
    justify-self: stretch;
    border-radius: 24px;
  }

  .services-hero__facts {
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px 14px;
    padding: 14px;
  }

  .services-hero__facts > div {
    display: contents;
    padding: 0;
  }

  .services-hero__facts > div + div {
    padding-top: 0;
    border-top: 0;
    border-left: 0;
  }

  .services-hero__facts .iconbox {
    --icon-box-size: 58px;
    --icon-box-glyph-size: 27px;
    border-radius: 16px;
  }

  .services-hero__facts strong {
    align-self: center;
    font-size: clamp(16px, 4.4vw, 20px);
    line-height: 1.25;
  }

  .services-hero__facts-cta {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }
}

/* Template shell and homepage composition. */

body {
  --main-page-gutter: clamp(20px, 5vw, 76px);
  background: #020303;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
}

body::before {
  background: url("/assets/bg.webp") center center / cover no-repeat;
}

body::after {
  background: rgba(1, 3, 4, 0.48);
}

.main-page,
.main-footer {
  position: relative;
  z-index: 1;
}

.main-page {
  --page-section-gap: var(--section-gap);
}

.main-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  width: min(1180px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
  margin: 0 auto;
  padding-top: 0;
  transform: none;
}

.main-header .topbar {
  width: 100%;
  margin: 0;
  border-top-color: rgba(3, 5, 6, 0.96);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.main-header .topbar::before {
  inset: 1px 0 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.main-header .topbar > .btn-primary {
  grid-column: 4;
  justify-self: end;
  margin-right: 0;
}

@media (min-width: 1061px) {
  .main-header .topbar {
    min-height: 72px;
    column-gap: 14px;
    padding: 12px 18px;
  }

  .main-header .nav {
    gap: clamp(16px, 1.65vw, 28px);
    font-size: 15px;
  }

  .main-header .header-mobile-socials {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .main-header .header-mobile-socials a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(238, 245, 242, 0.16);
    border-radius: 11px;
    background: rgba(17, 23, 24, 0.58);
    transition: border-color 160ms ease, background-color 160ms ease;
  }

  .main-header .header-mobile-socials a:hover,
  .main-header .header-mobile-socials a:focus-visible {
    border-color: rgba(182, 255, 23, 0.42);
    background: rgba(22, 31, 25, 0.76);
  }

  .main-header .header-mobile-socials img {
    width: 23px;
    height: 23px;
    display: block;
    object-fit: contain;
  }

  .main-header .topbar > .btn-primary {
    grid-row: 1;
    min-height: 50px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.main-page {
  padding: 0;
}

.listing-page {
  padding-top: clamp(126px, 11vw, 162px);
}

.listing-page .main-blog {
  padding-top: 0;
}

.listing-page #cases.main-blog {
  padding-bottom: clamp(56px, 7vw, 104px);
}

.listing-hero {
  padding-bottom: clamp(56px, 7vw, 104px);
}

.listing-hero__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.7fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: stretch;
  padding: clamp(28px, 5vw, 56px);
  border-radius: var(--radius-lg);
}

.listing-hero__copy {
  display: grid;
  align-content: center;
  gap: 22px;
  min-width: 0;
}

.listing-hero__copy h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
}

.listing-hero__copy p {
  max-width: 700px;
  color: rgba(246, 248, 243, 0.72);
  font-size: var(--fs-body-lg);
  line-height: 1.55;
}

.listing-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
}

.listing-hero__facts {
  display: grid;
  gap: 14px;
  align-content: stretch;
}

.listing-hero__facts .mini-card {
  align-content: start;
}

.listing-hero__facts strong {
  display: block;
  margin-top: 16px;
  color: var(--text);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 500;
}

.listing-hero__facts p {
  margin-top: 12px;
  color: rgba(246, 248, 243, 0.62);
  line-height: 1.5;
}

.main-page > .content-shell,
.main-footer {
  width: min(1180px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
}

.main-page > .content-shell {
  margin-top: 0;
  margin-bottom: 0;
}

.main-page > :is(.main-hero, .services-hero, .content-shell) + .content-shell {
  margin-top: var(--page-section-gap);
}

.main-hero {
  width: 100%;
  min-width: 0;
}

@media (max-width: 640px) {
  .main-page {
    padding-top: 60px;
  }
}

.main-hero__panel {
  --hero-stage-width: min(100vw, 1720px);
  --hero-panel-min-height: 760px;
  --hero-title-size: clamp(38px, 4.25vw, 64px);
  --hero-lead-size: clamp(16px, 1.5vw, 22px);
  --hero-copy-offset: clamp(-78px, -5vw, -46px);
  position: relative;
  box-sizing: border-box;
  height: 100vh;
  min-height: 0;
  max-height: 900px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: clamp(118px, 8vw, 156px) var(--main-page-gutter) clamp(42px, 4.5vw, 68px);
  background: linear-gradient(180deg, #060809 0%, rgba(6, 8, 9, 0.72) 34%, rgba(6, 8, 9, 0.18) 72%, rgba(6, 8, 9, 0) 100%);
  overflow: hidden;
  isolation: isolate;
}

.main-hero__picture,
.main-hero__picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.main-hero__picture {
  z-index: 0;
  margin: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}

.main-hero__picture::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 4, 5, 0.46) 0%, rgba(2, 4, 5, 0.14) 38%, rgba(2, 4, 5, 0) 78%);
}

.main-hero__picture img {
  object-fit: cover;
  object-position: center top;
}

.main-hero__content {
  --visual-hero-action-width: clamp(220px, 18vw, 280px);
  --visual-hero-column-gap: clamp(20px, 2.4vw, 30px);
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--visual-hero-action-width);
  justify-items: start;
  align-items: end;
  gap: var(--visual-hero-column-gap);
  width: min(1180px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
  margin: 0 auto;
  text-align: left;
  transform: none;
}

.main-hero__content::before {
  content: none;
}

.main-hero .visual-hero__copy-stack {
  display: contents;
}

.main-services,
.main-blog,
.main-testimonials {
  position: relative;
  overflow: hidden;
}

.testimonial-section.main-testimonials {
  padding-top: 0;
  padding-bottom: 0;
}

.main-services > *:not(.main-decor),
.main-blog > *:not(.main-decor),
.main-testimonials > *:not(.main-decor) {
  position: relative;
  z-index: 1;
}

.main-decor {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  perspective: 900px;
  transform-style: preserve-3d;
}

.main-decor > * {
  position: absolute;
  display: grid;
  place-items: center;
  transform-style: preserve-3d;
}

.main-decor__glyph {
  color: rgba(182, 255, 23, 0.28);
  font-size: clamp(52px, 5.6vw, 86px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}

.main-decor__glyph::before {
  content: attr(data-glyph);
}

.main-decor__glyph::after {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(182, 255, 23, 0.12), rgba(182, 255, 23, 0.04) 42%, transparent 70%);
  opacity: 0.48;
}

.main-decor__orb {
  width: clamp(64px, 6.4vw, 92px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(238, 245, 242, 0.18);
  background:
    radial-gradient(42% 34% at 32% 24%, rgba(255, 255, 255, 0.22), transparent 68%),
    radial-gradient(38% 28% at 28% 78%, rgba(182, 255, 23, 0.54), transparent 64%),
    radial-gradient(70% 84% at 70% 62%, rgba(182, 255, 23, 0.15), transparent 70%),
    rgba(238, 245, 242, 0.045);
}

.main-decor__orb::after {
  content: "";
  position: absolute;
  inset: auto -18% -18% -18%;
  height: 46%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(182, 255, 23, 0.3), transparent 68%);
  opacity: 0.76;
}

.main-decor__glyph--services-terminal {
  left: 1%;
  top: 66%;
  transform: translateZ(-35px) rotateX(3deg) rotateY(-3deg) rotate(-6deg) scale(0.58);
  opacity: 0.38;
}

.main-decor__glyph--services-terminal::after {
  inset: -12%;
  opacity: 0.32;
}

.main-decor__glyph--cases-hash {
  left: 3%;
  top: 34%;
  transform: translateZ(-50px) rotateX(5deg) rotateY(-5deg) rotate(-9deg) scale(0.62);
  opacity: 0.46;
}

.main-decor__glyph--blog-hash {
  left: 5%;
  bottom: 6%;
  transform: translateZ(-40px) rotateX(4deg) rotateY(-5deg) rotate(8deg) scale(0.6);
  opacity: 0.44;
}

.main-decor__glyph--blog-arrow {
  right: 4%;
  top: 10%;
  transform: translateZ(-60px) rotateX(-4deg) rotateY(5deg) rotate(-5deg) scale(0.66);
  opacity: 0.42;
}

.main-hero h1 {
  grid-column: 1 / -1;
  max-width: 1080px;
  margin: 0;
  font-size: var(--hero-title-size);
  line-height: 1.48;
  font-weight: 600;
  text-wrap: balance;
}

.main-hero__highlight {
  display: inline-block;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.main-hero__title-mark {
  padding: 0.045em 0.075em 0.055em;
  border-radius: var(--radius-btn-lg);
  background: linear-gradient(to bottom, transparent 0, transparent 0.055em, rgba(182, 255, 23, 0.9) 0.055em, rgba(182, 255, 23, 0.9) calc(100% - 0.055em), transparent calc(100% - 0.055em), transparent 100%);
  color: #071008;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.main-hero__title-mark .main-hero__highlight {
  color: inherit;
}

.main-hero__title-line {
  display: block;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}

.main-hero__title-line + .main-hero__title-line {
  margin-top: 0.08em;
}

.main-hero .lead {
  grid-column: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 64px;
  height: auto;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid rgba(238, 245, 242, 0.2);
  border-radius: 14px;
  background: rgba(7, 10, 11, 0.78);
  color: rgba(246, 248, 243, 0.88);
  font-size: var(--hero-lead-size);
  line-height: 1.4;
}

.main-hero__mobile-cta {
  grid-column: 2;
  justify-self: end;
  display: inline-flex;
  min-width: var(--visual-hero-action-width);
}

@media (min-width: 781px) {
  .main-hero .visual-hero__copy-stack {
    display: contents;
  }
}

@media (min-width: 1600px) {
  .main-hero h1 {
    max-width: 100%;
  }
}

.main-services {
  padding: 0;
}

.main-services__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 26px;
}

.main-services__head > div {
  display: grid;
  gap: clamp(18px, 2.2vw, 28px);
}

.main-services__head h2 {
  max-width: 760px;
  margin: 0;
}

#main-services-title {
  max-width: 900px;
}

.home-services-title__line {
  display: block;
}

@media (min-width: 761px) {
  .home-services-title__line {
    white-space: nowrap;
  }
}

.main-services__head p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.5;
}

.home-services__lead-panel,
.home-crm-services__lead {
  width: fit-content;
  max-width: 860px;
  padding: clamp(16px, 2vw, 22px) clamp(18px, 2.4vw, 28px);
  border: 1px solid rgba(238, 245, 242, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.045), transparent 52%),
    rgba(7, 10, 11, 0.82);
}

.main-services__head .home-services__lead-panel p,
.main-services__head .home-crm-services__lead p {
  max-width: 800px;
  color: rgba(246, 248, 243, 0.88);
}

.main-services__grid {
  scroll-margin-top: 126px;
}

.main-services__grid .service-card {
  min-width: 0;
}

.main-services__grid .service-card h3 {
  font-size: 27px;
}

.main-services__subhead {
  display: grid;
  gap: 14px;
  max-width: 760px;
  margin-top: clamp(32px, 5vw, 62px);
  margin-bottom: 20px;
}

.main-services__subhead h3 {
  margin: 0;
  font-size: clamp(27px, 3vw, 42px);
  line-height: var(--lh-heading);
  font-weight: 600;
}

.main-services__subhead p {
  max-width: 660px;
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.55;
}

.main-services__map {
  align-items: stretch;
}

.main-services__map .service-card {
  min-width: 0;
  min-height: 0;
}

.main-services__map .service-card h3 {
  font-size: clamp(20px, 1vw, 25px);
}

.main-services__map .service-card p {
  max-width: 270px;
}

.main-services__map .service-card__media {
  background:
    radial-gradient(circle at 60% 38%, rgba(182, 255, 23, 0.16), transparent 54%),
    rgba(6, 10, 11, 0.34);
}

.main-services__map .service-card__media > img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0;
}

.home-system {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.home-system__head p {
  max-width: 780px;
  margin-top: 14px;
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: 1.58;
}

.home-system__grid {
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-system-slider-shell {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.home-system-slider__dots {
  display: none;
}

.home-services-slider__dots {
  display: none;
}

.home-section-cta-mobile {
  display: none;
}

/* Reusable FAQ accordion primitives. */

.faq {
  display: grid;
  gap: 12px;
}

.faq-item {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-card);
  background: rgba(255, 255, 255, 0.04);
  overflow: hidden;
  transition:
    border-color 260ms ease,
    box-shadow 260ms ease,
    background-color 260ms ease;
}

.faq-question {
  width: 100%;
  min-height: 98px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  align-items: start;
  column-gap: 18px;
  border: 0;
  padding: 22px;
  background: transparent;
  color: var(--text);
  text-align: left;
  font-size: 17px;
  font-weight: 600;
  transition:
    color 260ms ease,
    padding 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-question > span:first-child {
  align-self: center;
  min-width: 0;
}

.faq-answer {
  max-height: 220px;
  padding: 0 22px 24px;
  color: var(--muted);
  line-height: 1.55;
  opacity: 1;
  transform: translateY(0);
  overflow: hidden;
  transition:
    max-height 420ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 420ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 240ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-item:not(.open) .faq-answer {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  transform: translateY(-6px);
}

.faq-question .btn {
  --btn-height: 54px;
  --btn-icon-size: 22px;
  align-self: start;
  justify-self: end;
  pointer-events: none;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-item.open {
  border-color: rgba(182, 255, 23, 0.6);
}

.faq-item.open .faq-question {
  padding-bottom: 12px;
  color: var(--lime);
}

.faq-item.open .faq-question .btn {
  transform: rotate(180deg);
}

.faq-item.open.reactive-panel {
  border-color: rgba(182, 255, 23, 0.56);
}

.home-system__grid .mini-card {
  min-height: 220px;
}

.home-system__grid .iconbox {
  --icon-box-size: 58px;
  --icon-box-glyph-size: 28px;
}

.home-faq {
  display: grid;
  gap: clamp(28px, 4vw, 52px);
}

.home-faq__head {
  display: grid;
  justify-items: center;
  gap: 16px;
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

.home-faq__head .eyebrow {
  justify-self: center;
}

.home-faq__head h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(34px, 4.8vw, 68px);
  line-height: 1.02;
  font-weight: 600;
  text-wrap: balance;
}

.home-faq__head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-body-lg);
  line-height: 1.55;
  text-wrap: balance;
}

.home-faq__panel {
  width: min(980px, 100%);
  margin: 0 auto;
}

.home-faq__list {
  gap: clamp(12px, 1.4vw, 18px);
}

.home-faq__list .faq-item {
  border-color: rgba(182, 255, 23, 0.18);
  background:
    radial-gradient(ellipse 32% 76% at 100% 100%, rgba(182, 255, 23, 0.055), transparent 70%),
    rgba(5, 8, 9, 0.62);
}

.home-faq__list .faq-item.open {
  border-color: rgba(182, 255, 23, 0.62);
  background:
    radial-gradient(ellipse 32% 72% at 100% 100%, rgba(182, 255, 23, 0.18), transparent 70%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012)),
    rgba(5, 8, 9, 0.78);
}

.home-faq__list .faq-answer p {
  margin: 0;
}

.main-blog {
  padding-top: 0;
  padding-bottom: 0;
  scroll-margin-top: 126px;
}

#cases.main-blog {
  padding-bottom: 0;
}

.main-blog .article-grid {
  align-items: start;
}

.main-blog .article-card {
  height: auto;
  min-height: 0;
}

.main-blog__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 26px;
}

.main-blog__head h2 {
  max-width: 760px;
  margin-top: 18px;
}

.main-blog__head .btn {
  flex: 0 0 auto;
}

.cases-section__lead {
  width: fit-content;
  max-width: 980px;
  margin-top: clamp(18px, 2vw, 26px);
  padding: clamp(14px, 1.5vw, 18px) clamp(16px, 1.8vw, 22px);
  border: 1px solid rgba(238, 245, 242, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 52%),
    rgba(7, 10, 11, 0.82);
}

.cases-section__lead p {
  max-width: none;
  margin: 0;
  color: rgba(246, 248, 243, 0.88);
  font-size: var(--fs-body);
  line-height: 1.55;
}

.cases-section__lead strong {
  color: var(--lime);
}

.main-blog__cta--mobile {
  display: none;
}

.main-blog__grid .article-visual > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: right top;
}

.case-mobile-slider-shell,
.blog-mobile-slider-shell {
  position: relative;
}

.case-mobile-slider__arrow,
.case-mobile-slider__dots,
.blog-mobile-slider__arrow,
.blog-mobile-slider__dots {
  display: none;
}

.main-hero__cta {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: clamp(40px, 3.8vw, 62px);
  width: min(1180px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
  padding: clamp(11px, 1.5vw, 14px) clamp(11px, 1.5vw, 17px);
  border-radius: var(--radius-lg);
  transform: translateX(-50%);
}

.main-hero .btn-primary {
  background: #b6ff17;
}

.main-hero .btn-primary::before,
.main-hero .btn-primary::after {
  content: none;
}

.main-hero__cta-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 6px 0 6px clamp(10px, 2vw, 20px);
}

.main-hero__cta-copy strong {
  position: relative;
  z-index: 1;
  color: #fff !important;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.35;
  font-weight: 600;
}

.main-hero__cta-copy span {
  position: relative;
  z-index: 1;
  max-width: 680px;
  color: rgba(246, 248, 243, 0.68);
  font-size: clamp(13px, 1.15vw, 15px);
  line-height: 1.45;
}

.main-hero__cta .btn {
  justify-self: end;
  min-width: 220px;
  margin-left: clamp(14px, 2vw, 24px);
  white-space: nowrap;
}

.footer-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: start;
  margin-top: clamp(18px, 3vw, 42px);
  margin-bottom: clamp(18px, 3vw, 34px);
  padding: clamp(24px, 4vw, 48px) 0;
}

.footer-contact::before {
  content: none;
}

.footer-contact::after {
  content: none;
}

.footer-contact > * {
  position: relative;
  z-index: 1;
}

.footer-contact__copy {
  display: grid;
  align-content: start;
  gap: clamp(44px, 5vw, 74px);
  padding-top: clamp(6px, 1.2vw, 18px);
}

.footer-contact__intro {
  display: grid;
  gap: clamp(22px, 2.4vw, 34px);
}

.footer-contact__copy h2 {
  max-width: 640px;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.08;
  font-weight: 600;
}

.footer-contact__copy p {
  max-width: 560px;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.55;
}

.footer-contact__copy .footer-contact__description {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid rgba(226, 255, 190, 0.2);
  border-radius: clamp(18px, 2vw, 24px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018)),
    rgba(6, 10, 10, 0.82);
  color: rgba(245, 248, 243, 0.86);
}

.footer-contact__form {
  display: grid;
  align-content: start;
  gap: 22px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.014)),
    rgba(7, 10, 10, 0.48);
}

.footer-contact__form.glass {
  border-color: rgba(182, 255, 23, 0.24);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.015)),
    rgba(7, 10, 10, 0.5);
}

.footer-contact__form h3 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.18;
}

.footer-contact__form .eyebrow {
  width: fit-content;
}

.footer-contact__form .form-panel {
  padding: 0;
}

.footer-contact__form .field {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(238, 245, 242, 0.16);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
    rgba(9, 14, 15, 0.32);
}

.footer-contact__form .field::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 74px;
  width: 1px;
  background: rgba(238, 245, 242, 0.14);
  pointer-events: none;
}

.footer-contact__form .field .icon {
  position: static;
  align-self: center;
  justify-self: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 0;
  margin-top: 0;
  padding: 0;
  color: rgba(246, 248, 243, 0.42);
  transform: none;
}

.footer-contact__form .field:has(input) {
  height: var(--control-height);
}

.footer-contact__form .field:has(textarea) .icon {
  align-self: start;
  margin-top: 24px;
}

.footer-contact__form .field input,
.footer-contact__form .field textarea {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.footer-contact__form .field input {
  padding: 0 22px;
}

.footer-contact__form .field textarea {
  padding: 22px 56px 36px 22px;
}

.footer-contact__form .field:focus-within {
  border-color: rgba(182, 255, 23, 0.58);
  background: rgba(182, 255, 23, 0.055);
}

.footer-contact__form .field:focus-within .icon {
  color: var(--lime);
}

.form-captcha {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.form-captcha__challenge {
  display: grid;
  grid-template-columns: minmax(126px, 180px) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  min-width: 0;
}

.form-captcha__image {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: var(--control-height);
  overflow: hidden;
  border: 1px solid rgba(238, 245, 242, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(246, 248, 243, 0.88);
}

.form-captcha__image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.footer-contact__form .form-captcha__field {
  height: var(--control-height);
}

.footer-contact__form .btn {
  width: 100%;
}

.contact-channel-label {
  color: rgba(246, 248, 243, 0.46);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 400;
}

.contact-channel-label span {
  display: block;
}

.contact-channel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(3, auto);
  align-items: center;
  gap: 14px;
}

.contact-channel__option {
  position: relative;
  display: inline-flex;
  min-width: 0;
  cursor: pointer;
}

.contact-channel__option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.contact-channel__control {
  --contact-plate-size: 74px;
  --plate-rim-1: #aeb8b4;
  --plate-rim-2: #7d8985;
  --plate-rim-3: #58635f;
  --plate-rim-4: #7d8985;
  --plate-rim-5: #aeb8b4;
  --plate-rim-glow-1: #aeb8b4;
  --plate-rim-glow-2: #7d8985;
  --plate-rim-opacity-1: .46;
  --plate-rim-opacity-2: .36;
  --plate-rim-opacity-3: .26;
  --plate-rim-opacity-4: .34;
  --plate-rim-opacity-5: .42;
  --plate-rim-glow-opacity-1: .06;
  --plate-rim-glow-opacity-2: .04;
  --plate-inner-rim-color: #aeb8b4;
  --plate-inner-rim-opacity: .16;
  position: relative;
  display: inline-grid;
  place-items: center;
  gap: 6px;
  color: rgba(246, 248, 243, 0.72);
  transition: color 160ms ease, transform 160ms ease;
}

.contact-channel__radio {
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 2;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(238, 245, 242, 0.34);
  border-radius: 50%;
  background: rgba(7, 11, 12, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.contact-channel__radio::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  margin: 3.5px;
  border-radius: 50%;
  background: var(--lime);
  opacity: 0;
  transform: scale(0.55);
  transition: opacity 160ms ease, transform 160ms ease;
}

.contact-channel__icon {
  position: relative;
  z-index: 1;
  width: var(--contact-plate-size);
  height: var(--contact-plate-size);
  display: grid;
  place-items: center;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  transition: transform 160ms ease;
}

body .contact-channel__icon {
  background: transparent !important;
  background-image: none !important;
}

.contact-channel__plate,
.contact-channel__plate > use {
  --plate-rim-1: inherit;
  --plate-rim-2: inherit;
  --plate-rim-3: inherit;
  --plate-rim-4: inherit;
  --plate-rim-5: inherit;
  --plate-rim-glow-1: inherit;
  --plate-rim-glow-2: inherit;
  --plate-corner-rim-color: inherit;
  --plate-corner-rim-opacity-1: inherit;
  --plate-corner-rim-opacity-2: inherit;
  --plate-corner-rim-opacity-3: inherit;
  --plate-rim-opacity-1: inherit;
  --plate-rim-opacity-2: inherit;
  --plate-rim-opacity-3: inherit;
  --plate-rim-opacity-4: inherit;
  --plate-rim-opacity-5: inherit;
  --plate-rim-glow-opacity-1: inherit;
  --plate-rim-glow-opacity-2: inherit;
  --plate-inner-rim-color: inherit;
  --plate-inner-rim-opacity: inherit;
}

.contact-channel__plate {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity 180ms ease;
}

.contact-channel__plate--on {
  opacity: 0;
}

.contact-channel__icon img {
  width: 30px;
  height: 30px;
  display: block;
  object-fit: contain;
  position: relative;
  z-index: 1;
  transform: translate(-2px, -1px);
}

.contact-channel__icon .icon {
  --icon-size: 30px;
  color: var(--lime);
  position: relative;
  z-index: 1;
  transform: translate(-2px, -1px);
}

.contact-channel__icon--max img {
  width: 34px;
  height: 34px;
  transform: translate(-3px, -1px);
}

.contact-channel__name {
  display: block;
  color: rgba(246, 248, 243, 0.48);
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  white-space: nowrap;
}

.contact-channel__control::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(50% + 14px);
  bottom: calc(100% + 10px);
  z-index: 4;
  padding: 7px 10px;
  border: 1px solid rgba(238, 245, 242, 0.14);
  border-radius: 10px;
  background: rgba(8, 10, 12, 0.92);
  color: var(--text);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.contact-channel__control::before {
  content: "";
  position: absolute;
  left: calc(50% + 14px);
  bottom: calc(100% + 4px);
  z-index: 4;
  width: 9px;
  height: 9px;
  background: rgba(8, 10, 12, 0.92);
  border-right: 1px solid rgba(238, 245, 242, 0.14);
  border-bottom: 1px solid rgba(238, 245, 242, 0.14);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px) rotate(45deg);
  transition: opacity 160ms ease, transform 160ms ease;
}

.contact-channel__option:hover .contact-channel__control::before,
.contact-channel__option:hover .contact-channel__control::after,
.contact-channel__option input:focus-visible + .contact-channel__control::before,
.contact-channel__option input:focus-visible + .contact-channel__control::after {
  opacity: 1;
  transform: translate(-50%, 0) rotate(45deg);
}

.contact-channel__option:hover .contact-channel__control::after,
.contact-channel__option input:focus-visible + .contact-channel__control::after {
  transform: translate(-50%, 0);
}

.contact-channel__option input:checked + .contact-channel__control {
  --plate-rim-1: #b6ff17;
  --plate-rim-2: #8fe812;
  --plate-rim-3: #b6ff17;
  --plate-rim-4: #8fe812;
  --plate-rim-5: #b6ff17;
  --plate-rim-glow-1: #8fe812;
  --plate-rim-glow-2: #b6ff17;
  --plate-rim-opacity-1: .74;
  --plate-rim-opacity-2: .68;
  --plate-rim-opacity-3: .54;
  --plate-rim-opacity-4: .62;
  --plate-rim-opacity-5: .7;
  --plate-rim-glow-opacity-1: .18;
  --plate-rim-glow-opacity-2: .14;
  --plate-inner-rim-color: #b6ff17;
  --plate-inner-rim-opacity: .18;
  color: var(--text);
}

.contact-channel__option input:checked + .contact-channel__control .contact-channel__name {
  color: var(--lime);
}

.contact-channel__option input:checked + .contact-channel__control .contact-channel__radio {
  border-color: rgba(182, 255, 23, 0.72);
  background: rgba(182, 255, 23, 0.12);
}

.contact-channel__option input:checked + .contact-channel__control .contact-channel__radio::after {
  opacity: 1;
  transform: scale(1);
}

.contact-channel__option input:checked + .contact-channel__control .contact-channel__plate--off {
  opacity: 0;
}

.contact-channel__option input:checked + .contact-channel__control .contact-channel__plate--on {
  opacity: 1;
}

.contact-channel__option:hover .contact-channel__icon {
  transform: translateY(-1px);
}

.contact-channel__option input:focus-visible + .contact-channel__control .contact-channel__icon {
  outline: 2px solid rgba(182, 255, 23, 0.62);
  outline-offset: 3px;
}

.footer-contact .choice-line a {
  color: var(--lime);
}

.footer-contact .choice-line > span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.footer-contact .choice-line a:hover {
}

body.project-modal-open {
  position: fixed;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

.project-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 48px);
  overflow-y: auto;
  background:
    radial-gradient(circle at 64% 58%, rgba(182, 255, 23, 0.16), transparent 28rem),
    rgba(0, 0, 0, 0.72);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease, visibility 220ms ease;
}

.project-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.project-modal__dialog {
  position: relative;
  width: min(470px, 100%);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateY(18px) scale(0.98);
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.project-modal.is-open .project-modal__dialog {
  transform: translateY(0) scale(1);
}

.project-modal__dialog::before {
  content: none;
}

.project-modal__dialog > * {
  position: relative;
  z-index: 1;
}

.project-modal__close {
  --icon-size: 24px;
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 48px;
  min-width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(238, 245, 242, 0.18);
  border-radius: 50%;
  background: rgba(238, 245, 242, 0.08);
  color: var(--text);
  transition: border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.project-modal__close:hover {
  border-color: rgba(182, 255, 23, 0.42);
  color: var(--lime);
}

.project-modal__form.footer-contact__form {
  width: 100%;
  gap: 16px;
  margin: 0 auto;
  padding: clamp(20px, 3vw, 28px);
  background:
    radial-gradient(circle at 88% 0%, rgba(182, 255, 23, 0.16), transparent 42%),
    radial-gradient(circle at 8% 100%, rgba(157, 132, 255, 0.1), transparent 44%),
    #070b0a;
}

.project-modal__title {
  max-width: 430px;
  margin: 0 auto;
  padding: 0 44px;
  font-size: clamp(30px, 3.4vw, 38px);
  line-height: 1.1;
  text-align: center;
}

.project-modal__lead {
  max-width: 410px;
  margin: -2px auto 4px;
  color: rgba(246, 248, 243, 0.84);
  font-size: 16px;
  line-height: 1.55;
  text-align: center;
}

.project-modal__form .form-panel {
  gap: 12px;
  padding: 0;
}

.project-modal__form .field {
  grid-template-columns: 64px minmax(0, 1fr);
}

.project-modal__form .field::before {
  left: 64px;
}

.project-modal__form .field input {
  height: 52px;
  min-height: 52px;
}

.project-modal__form .field textarea {
  min-height: 118px;
  padding-top: 18px;
}

.project-modal__form .field:has(textarea) .icon {
  margin-top: 21px;
}

.project-modal__form .contact-channel {
  gap: 10px;
}

.project-modal__form .contact-channel-label span {
  display: block;
}

.project-modal__form .contact-channel__icon {
  width: 56px;
  height: 56px;
}

.project-modal__form .choice-line a {
  color: var(--lime);
}

.project-modal__form .choice-line a:hover {
}

@media (max-width: 760px) {
  .project-modal {
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    background: #070b0a;
  }

  .project-modal__dialog {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .project-modal__close {
    position: fixed;
    top: max(12px, env(safe-area-inset-top, 0px));
    right: 12px;
    width: 42px;
    min-width: 42px;
    height: 42px;
  }

  .project-modal__form.footer-contact__form {
    min-height: 100dvh;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: stretch;
    gap: 16px;
    padding:
      max(52px, calc(env(safe-area-inset-top, 0px) + 40px))
      14px
      max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px));
    border: 0;
    border-radius: 0;
  }

  .project-modal__form > :last-child {
    display: grid;
    height: 100%;
    min-height: 0;
  }

  .project-modal__form > :last-child div:has(.form-panel) {
    display: grid;
    height: 100%;
    min-height: 0;
  }

  .project-modal__form .form-panel {
    min-height: 100%;
    align-content: space-between;
  }

  .project-modal__form.footer-contact__form::before {
    content: none;
  }

  .project-modal__title {
    padding: 0 44px;
    font-size: 30px;
  }

  .project-modal__lead {
    margin-bottom: 0;
    font-size: 15px;
  }

  .project-modal__form .contact-channel {
    grid-template-columns: minmax(0, 1fr) repeat(3, clamp(48px, 15vw, 64px));
    gap: clamp(6px, 2vw, 10px);
  }

  .project-modal__form .contact-channel-label {
    grid-column: auto;
    align-self: center;
    font-size: clamp(10px, 3vw, 13px);
    white-space: normal;
  }

  .project-modal__form .contact-channel-label span {
    display: block;
  }

  .project-modal__form .contact-channel__icon {
    width: clamp(44px, 12vw, 56px);
    height: clamp(44px, 12vw, 56px);
  }

  .project-modal__form .contact-channel__plate {
    display: none;
  }

  .project-modal__form .contact-channel__icon img {
    width: 38px;
    height: 38px;
    opacity: 0.62;
    transform: none;
    transition: opacity 160ms ease, filter 160ms ease;
  }

  .project-modal__form .contact-channel__icon--max img {
    width: 42px;
    height: 42px;
  }

  .project-modal__form .contact-channel__control {
    gap: 5px;
  }

  .project-modal__form .contact-channel__name {
    display: block;
    color: rgba(246, 248, 243, 0.48);
    font-size: 10px;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
  }

  .project-modal__form .contact-channel__option input:checked + .contact-channel__control .contact-channel__name {
    color: var(--lime);
  }

  .project-modal__form .contact-channel__option input:checked + .contact-channel__control .contact-channel__icon img {
    opacity: 1;
  }

  .project-modal__form .contact-channel__option input:focus-visible + .contact-channel__control .contact-channel__icon {
    outline: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-modal,
  .project-modal__dialog {
    transition: none;
  }
}

@media (min-width: 1181px) {
  .footer-contact {
    align-items: stretch;
  }

  .footer-contact__copy {
    min-height: 100%;
    grid-template-rows: auto auto;
    align-content: center;
    gap: clamp(38px, 4vw, 58px);
  }

  .footer-contact__intro {
    display: contents;
  }

  .footer-contact__copy h2 {
    align-self: start;
  }

  .main-hero__cta {
    bottom: clamp(28px, 3.2vw, 46px);
    width: min(960px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(20px, 3vw, 34px);
    padding: 10px 14px;
  }

  .main-hero__cta-copy {
    gap: 8px;
  }

  .main-hero__cta-copy strong {
    font-size: clamp(15px, 1.4vw, 18px);
  }

  .main-hero__cta-copy span {
    max-width: 560px;
    font-size: clamp(13px, 1.15vw, 15px);
  }

  .main-hero__cta .btn {
    min-width: 220px;
    font-size: 16px;
  }

  .main-services__grid .service-card--featured {
    padding: clamp(25px, 3vw, 25px);
    overflow: hidden;
  }

  .main-services,
  .main-services__grid {
    overflow: visible;
  }

  .main-services__grid .service-card__media > img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    border-radius: 0;
    object-position: top;
  }
}

.main-footer {
  margin-top: 0;
}

.main-footer-icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

@media (max-width: 1180px) {
  .service-card p,
  .main-services__grid .service-card h3 {
    max-width: 100%;
  }

  .footer-contact {
    grid-template-columns: 1fr;
  }

  .footer-contact__copy {
    align-content: start;
  }

  .main-hero__panel {
    --hero-panel-min-height: 720px;
    --hero-title-size: clamp(34px, 5.4vw, 58px);
    --hero-lead-size: clamp(15px, 1.9vw, 19px);
    --hero-copy-offset: clamp(-58px, -4.8vw, -28px);
  }

  .main-hero__cta {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .main-hero__cta .btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .main-decor__glyph {
    font-size: clamp(44px, 7vw, 70px);
  }

  .main-decor__glyph--cases-hash {
    top: 40%;
  }

}

@media (max-width: 1060px) {
  .grid.main-services__grid,
  .grid.main-services__map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .main-services__grid .service-card--featured {
    grid-template-columns: 1fr;
  }

  .main-services__map .service-card--compact.service-card {
    grid-template-columns: minmax(150px, 150px) minmax(0, 1fr);
  }

  .main-services__grid .service-card__media,
  .main-services__map .service-card__media {
    aspect-ratio: 1 / 1;
    max-height: max-content;
  }

  .main-services__grid .service-card__media > img,
  .main-services__map .service-card__media > img {
    max-width: 100%;
    max-height: 100%;
  }
}

@media (max-width: 780px) {
  .listing-page {
    padding-top: 104px;
  }

  .listing-hero__panel {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .listing-hero__actions .btn {
    width: 100%;
  }

  .footer-contact {
    gap: 26px;
    padding: 22px 0;
  }

  .footer-contact__copy h2 {
    font-size: clamp(32px, 10vw, 46px);
  }

  .footer-contact__form {
    padding: 20px;
    border-radius: var(--radius-lg);
  }

  .footer-contact__form .field {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .footer-contact__form .field::before {
    left: 52px;
  }

  .footer-contact__form .field .icon {
    width: 20px;
    min-width: 20px;
    height: 20px;
  }

  .footer-contact__form .field:has(textarea) .icon {
    margin-top: 22px;
  }

  .footer-contact__form .field input {
    padding: 0 16px;
  }

  .footer-contact__form .field textarea {
    padding: 20px 48px 34px 16px;
  }

  .footer-contact__form .field,
  .footer-contact__form .choice-line,
  .footer-contact__form .form-message,
  .form-captcha__image {
    border-radius: var(--radius-sm);
  }

  .footer-contact__form .btn {
    --btn-radius: var(--radius-sm);
  }

  .contact-channel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .contact-channel-label {
    grid-column: 1 / -1;
  }

  .contact-channel__option {
    width: 100%;
  }

  .contact-channel__control,
  .contact-channel__icon {
    width: 100%;
  }

  body::before {
    background: #12091e url("/assets/mobile-digital-bg-code-purple-accent.webp") center top / cover no-repeat;
  }

  body::after {
    background: linear-gradient(180deg, rgba(2, 5, 5, 0.12), rgba(1, 4, 4, 0.3));
  }

  .main-page,
  .main-footer {
    position: relative;
    z-index: 1;
  }

  .main-footer {
    width: min(1180px, calc(100% - var(--main-page-gutter) - var(--main-page-gutter)));
    margin-right: 0;
    margin-left: 0;
    padding-right: 14px;
    padding-left: 14px;
  }

  .main-header {
    position: fixed;
    top: 0;
    width: 100%;
    margin: 0;
    padding-top: 0;
    transform: translateY(0);
    transition: transform 220ms ease;
    will-change: transform;
  }

  .main-header.main-header--hidden {
    transform: translateY(-100%);
  }

  .main-header .topbar {
    position: relative;
    top: auto;
    min-height: 70px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 8px;
    width: 100%;
    margin: 0;
    padding: 10px 14px;
    border-left: 1px solid var(--glass-edge);
    border-right: 1px solid var(--glass-edge);
    border-bottom-left-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
  }

  .main-header .logo-image {
    width: 132px;
  }

  .main-header .header-burger {
    --icon-size: 21px;
    grid-column: 3;
    justify-self: end;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    border-radius: var(--radius-sm);
  }

  .main-header .header-mobile-socials {
    grid-column: 2;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .main-header .header-mobile-socials a {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(238, 245, 242, 0.16);
    border-radius: 11px;
    background: rgba(17, 23, 24, 0.82);
  }

  .main-header .header-mobile-socials img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
  }

  .main-header .header-phone {
    width: auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: 0;
    color: #fff;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
  }

  .main-header .header-phone__plus {
    color: var(--lime);
  }

  .main-header .header-phone:hover,
  .main-header .header-phone:focus-visible {
    border: 0;
    color: #fff;
    outline: 0;
  }

  .main-header .topbar > .btn-primary {
    margin-right: 0;
  }

  .main-hero__panel {
    --hero-title-size: clamp(28px, 8.6vw, 42px);
    --hero-lead-size: clamp(14px, 4.5vw, 18px);
    --hero-copy-offset: 0px;
    isolation: isolate;
    height: auto;
    min-height: 0;
    max-height: none;
    display: grid;
    grid-template-rows: auto;
    align-items: stretch;
    gap: 24px;
    padding: 0 18px 28px;
    background: linear-gradient(180deg, #060809 0%, rgba(6, 8, 9, 0.88) 62%, rgba(6, 8, 9, 0) 100%);
  }

  .main-hero__picture {
    top: 0;
    bottom: auto;
    height: clamp(220px, 57vw, 340px);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
  }

  .main-hero__picture img {
    object-fit: cover;
    object-position: center top;
  }

  .main-hero__content {
    position: relative;
    z-index: 3;
    grid-template-columns: 1fr;
    align-self: end;
    justify-content: stretch;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: clamp(180px, 40vw, 300px) 0 0;
    text-align: left;
    transform: none;
  }

  .main-hero h1 {
    grid-column: 1;
    font-size: clamp(18px, 5.45vw, 28px);
    line-height: 1.48;
  }

  .main-hero .lead {
    grid-column: 1;
    height: auto;
    padding: 11px 13px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.42;
  }

  .main-hero__mobile-cta {
    grid-column: 1;
    width: 100%;
    display: inline-flex;
    justify-content: center;
    margin-top: 2px;
  }

  .main-hero__cta {
    display: none;
  }

  .main-hero__cta-copy {
    align-self: center;
    gap: 8px;
    display: grid;
    padding: clamp(8px, 2.8vw, 12px) clamp(8px, 3.2vw, 14px) 0;
  }

  .main-hero__cta-copy strong {
    align-self: center;
    color: #fff !important;
    font-weight: 600;
  }

  .main-hero__cta-copy span {
    display: -webkit-box;
    max-width: none;
    overflow: hidden;
    color: rgba(246, 248, 243, 0.78);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .main-hero__cta .btn {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }

  .main-decor__glyph {
    font-size: clamp(34px, 14vw, 52px);
  }

  .main-decor__glyph--services-terminal {
    left: 4%;
    top: 72%;
    bottom: auto;
  }

  .main-decor__glyph--cases-hash {
    left: 5%;
    top: 44%;
  }

  .main-decor__glyph--blog-hash {
    left: 8%;
    bottom: 4%;
  }

  .main-decor__glyph--blog-arrow {
    right: 8%;
    top: 8%;
  }

  .main-services__head {
    display: grid;
    align-items: start;
  }

  .home-system__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .main-blog__head {
    display: grid;
    align-items: start;
  }

  .main-blog__head .btn {
    width: 100%;
  }
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .home-section-cta-mobile {
    display: block;
    width: 100%;
    margin-top: 22px;
  }

  .home-section-cta-mobile > .btn {
    width: 100%;
    justify-content: center;
  }

  .footer-contact__form .form-captcha__field {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-contact__form .form-captcha__field::before,
  .footer-contact__form .form-captcha__field > .icon {
    display: none;
  }

  .content-shell.footer.main-footer {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding:
      34px
      max(20px, var(--main-page-gutter))
      max(38px, calc(env(safe-area-inset-bottom, 0px) + 28px));
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .main-footer__brand-main {
    gap: 22px;
  }

  .main-footer__brand-main p {
    max-width: none;
    font-size: 16px;
    line-height: 1.65;
  }

  .main-footer__contacts {
    margin-top: 30px;
  }

  .main-footer__menus {
    gap: 36px;
    margin-top: 38px;
  }

  .main-footer .footer-group {
    width: 100%;
  }

  .main-footer .footer-title {
    margin-bottom: 12px;
    color: var(--lime);
    font-size: 18px;
    line-height: 1.3;
  }

  .main-footer .footer-links,
  .main-footer .footer-links__column,
  .main-footer__contacts .footer-links {
    gap: 0;
  }

  .main-footer .footer-links a {
    min-height: 52px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(238, 245, 242, 0.09);
    font-size: 16px;
    line-height: 1.4;
  }

  .main-footer .footer-links a:last-child {
    border-bottom: 0;
  }

  .main-footer .footer-links .icon {
    --icon-size: 18px;
    margin-left: 12px;
  }

  .main-footer__contacts .footer-links a {
    min-height: 52px;
  }

  .main-footer__contacts .footer-links a span {
    gap: 12px;
  }

  .main-footer__contacts .main-footer-icon {
    --icon-size: 24px;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
  }

  .main-footer__copyright {
    width: 100%;
    padding-inline: 20px;
    color: var(--lime);
    font-size: 13px;
    line-height: 1.5;
  }

  .main-services {
    padding-top: 20px;
    padding-right: 0;
    padding-left: 0;
  }

  .grid.main-services__grid,
  .grid.main-services__map,
  .grid.main-blog__grid {
    grid-template-columns: 1fr;
  }

  .services-list-slider--ready .services-list-slider__track.slick-initialized {
    display: block;
  }

  .services-list-slider--ready .services-list-slider__track .slick-list {
    width: auto;
    min-width: 0;
    margin: 0 -6px;
    overflow: hidden;
  }

  .services-list-slider--ready .services-list-slider__track .slick-track {
    display: flex;
    align-items: stretch;
  }

  .services-list-slider--ready .services-list-slider__track .slick-slide {
    height: auto;
    margin: 0 6px;
  }

  .services-list-slider--ready .services-list-slider__track .slick-slide.service-card {
    display: grid;
  }

  .services-list-slider--ready .services-list-slider__dots {
    min-height: 18px;
    margin-top: 18px;
    display: flex;
    justify-content: center;
  }

  .main-services__map .service-card--compact.service-card {
    min-height: clamp(300px, 88vw, 370px);
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    padding: clamp(22px, 6.5vw, 30px);
    transform: none;
    transition: none;
    will-change: auto;
    background: #0a0e0f;
  }

  .main-services__grid .service-card--featured {
    min-height: clamp(300px, 88vw, 370px);
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    padding: clamp(22px, 6.5vw, 30px);
    transform: none;
    transition: none;
    will-change: auto;
    background: #0a0e0f;
  }

  .main-services__grid .service-card::before,
  .main-services__grid .service-card::after,
  .main-services__map .service-card::before,
  .main-services__map .service-card::after {
    content: none;
  }

  .main-services__grid .service-card__content,
  .main-services__map .service-card__content {
    height: auto;
    justify-content: end;
    gap: 16px;
  }

  .main-services__grid .service-card__media,
  .main-services__map .service-card__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    border-radius: inherit;
  }

  .main-services__grid .service-card__media::after,
  .main-services__map .service-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(3, 5, 6, 0.52) 0%, rgba(3, 5, 6, 0.74) 42%, rgba(3, 5, 6, 0.97) 100%),
      linear-gradient(90deg, rgba(3, 5, 6, 0.56), transparent 72%);
    pointer-events: none;
  }

  .main-services__grid .service-card__media > img,
  .main-services__map .service-card__media > img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border-radius: inherit;
  }

  .main-services__grid .service-card p,
  .main-services__map .service-card p {
    max-width: none;
    color: rgba(246, 248, 243, 0.76);
    font-size: 15px;
  }

  .main-services__map .service-card--compact h3::after {
    width: 64px;
    margin-top: 18px;
  }

  .main-services__grid .service-card .btn,
  .main-services__map .service-card .btn {
    min-height: 44px;
    display: inline-flex;
    align-self: flex-start;
    margin-top: 2px;
    padding: 0 18px;
    background: rgba(3, 5, 6, 0.72);
    border-color: rgba(238, 245, 242, 0.28);
  }

  .home-system__grid {
    grid-template-columns: 1fr;
  }

  .home-system__grid.slick-initialized {
    display: block;
  }

  .home-system__grid .slick-list {
    width: auto;
    min-width: 0;
    margin: 0 -6px;
    overflow: hidden;
  }

  .home-system__grid .slick-track {
    display: flex;
    align-items: stretch;
  }

  .home-system__grid .slick-slide {
    height: auto;
    margin: 0 6px;
  }

  .home-system__grid .slick-slide.mini-card {
    display: block;
  }

  .home-system-slider-shell.home-system-slider--ready .home-system-slider__dots {
    min-height: 18px;
    margin-top: 18px;
    display: flex;
    justify-content: center;
  }

  .case-mobile-slider-shell,
  .blog-mobile-slider-shell {
    --article-slide-gap: 10px;
    --testimonial-arrow-size: 52px;
    --testimonial-dots-block: 42px;
    margin-top: 0;
  }

  .case-mobile-slider__viewport,
  .blog-mobile-slider__viewport {
    position: relative;
    width: min(100%, calc(100vw - var(--main-page-gutter) - var(--main-page-gutter)));
    margin: 0 auto;
  }

  .case-mobile-slider__viewport,
  .blog-mobile-slider__viewport {
    width: 100%;
  }

  .case-mobile-slider .main-blog__grid.slick-initialized,
  .blog-mobile-slider .main-blog__grid.slick-initialized {
    display: block;
  }

  .case-mobile-slider .slick-list,
  .blog-mobile-slider .slick-list {
    margin: 0 calc(-1 * var(--article-slide-gap));
    overflow: hidden;
  }

  .case-mobile-slider .slick-track,
  .blog-mobile-slider .slick-track {
    display: flex;
    align-items: stretch;
  }

  .case-mobile-slider .slick-slide,
  .blog-mobile-slider .slick-slide {
    height: auto;
  }

  .case-mobile-slider .article-card,
  .blog-mobile-slider .article-card {
    height: auto;
    min-height: auto;
  }

  .case-mobile-slider .article-card,
  .blog-mobile-slider .article-card {
    --article-card-mobile-outer-radius: var(--radius-lg);
    --article-card-mobile-inner-radius: var(--radius-sm);
    border-radius: var(--article-card-mobile-outer-radius);
    transform: none;
    transition: none;
    will-change: auto;
    background: #0a0e0f;
  }

  .case-mobile-slider .article-visual,
  .blog-mobile-slider .article-visual {
    border-radius: var(--article-card-mobile-inner-radius);
    transition: none;
  }

  .case-mobile-slider .slick-slide.article-card,
  .blog-mobile-slider .slick-slide.article-card {
    display: flex;
    margin: 0 var(--article-slide-gap);
  }

  .case-mobile-slider .slick-slide:not(.article-card) > div,
  .blog-mobile-slider .slick-slide:not(.article-card) > div {
    height: auto;
  }

  .case-mobile-slider .article-card > .btn,
  .blog-mobile-slider .article-card > .btn {
    display: none;
  }

  .case-mobile-slider-shell.case-mobile-slider--ready .case-mobile-slider__dots,
  .blog-mobile-slider-shell.blog-mobile-slider--ready .blog-mobile-slider__dots {
    min-height: 18px;
    margin-top: 18px;
    display: flex;
    justify-content: center;
  }

  .case-mobile-slider-shell + .main-blog__cta--mobile,
  .blog-mobile-slider-shell + .main-blog__cta--mobile {
    margin-top: 26px;
  }

  .main-blog__head .main-blog__cta--head {
    display: none;
  }

  .main-blog__cta--mobile {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    margin-top: 18px;
  }

  .main-services__grid .service-card h3,
  .main-services__map .service-card h3 {
    font-size: 22px;
  }

  .main-page .eyebrow {
    width: fit-content;
    margin-inline: auto;
    justify-self: center;
  }

  .main-page :is(
    .main-services__head,
    .main-blog__head,
    .testimonial-section__head
  ) {
    justify-items: center;
  }

  .main-page :is(
    .main-services__head,
    .main-blog__head
  ) > div {
    justify-items: center;
    text-align: center;
  }

  .main-page :is(
    .main-services__head,
    .main-blog__head,
    .testimonial-section__head,
    .footer-seo__head,
    .footer-contact__intro
  ) h2 {
    margin-inline: auto;
    text-align: center;
  }

  .main-page .testimonial-section__head {
    text-align: center;
  }

  .main-testimonials .testimonial-section__head > .eyebrow,
  .main-testimonials > .testimonial-slider__controls,
  .main-testimonials > .testimonial-slider__cta,
  .site-reviews .site-reviews__title-copy > .eyebrow,
  .site-reviews .site-reviews__arrow {
    display: none;
  }
}

/* Privacy consent shell. */
.privacy-consent {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  left: max(18px, env(safe-area-inset-left));
  z-index: 120;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.privacy-consent[hidden] {
  display: none !important;
}

.privacy-consent__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  width: min(920px, 100%);
  padding: 18px 20px;
  border-radius: 26px;
  pointer-events: auto;
}

.privacy-consent__text {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.privacy-consent__text strong {
  color: var(--text);
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.25;
}

.privacy-consent__text span {
  color: var(--muted);
  font-size: var(--fs-body-sm);
  line-height: 1.45;
}

.privacy-consent__text a {
  color: var(--lime);
  text-decoration: none;
}

.privacy-consent__text a:hover {
  color: var(--lime-strong);
}

.privacy-consent__button {
  min-width: 132px;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .privacy-consent {
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12px;
  }

  .privacy-consent__panel {
    grid-template-columns: 1fr;
    padding: 16px;
    border-radius: 22px;
  }

  .privacy-consent__button {
    width: 100%;
  }
}

/* Standalone contacts page. */
.contacts-body {
  background: #02070a;
}

.contacts-body::before {
  background: url("/assets/contacts-bg.webp") center top / cover no-repeat;
}

.contacts-body::after {
  background:
    linear-gradient(180deg, rgba(2, 7, 14, .54) 0%, rgba(2, 7, 14, .82) 58%, rgba(2, 7, 14, .94) 100%),
    radial-gradient(circle at 12% 42%, rgba(165, 255, 28, .14), transparent 30%),
    rgba(1, 3, 4, .32);
}

.contacts-page {
  --contacts-layout-gap: clamp(28px, 4vw, 64px);
  --page-section-gap: var(--contacts-layout-gap);
  gap: var(--contacts-layout-gap);
  min-height: 100vh;
  padding-top: clamp(176px, 13vw, 220px);
  padding-bottom: clamp(40px, 7vw, 90px);
}

.contacts-hero {
  display: grid;
  grid-template-columns: minmax(320px, 440px) minmax(420px, 1fr);
  gap: var(--contacts-layout-gap);
  align-items: stretch;
  padding-top: 0;
}

.contacts-hero__copy {
  display: grid;
  gap: clamp(22px, 2.5vw, 32px);
  height: 100%;
}

.contacts-hero h1 {
  margin: 0;
  max-width: 600px;
  font-size: var(--fs-h1);
  line-height: .98;
  font-weight: 600;
}

.contacts-hero .lead {
  max-width: 510px;
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-body-lg);
  line-height: 1.65;
}

.contacts-methods {
  display: grid;
  gap: 10px;
  align-self: end;
  max-width: 440px;
  margin-top: auto;
}

.contacts-method {
  display: grid;
  grid-template-columns: 54px 1fr 22px;
  gap: 16px;
  align-items: center;
  min-height: 84px;
  padding: 14px 18px;
  color: inherit;
  text-decoration: none;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .13);
}

.contacts-method .iconbox {
  width: 54px;
  height: 54px;
}

.contacts-method__content {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.contacts-method__content strong {
  font-size: var(--fs-body);
  font-weight: 600;
}

.contacts-method__content span {
  color: var(--text-muted);
  font-size: var(--fs-body-sm);
}

.contacts-method__arrow {
  color: var(--accent);
}

.contacts-method--static {
  grid-template-columns: 54px 1fr;
}

.contacts-direct {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 22px);
  margin-top: 0;
}

.contacts-direct .contacts-method {
  max-width: none;
  min-height: 96px;
}

.contacts-office {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  min-height: clamp(360px, 38vw, 480px);
  overflow: hidden;
  border: 1px solid rgba(238, 245, 242, .18);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(31, 36, 38, .82), rgba(7, 12, 13, .92));
}

.contacts-office__content {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: clamp(24px, 3vw, 34px);
  padding: clamp(28px, 4vw, 48px);
  background:
    radial-gradient(90% 70% at 0 100%, rgba(182, 255, 23, .11), transparent 72%);
}

.contacts-office__copy {
  display: grid;
  gap: 18px;
}

.contacts-office__copy h2 {
  margin: 0;
  font-size: var(--fs-h2);
  line-height: 1.12;
  font-weight: 600;
}

.contacts-office__copy address {
  margin: 0;
  color: rgba(246, 248, 243, .72);
  font-size: var(--fs-body-lg);
  font-style: normal;
  line-height: 1.6;
}

.contacts-office__route {
  width: fit-content;
}

.contacts-office__map {
  min-height: 100%;
  overflow: hidden;
  border-left: 1px solid rgba(238, 245, 242, .14);
  background: rgba(7, 12, 13, .72);
}

.contacts-office__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 38vw, 480px);
  border: 0;
}

.contacts-requisites {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 3vw, 36px);
}

.contacts-requisites__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.contacts-requisites__grid--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 720px;
}

.contacts-requisites__card {
  display: grid;
  align-content: start;
  grid-template-rows: auto 1fr;
  gap: clamp(28px, 3vw, 40px);
  padding: clamp(24px, 3.5vw, 42px);
  border: 1px solid rgba(238, 245, 242, .18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(72% 90% at 100% 100%, rgba(182, 255, 23, .1), transparent 72%),
    linear-gradient(145deg, rgba(31, 36, 38, .78), rgba(7, 12, 13, .88));
}

.contacts-requisites__bank {
  display: grid;
  align-content: start;
  gap: 22px;
  padding-top: clamp(28px, 3vw, 40px);
  border-top: 1px solid rgba(238, 245, 242, .14);
}

.contacts-requisites__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px clamp(22px, 3vw, 40px);
  margin: 0;
}

.contacts-requisites__item {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.contacts-requisites__item--wide {
  grid-column: 1 / -1;
}

.contacts-requisites__item dt {
  color: rgba(246, 248, 243, .56);
  font-size: var(--fs-body-sm);
  line-height: 1.4;
}

.contacts-requisites__item dd {
  margin: 0;
  color: var(--text);
  font-size: var(--fs-body);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.contacts-requisites__bank h3 {
  margin: 0;
  font-size: var(--fs-h4);
  line-height: 1.22;
  font-weight: 600;
}

.contacts-form-card {
  position: relative;
  overflow: hidden;
  display: grid;
  align-self: stretch;
  gap: 26px;
  padding: clamp(34px, 4.8vw, 54px);
  border-radius: 24px;
  border-color: rgba(255, 255, 255, .24);
}

.contacts-form-card::after {
  content: "";
  position: absolute;
  inset: -30%;
  pointer-events: none;
  background:
    radial-gradient(circle at 92% 12%, rgba(165, 255, 28, .22), transparent 28%),
    radial-gradient(circle at 16% 110%, rgba(143, 116, 255, .13), transparent 32%);
  opacity: .82;
}

.contacts-form-card > * {
  position: relative;
  z-index: 1;
}

.contacts-form-card h3 {
  margin: 0;
}

.contacts-seo-section {
  display: grid;
  gap: clamp(24px, 3vw, 36px);
}

.contacts-section-head {
  display: grid;
  gap: clamp(12px, 1.6vw, 18px);
  max-width: 840px;
}

.contacts-section-head .eyebrow {
  width: fit-content;
  max-width: 100%;
  justify-self: start;
}

.contacts-section-head h2 {
  max-width: 760px;
  margin: 0;
  font-size: var(--fs-h2);
  line-height: 1.16;
  font-weight: 600;
}

.contacts-section-head p {
  max-width: 790px;
  margin: 0;
  color: rgba(246, 248, 243, 0.7);
  font-size: var(--fs-body-lg);
  line-height: 1.55;
}

.contacts-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

.contacts-info-card {
  position: relative;
  --mask-center: 0.54;
  --mask-mid: 0.64;
  --mask-edge: 0.74;
  --glint-size: 170px;
  --glint-near-size: 138px;
  --glint-strength: 0.72;
  --glint-border: 1px;
  min-height: 236px;
  display: grid;
  align-content: start;
  gap: 16px;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(22px, 2.6vw, 30px);
  border: 1px solid rgba(238, 245, 242, 0.18);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(72% 58% at 8% -8%, rgba(255, 255, 255, 0.18), rgba(238, 246, 255, 0.06) 38%, transparent 68%),
    radial-gradient(84% 64% at 102% 98%, rgba(182, 255, 23, 0.15), rgba(182, 255, 23, 0.052) 42%, transparent 72%),
    radial-gradient(82% 62% at 48% 112%, rgba(188, 146, 255, 0.14), rgba(157, 132, 255, 0.052) 44%, transparent 72%),
    linear-gradient(145deg, rgba(31, 36, 38, 0.82), rgba(9, 14, 15, 0.9) 54%, rgba(7, 12, 13, 0.84));
}

.contacts-info-card > * {
  position: relative;
  z-index: 1;
}

.contacts-info-card .iconbox {
  color: var(--lime);
}

.contacts-info-card h3 {
  margin: 8px 0 0;
  font-size: var(--fs-h4);
  line-height: 1.22;
  font-weight: 600;
}

.contacts-info-card p {
  margin: 0;
  color: rgba(246, 248, 243, 0.66);
  font-size: var(--fs-body);
  line-height: 1.55;
}

.contacts-info-card__step {
  --icon-box-size: 54px;
  --icon-box-glyph-size: 24px;
  width: var(--icon-box-size);
  height: var(--icon-box-size);
  margin-bottom: 10px;
}

.contacts-page {
  position: relative;
  padding-top: 0;
}

.contacts-page > .breadcrumbs {
  display: none;
}

.contacts-page .contacts-visual-hero {
  position: relative;
  left: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: min(900px, 100svh);
  min-height: 720px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  margin-left: 0;
  padding: clamp(132px, 8vw, 156px) var(--main-page-gutter) clamp(68px, 7vh, 104px);
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(180deg, rgba(2, 4, 5, .64) 0%, rgba(2, 4, 5, .28) 42%, rgba(2, 4, 5, 0) 100%);
}

.contacts-visual-hero__picture,
.contacts-visual-hero__picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.contacts-visual-hero__picture {
  z-index: -1;
  margin: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}

.contacts-visual-hero__picture::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 4, 5, .46) 0%, rgba(2, 4, 5, .14) 38%, rgba(2, 4, 5, 0) 78%);
}

.contacts-visual-hero__picture img {
  display: block;
  object-fit: cover;
  object-position: center center;
}

.contacts-visual-hero__content {
  --contacts-hero-action-width: clamp(220px, 18vw, 280px);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--contacts-hero-action-width);
  align-items: end;
  gap: clamp(20px, 2.4vw, 30px);
  width: min(1180px, 100%);
  margin: 0 auto;
}

.contacts-visual-hero .contacts-hero__copy {
  display: flex;
  flex-direction: column;
  align-self: end;
  gap: 18px;
  width: 100%;
  min-width: 0;
}

.contacts-visual-hero h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #071008;
  font-size: clamp(38px, 4.25vw, 64px);
  line-height: 1.48;
  font-weight: 600;
  text-wrap: balance;
}

.contacts-visual-hero__title-mark {
  padding: .045em .075em .055em;
  border-radius: var(--radius-btn-lg);
  background: linear-gradient(to bottom, transparent 0, transparent .055em, rgba(182, 255, 23, .9) .055em, rgba(182, 255, 23, .9) calc(100% - .055em), transparent calc(100% - .055em), transparent 100%);
  color: #071008;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media (min-width: 761px) {
  .main-hero__title-mark,
  .contacts-visual-hero__title-mark {
    background: rgba(182, 255, 23, .9);
  }
}

.contacts-visual-hero .lead {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 64px;
  height: auto;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid rgba(238, 245, 242, .2);
  border-radius: 14px;
  background: rgba(7, 10, 11, .78);
  color: rgba(246, 248, 243, .88);
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.4;
}

.contacts-visual-hero__socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.contacts-visual-hero__socials a {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(238, 245, 242, .24);
  border-radius: 18px;
  background: rgba(8, 12, 13, .82);
  color: var(--lime);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.contacts-visual-hero__socials a:hover {
  border-color: rgba(182, 255, 23, .64);
  background: rgba(20, 29, 18, .92);
  transform: translateY(-2px);
}

.contacts-visual-hero__socials .icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

@media (max-width: 1100px) {
  .contacts-page .contacts-visual-hero {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contacts-hero {
    grid-template-columns: minmax(300px, 0.92fr) minmax(360px, 1.08fr);
    gap: var(--contacts-layout-gap);
  }

  .contacts-methods {
    max-width: none;
  }

  .contacts-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contacts-direct {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .contacts-page {
    gap: 28px;
    padding-top: 0;
  }

  .contacts-hero {
    padding-top: 0;
  }

  .contacts-requisites__grid {
    grid-template-columns: 1fr;
  }

  .contacts-office {
    grid-template-columns: 1fr;
  }

  .contacts-office__content {
    align-content: start;
  }

  .contacts-office__map {
    min-height: 380px;
    border-top: 1px solid rgba(238, 245, 242, .14);
    border-left: 0;
  }

  .contacts-office__map iframe {
    min-height: 380px;
  }

}

@media (max-width: 760px) {
  .contacts-page > .breadcrumbs {
    display: none;
  }

  .contacts-page .contacts-visual-hero {
    left: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    margin-left: 0;
    padding: 112px 18px 28px;
  }

  .contacts-visual-hero__picture {
    top: 0;
    bottom: auto;
    height: clamp(230px, 70vw, 320px);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
  }

  .contacts-visual-hero__picture img {
    top: 68px;
    bottom: 0;
    height: calc(100% - 68px);
    object-position: center center;
  }

  .contacts-visual-hero__content {
    grid-template-columns: 1fr;
    align-items: end;
    gap: 14px;
    width: 100%;
    padding-top: clamp(84px, 26vw, 126px);
  }

  .contacts-visual-hero .contacts-hero__copy {
    gap: 8px;
  }

  .contacts-visual-hero h1 {
    font-size: clamp(28px, 8.6vw, 42px);
    line-height: 1.48;
  }

  .contacts-visual-hero .lead {
    min-height: 0;
    padding: 11px 13px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.42;
  }

  .contacts-visual-hero__socials {
    justify-content: flex-start;
  }

  .contacts-visual-hero__socials a {
    width: 54px;
    height: 54px;
    border-radius: 15px;
  }

  .contacts-hero {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 28px;
  }

  .contacts-hero h1 {
    font-size: var(--fs-h1);
  }

  .contacts-methods {
    grid-template-columns: 1fr;
  }

  .contacts-info-grid {
    grid-template-columns: 1fr;
  }

  .contacts-direct {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .contacts-requisites__list {
    grid-template-columns: 1fr;
  }

  .contacts-requisites__item--wide {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .contacts-office__map,
  .contacts-office__map iframe {
    min-height: 320px;
  }

  .contacts-hero h1 {
    font-size: var(--fs-h1);
  }

  .contacts-method {
    min-height: 78px;
    grid-template-columns: 50px 1fr 20px;
    padding: 12px 14px;
  }

  .contacts-method--static {
    grid-template-columns: 50px 1fr;
  }

  .contacts-form-card {
    padding: 26px 18px;
    border-radius: 22px;
  }

  .contacts-section-head p {
    font-size: var(--fs-body);
  }

  .contacts-info-card {
    min-height: auto;
    padding: 22px 18px;
  }

}

/* Standalone agreement page. */
.legal-page-head {
  display: grid;
  gap: 16px;
  margin-top: clamp(24px, 3vw, 42px);
}

.legal-page-head h1 {
  max-width: 920px;
  margin: 0;
  color: var(--text);
  font-size: var(--fs-h1);
  line-height: var(--lh-heading);
  font-weight: 600;
}

.legal-page-head p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
}

.legal-page-head a,
.legal-document a {
  color: var(--lime);
  text-decoration: none;
}

.legal-page-head a:hover,
.legal-document a:hover {
  color: var(--lime-strong);
}

.legal-page-head__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.legal-page-head__meta span {
  padding: 9px 13px;
  border: 1px solid rgba(238, 245, 242, 0.12);
  border-radius: 999px;
  background: rgba(238, 245, 242, 0.045);
  color: var(--text);
  font-size: var(--fs-body-sm);
  line-height: 1.2;
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(18px, 2.4vw, 30px);
  align-items: start;
  margin-top: clamp(20px, 3vw, 34px);
}

.legal-toc {
  position: sticky;
  top: 120px;
  display: grid;
  gap: 18px;
  padding: 24px;
  border-radius: 28px;
}

.legal-toc h2 {
  margin: 0;
  color: var(--text);
  font-size: var(--fs-h4);
  font-weight: 600;
}

.legal-toc nav {
  display: grid;
  gap: 10px;
}

.legal-toc a {
  color: var(--muted);
  font-size: var(--fs-body-sm);
  line-height: 1.35;
  text-decoration: none;
}

.legal-toc a:hover {
  color: var(--lime);
}

.legal-document {
  display: grid;
  gap: clamp(28px, 4vw, 46px);
  padding: clamp(28px, 4vw, 56px);
  border-radius: var(--radius-lg);
  color: var(--muted);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

.legal-document section {
  display: grid;
  gap: 14px;
  scroll-margin-top: 130px;
}

.legal-document h2 {
  margin: 0 0 2px;
  color: var(--text);
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  font-weight: 600;
}

.legal-document p,
.legal-document ul,
.legal-details {
  margin: 0;
}

.legal-document strong {
  color: var(--text);
  font-weight: 600;
}

.legal-document ul {
  display: grid;
  gap: 9px;
  padding-left: 22px;
}

.legal-document li::marker {
  color: var(--lime);
}

.legal-details {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(238, 245, 242, 0.1);
  border-radius: 20px;
}

.legal-details div {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(238, 245, 242, 0.08);
}

.legal-details div:last-child {
  border-bottom: 0;
}

.legal-details dt {
  color: var(--muted);
  font-size: var(--fs-body-sm);
}

.legal-details dd {
  margin: 0;
  color: var(--text);
}

@media (max-width: 980px) {
  .legal-layout {
    grid-template-columns: 1fr;
  }

  .legal-toc {
    position: static;
  }

  .legal-toc nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .legal-document {
    border-radius: 28px;
  }

  .legal-toc nav,
  .legal-details div {
    grid-template-columns: 1fr;
  }
}

/* Standalone skeleton and 404 page. */
/* Utility styles for agreement and 404 pages. */

.skeleton-header {
  position: sticky;
  top: -36px;
  z-index: 30;
  padding-top: 36px;
}

.skeleton-main {
  padding-top: 170px;
}

.skeleton-content {
  margin-top: clamp(18px, 2.5vw, 30px);
}

.error-404-content {
  box-sizing: border-box;
  margin-top: 0 !important;
  padding-top: clamp(124px, 12vw, 170px);
}

.agreement-page > .breadcrumbs + .skeleton-content {
  margin-top: clamp(28px, 3vw, 42px) !important;
  padding-top: 0;
}

.skeleton-panel {
  padding: clamp(28px, 4vw, 56px);
  border-radius: var(--radius-lg);
}

.skeleton-panel .rich-text {
  max-width: 840px;
}

.skeleton-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.skeleton-footer-icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

@media (max-width: 720px) {
  .skeleton-header {
    top: -18px;
    padding-top: 18px;
  }

  .skeleton-actions {
    align-items: stretch;
  }

  .skeleton-actions .btn:not(.btn-icon):not(.btn-square) {
    width: 100%;
  }
}

/* Mobile and tablet performance overrides. Keep this section last. */
/*
 * Flat rendering mode for phones and tablets.
 *
 * Keep expensive desktop glass/compositing effects out of the scroll path:
 * opaque surfaces, no backdrop blur, masks, blended glows or painted shadows.
 */
@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  :root {
    --surface: #0b1011;
    --surface-strong: #111718;
    --surface-soft: #111617;
    --panel-bg: #0b1011;
    --panel-shadow: none;
    --panel-blur: none;
    --shadow-lime: none;
    --shadow-panel: none;
  }

  body {
    background: linear-gradient(180deg, #070a0b 0%, #020303 100%);
    background-attachment: scroll;
  }

  body::before,
  body::after {
    content: none !important;
  }

  .admin-template-settings {
    display: none !important;
  }

  :where(body, body *) {
  }

  :where(body *::before, body *::after) {
  }

  :where(
    .glass,
    .reactive-panel,
    [class$="-card"],
    [class*="-card "],
    [class$="-panel"],
    [class*="-panel "],
    [class$="-tile"],
    [class*="-tile "],
    .faq-item,
    .services-hero__facts,
    .services-cta,
    .case-linked-gallery__viewport,
    .case-app-slider__viewport,
    .blog-article-nav,
    .contacts-requisites__card,
    .mobile-menu__shell
  ) {
    --panel-bg: #0b1011;
    --panel-blur: none;
    --panel-shadow: none;
    background: #0b1011 !important;
    background-image: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    will-change: auto !important;
  }

  :where(
    .glass,
    .reactive-panel,
    [class$="-card"],
    [class*="-card "],
    [class$="-panel"],
    [class*="-panel "],
    [class$="-tile"],
    [class*="-tile "]
  ) * {
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  :where(
    .glass,
    .reactive-panel,
    [class$="-card"],
    [class*="-card "],
    [class$="-panel"],
    [class*="-panel "],
    [class$="-tile"],
    [class*="-tile "]
  )::before,
  :where(
    .glass,
    .reactive-panel,
    [class$="-card"],
    [class*="-card "],
    [class$="-panel"],
    [class*="-panel "],
    [class$="-tile"],
    [class*="-tile "]
  )::after {
    content: none !important;
    display: none !important;
  }

  :where(
    .eyebrow,
    .chip,
    .iconbox,
    .filter-tab,
    .page-pagination__item,
    .page-pagination__arrow,
    .mobile-menu__badge,
    .mobile-menu__socials a,
    .mobile-menu__close,
    .contact-channel__icon,
    .site-business-card__icon,
    .site-price-card__icon,
    .site-price-card__feature-icon,
    .site-process-slide__icon,
    .site-why__reason-icon,
    .testimonial-card__result,
    .case-compare-card__badge,
    .case-compare-card__handle,
    .article-note__icon
  ) {
    background: #111718 !important;
    background-image: none !important;
    -webkit-mask: none !important;
    mask: none !important;
  }

  :where(
    .field input,
    .field select,
    .field textarea,
    .footer-contact__form .field,
    .choice-card
  ) {
    background: #0d1213 !important;
    background-image: none !important;
  }

  .btn {
    background: #111718;
    background-image: none;
  }

  .btn-primary,
  .btn-filled {
    background: linear-gradient(180deg, #c5ff35 0%, #97ee08 100%);
  }

  .btn::before,
  .btn::after {
    content: none !important;
    display: none !important;
  }

  .main-services__grid .service-card__media::after,
  .main-services__map .service-card__media::after,
  .services-catalog__grid .service-card__media::after {
    background: linear-gradient(180deg, rgba(3, 5, 6, 0.28) 0%, #030506 100%) !important;
  }

  :where(
    .article-card,
    .case-card,
    .service-card,
    .testimonial-card,
    .about-focus-card,
    .about-approach-card,
    .contacts-form-card,
    .contacts-info-card,
    .contacts-requisites__card,
    .blog-newsletter-card,
    .blog-sidebar-card,
    .profile-panel,
    .site-business-card,
    .site-price-card,
    .site-process-card,
    .site-process-slide,
    .site-why__lead-card,
    .site-why__reason,
    .site-why__banner,
    .site-review-card,
    .blog-detail-hero,
    .case-mockup-main span,
    .case-linked-gallery__viewport,
    .case-telegram-slider .case-linked-gallery__viewport,
    .case-app-slider__viewport
  ) {
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  :where(
    .site-approach-visual--devices img,
    .site-approach-visual--photo img,
    .site-approach-visual--process img,
    .site-why__image img,
    .site-review-card__visual img,
    .contacts-office__map iframe
  ) {
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  :where(
    .main-decor,
    .testimonial-decor,
    .site-price-card__texture,
    .site-process::before,
    .contacts-body::before
  ) {
    display: none !important;
  }

  :where(
    .site-business-card::before,
    .site-business-card__icon::after,
    .site-business__summary::after,
    .site-approach-visual::before,
    .site-process-card::before,
    .site-process-slide__icon::before,
    .site-why__lead-card::before,
    .site-why__lead-card::after,
    .site-why__reason::before,
    .site-why__reason::after,
    .site-why__banner::before,
    .site-why__banner::after,
    .site-review-card::before,
    .contacts-form-card::after
  ) {
    content: none !important;
    display: none !important;
  }

  .project-modal {
    background: #020405;
  }

  .mobile-menu {
    clip-path: none;
    transition: opacity 180ms ease, visibility 0s linear 180ms;
  }

  .mobile-menu.is-open {
    clip-path: none;
    transition: opacity 180ms ease, visibility 0s linear 0s;
  }

  .mobile-menu::before {
    background: #050807;
  }

  .mobile-menu::after,
  .mobile-menu__shell::before,
  .mobile-menu__shell::after {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 760px) {
  body .eyebrow {
    display: none !important;
  }

  .main-page h2,
  .main-footer h2 {
    justify-self: start !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .main-page :is([class*="__head"], [class*="-head"]),
  .main-footer :is([class*="__head"], [class*="-head"]) {
    justify-items: start !important;
    text-align: left !important;
  }

  .main-page :is(h2 + p, h2 + .lead),
  .main-footer :is(h2 + p, h2 + .lead) {
    justify-self: start !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  body::before {
    content: "" !important;
    display: block !important;
    background: #12091e url("/assets/mobile-digital-bg-code-purple-accent.webp") center top / cover no-repeat;
    transform: none;
  }

  .main-header .topbar.glass {
    background: linear-gradient(145deg, #171c1d 0%, #0b1011 58%, #10170d 100%) !important;
    border-color: rgba(238, 245, 242, 0.24);
  }

  .main-header .topbar.glass::before {
    content: "" !important;
    display: block !important;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.34),
      rgba(255, 255, 255, 0.08) 36%,
      rgba(182, 255, 23, 0.16) 100%
    );
    opacity: 1;
  }

  .main-header .topbar.glass::after {
    content: none !important;
    display: none !important;
  }

  .mobile-tabbar {
    border-top: 0;
    background: transparent;
  }

  .mobile-tabbar::before {
    content: "" !important;
    display: block !important;
    background: #0b1011;
  }

  .mobile-tabbar::after {
    content: "" !important;
    display: block !important;
    background: transparent;
  }
}

@media (max-width: 760px) {
  .faq-question {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-question > .btn {
    display: none;
  }
}

/* End */
/* /assets/vendor/slick/slick.css?17824366531776 */
/* /assets/vendor/fancybox/fancybox.css?178260046232711 */
/* /local/templates/incode/components/bitrix/news.list/incode_certificates/style.min.css?17878477544282 */
/* /assets/service-tiles-text-only.css?17868325885152 */
/* /assets/heroes-text-only.css?178683672915348 */
/* /assets/hero-scroll-assist.css?17868325881699 */
/* /assets/pointer-effects-off.css?17868366392846 */
/* /assets/site-black-background.css?17867378621642 */
/* /assets/home-tubes.css?17868367292434 */
/* /local/templates/incode/components/bitrix/menu/incode_top/style.min.css?17868396405942 */
/* /local/templates/incode/components/bitrix/menu/incode_mobile/style.min.css?17878679426214 */
/* /local/templates/incode/components/bitrix/menu/incode_mobile_tabbar/style.min.css?17868396402598 */
/* /local/templates/incode/template_styles.css?1790724773202635 */
