

/* Start:/bitrix/templates/lcon_clean/libs/swiper/swiper-bundle.min.css?178391793518454*/
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */


/* Start:/bitrix/templates/lcon_clean/libs/fancybox/fancybox.css?178391793525343*/
:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0, var(--f-throw-out-distance, 150px), 0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, 0.2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, 0.2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, 0.2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}: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-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--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-disabled-opacity: 0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;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);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden !important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, 0.98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, 0.1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container::backdrop{background-color:rgba(0,0,0,0)}.fancybox__backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video{overflow:hidden}.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}.fancybox__backdrop:empty,.fancybox__viewport:empty,.fancybox__track:empty,.fancybox__slide:empty{display:block}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-animating .fancybox__content,.is-dragging .fancybox__content{will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none;filter:blur(0px)}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px 0;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, 0.6);--f-button-active-bg: rgba(0, 0, 0, 0.6);--f-button-hover-bg: rgba(0, 0, 0, 0.6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, 0.3);--f-button-active-bg: rgba(24, 24, 27, 0.5);--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity: 0.65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, 0.25s) ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2, #e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translate3d(0, 0, 0)}.f-thumbs__track{display:flex}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0))*-0.5);width:calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));cursor:pointer}.is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px), 0, 0);transition:none;pointer-events:none}.is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}.is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}.is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100% 0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-modern .f-thumbs__slide__button{--clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5 ) round var(--f-thumb-border-radius, 0) );clip-path:var(--clip-path)}.is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-classic .is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}.f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(0.23, 1, 0.32, 1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px !important}.is-closing .fancybox__thumbs{transition:none !important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, 0.65);--f-button-hover-bg: rgba(70, 70, 73, 0.65);--f-button-active-bg: rgba(90, 90, 93, 0.65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: 0.65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;user-select:none;pointer-events:none}
/* End */


/* Start:/bitrix/templates/lcon_clean/css/styles.css?178750489084759*/
/* styles.css — единый собранный файл стилей (кроме pages/*.css и вендорных libs)
   Собрано из отдельных файлов src/assets/css/**. Порядок = каскад из style.css + landing.
   НЕ РЕДАКТИРОВАТЬ ВРУЧНУЮ секциями — правь исходники и пересобирай. */

/* ============================================================
   vars.css
   ============================================================ */

:root {
    /* region Surfaces / background */
    --body-color: #F5F5F5;
    --color-bg: #F5F5F5;
    --color-white: #FFFFFF;
    --color-dark: #1D212F;              /* тёмная поверхность / основной текст */
    /* endregion */

    /* region Text */
    --color-text: #1D212F;              /* Text&Icon/Primary */
    --color-text-secondary: #878B9A;    /* Text&Icon/Secondary */
    --color-gray: #FFFFFF99;            /* вторичный текст на тёмном фоне */
    --color-white-80: #FFFFFFCC;
    /* endregion */

    /* region Accents (Figma variables) */
    --color-accent: #AD1927;            /* Accent 1 (red) */
    --color-accent-dark: #8E1320;
    --color-teal: #16475D;              /* Accent 2 */
    --color-teal-deep: #00334A;
    /* endregion */

    /* region Lines / strokes */
    --color-stroke: #E4E4E4;            /* Stroke */
    --color-stroke-dark: #FFFFFF1A;     /* Outline на тёмном */
    /* endregion */

    /* region Layout */
    --container-padding: 32px;
    --container-s-padding: 16px;
    --container-mobile-padding: 0;
    /* endregion */

    /* region Radii */
    --radius-xl: 40px;
    --radius-lg: 32px;
    --radius-md: 24px;
    --radius-sm: 16px;
    --radius-xs: 12px;
    /* endregion */

    /* region Typography */
    --font-family-primary: Inter;
    /* размеры заголовков из Figma (H2 56 / H3 32 / H4 24) */
    --fs-h1: 64px;
    --fs-h2: 56px;
    --fs-h3: 32px;
    --fs-h4: 24px;
    /* endregion */

    /* region Motion */
    --transition: .2s ease;
    --transition-fast: .15s linear;
    /* endregion */
}

/* ============================================================
   reboot.css
   ============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box; /* 1 */
}
html {
    font-family: sans-serif; /* 2 */
    line-height: 1.15; /* 3 */
    -webkit-text-size-adjust: 100%; /* 4 */
    -ms-text-size-adjust: 100%; /* 4 */
    -ms-overflow-style: scrollbar; /* 5 */
    -webkit-tap-highlight-color: transparent; /* 6 */
}
/* IE10+ doesn't honor `<meta name="viewport">` in some cases. */
@-ms-viewport {
    width: device-width;
}
/* stylelint-disable selector-list-comma-newline-after
Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) */
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}
/*
Body
1. Remove the margin in all browsers.
2. As a best practice, apply a default `background-color`.
3. Set an explicit initial text-align value so that we can later use the `inherit` value on things like `<th>` elements.
*/
body {
    margin: 0; /* 1 */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: #212529;
    text-align: left; /* 3 */
    background-color: #fff; /* 2 */
}
/*
Suppress the focus outline on elements that cannot be accessed via keyboard.
This prevents an unwanted focus outline from appearing around elements that might still respond to pointer events.
Credit: https://github.com/suitcss/base
*/
[tabindex="-1"]:focus {
    outline: none !important;
}
/*
Content grouping
1. Add the correct box sizing in Firefox.
2. Show the overflow in Edge and IE.
*/
hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}
/*
Typography
*/
/*
Remove top margins from headings
By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top margin for easier control within type scales as it avoids margin collapsing.
*/
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
}
/*
Reset margins on paragraphs
Similarly, the top margin on `<p>`s get reset. However, we also reset the bottom margin to use `rem` units instead of `em`.
*/
p {
    margin-top: 0;
    margin-bottom: 0;
}
/*
Abbreviations
1. Remove the bottom border in Firefox 39-.
2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
3. Add explicit cursor to indicate changed behavior.
4. Duplicate behavior to the data-* attribute for our tooltip plugin
*/
abbr[title],
abbr[data-original-title] { /* 4 */
    text-decoration: underline; /* 2 */
    -webkit-text-decoration: underline dotted; /* 2 */
    text-decoration: underline dotted; /* 2 */
    cursor: help; /* 3 */
    border-bottom: 0; /* 1 */
}
address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}
ol,
ul,
dl {
    margin: 0;
    padding: 0;
    list-style: none;
}
ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}
dt {
    font-weight: bold;
}
dd {
    margin-bottom: .5rem;
    margin-left: 0; /* Undo browser default */
}
blockquote {
    margin: 0 0 1rem;
}
dfn {
    font-style: italic; /* Add the correct font style in Android 4.3- */
}
b,
strong {
    font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}
small {
    font-size: 80%; /* Add the correct font size in all browsers */
}
sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}
sub {
    bottom: -.25em;
}
sup {
    top: -.5em;
}
/*
Links
*/
a {
    text-decoration: none;
    background-color: transparent; /* Remove the gray background on active links in IE 10. */
    -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+. */
}

/*
And undo these styles for placeholder links/named anchors (without href) which have not been made explicitly keyboard-focusable (without tabindex). It would be more straightforward to just use a[href] in previous block, but that causes specificity issues in many other styles that are too complex to fix.
See https://github.com/twbs/bootstrap/issues/19402
*/
a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
}
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
    outline: 0;
}
/*
Code
*/
pre,
code,
kbd,
samp {
    font-family: monospace, monospace; /* Correct the inheritance and scaling of font size in all browsers. */
    font-size: 1em; /* Correct the odd `em` font sizing in all browsers. */
}
pre {
    /* Remove browser default top margin */
    margin-top: 0;
    /* Reset browser default of `1em` to use `rem`s */
    margin-bottom: 1rem;
    /* Don't allow content to break outside */
    overflow: auto;
    /* We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so we force a non-overlapping, non-auto-hiding scrollbar to counteract. */
    -ms-overflow-style: scrollbar;
}
/*
Figures
*/
figure {
    /* Apply a consistent margin strategy (matches our type styles). */
    margin: 0 0 1rem;
}
/*
Images and content
*/
img {
    vertical-align: middle;
    border-style: none; /* Remove the border on images inside links in IE 10-. */
}
svg:not(:root) {
    overflow: hidden; /* Hide the overflow in IE */
}
svg {
    width: inherit;
}
/*
Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11 DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present. However, they DO support removing the click delay via `touch-action: manipulation`.
See:
* https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch
* https://caniuse.com/#feat=css-touch-action
*  https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
*/
a,
area,
button,
[role="button"],
input:not([type=range]),
label,
select,
summary,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}
/*
Tables
*/
table {
    border-collapse: collapse; /* Prevent double borders */
}
caption {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: #868e96;
    text-align: left;
    caption-side: bottom;
}
th {
    /* Matches default `<td>` alignment by inheriting from the `<body>`, or the closest parent with a set `text-align`. */
    text-align: inherit;
}
/*
Forms
*/
label {
    /* Allow labels to use `margin` for spacing. */
    display: inline-block;
    margin-bottom: .5rem;
}
/*
Remove the default `border-radius` that macOS Chrome adds.
Details at https://github.com/twbs/bootstrap/issues/24093
*/
button {
    border-radius: 0;
}
/*
Work around a Firefox/IE bug where the transparent `button` background results in a loss of the default `button` focus styles.
Credit: https://github.com/suitcss/base/
*/
button:focus-visible {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
    margin: 0; /* Remove the margin in Firefox and Safari */
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button,
input {
    overflow: visible; /* Show the overflow in Edge */
}
button,
select {
    text-transform: none; /* Remove the inheritance of text transform in Firefox */
}
/*
1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4.
2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}
/*
Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
    box-sizing: border-box; /* 1. Add the correct box sizing in IE 10- */
    padding: 0; /* 2. Remove the padding in IE 10- */
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
    /*
    Remove the default appearance of temporal inputs to avoid a Mobile Safari bug where setting a custom line-height prevents text from being vertically centered within the input.

    See https://bugs.webkit.org/show_bug.cgi?id=139848
    and https://github.com/twbs/bootstrap/issues/11266
    */
    -webkit-appearance: listbox;
}
textarea {
    overflow: auto; /* Remove the default vertical scrollbar in IE. */
    /* Textareas should really only resize vertically so they don't break their (horizontal) containers. */
    resize: vertical;
}
fieldset {
    /*
    Browsers set a default `min-width: min-content;` on fieldsets, unlike e.g. `<div>`s, which have `min-width: 0;` by default. So we reset that to ensure fieldsets behave more like a standard block element.

    See https://github.com/twbs/bootstrap/issues/12359
    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
    */
    min-width: 0;
    /* Reset the default outline behavior of fieldsets so they don't affect page layout. */
    padding: 0;
    margin: 0;
    border: 0;
}
/*
1. Correct the text wrapping in Edge and IE.
2. Correct the color inheritance from `fieldset` elements in IE.
*/
legend {
    display: block;
    width: 100%;
    max-width: 100%; /* 1 */
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit; /* 2 */
    white-space: normal; /* 1 */
}
progress {
    vertical-align: baseline; /* Add the correct vertical alignment in Chrome, Firefox, and Opera. */
}
/*
Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    /*
    This overrides the extra rounded corners on search inputs in iOS so that our `.form-control` class can properly style them. Note that this cannot simply be added to `.form-control` as it's not specific enough.

    For details, see https://github.com/twbs/bootstrap/issues/11586.
    */
    outline-offset: -2px;
    -webkit-appearance: none;
}
/*
Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}
/*
Correct element displays
*/
output {
    display: inline-block;
}
summary {
    display: list-item; /* Add the correct display in all browsers */
}
template {
    display: none; /* Add the correct display in IE */
}
/*
Always hide an element with the `hidden` HTML attribute (from PureCSS).
Needed for proper display in IE 10-.
*/
[hidden] {
    display: none !important;
}
/* ============================================================
   fonts.css
   ============================================================ */

/* region Inter */

/* cyrillic-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/inter/Inter-cyrillic-ext.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/inter/Inter-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/inter/Inter-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/inter/Inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* endregion */

/* region Roboto */

/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 800;
    font-stretch: 100%;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/roboto/Roboto-cyrillic-ext.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 800;
    font-stretch: 100%;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/roboto/Roboto-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 800;
    font-stretch: 100%;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/roboto/Roboto-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 800;
    font-stretch: 100%;
    font-display: swap;
    src: url('/bitrix/templates/lcon_clean/css/../fonts/roboto/Roboto-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* endregion */

/* ============================================================
   container.css
   ============================================================ */

.container,
.container-l {
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

.container {
    max-width: 1680px;
}

.container-l {
    max-width: 1824px;
}

@media (min-width: 992px) {
    .container,
    .container-l {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

@media (max-width: 991px) {
    .container,
    .container-l {
        max-width: 100%;
        padding-left: var(--container-s-padding);
        padding-right: var(--container-s-padding);
    }
}

@media (max-width: 767px) {
    .container-s-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wrapper {
        padding: 0;
    }
}

/* Общий H1 непараметрических страниц (авто-вывод в plain-шапке, см. header.php).
   Страницы со своей вёрсткой заголовка сюда не попадают (LCON_CRUMBS_MANUAL /
   LCON_H1_MANUAL). */
.page-title {
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.12;
    color: var(--color-dark);
    margin: 12px 0 28px;
}

@media (max-width: 767px) {
    .page-title {
        margin: 8px 0 20px;
    }
}

/* ============================================================
   typography.css
   ============================================================ */

/*
 * Общая типографика и generic-компоненты, используемые на всех страницах:
 * заголовки, параграфы, «шапка» секции, лид, ссылка-стрелка.
 * Значения размеров — из Figma (H2 56 / H3 32 / H4 24, Body 20/18/16/14).
 */

/* region Headings */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--font-family-primary), sans-serif;
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-text);
}

.h1 { font-size: var(--fs-h1); font-weight: 600; }
.h2 { font-size: var(--fs-h2); font-weight: 600; }
.h3 { font-size: var(--fs-h3); font-weight: 500; }
.h4 { font-size: var(--fs-h4); font-weight: 600; }
/* endregion */

/* region Paragraphs / text helpers */
p {
    margin: 0;
    line-height: 1.4;
}

.text-muted { color: var(--color-text-secondary); }
.text-lg    { font-size: 20px; }
.text-md    { font-size: 18px; }
.text-sm    { font-size: 14px; }
/* endregion */

/* region Section heading block */
.section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 40px;
}

.section__title {
    font-size: clamp(28px, 4vw, 56px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-text);
}

.section__title--center {
    text-align: center;
}

.section__lead {
    max-width: 760px;
    margin-top: 24px;
    color: var(--color-text-secondary);
    font-size: 18px;
    line-height: 1.45;
}

/* заголовок секции на тёмном фоне */
.bg-textured .section__title,
.bg-textured .section__lead {
    color: var(--color-white);
}
/* endregion */

/* region Link with arrow */
.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 16px;
    color: var(--color-text);
    white-space: nowrap;
    transition: color var(--transition);
}

.link-arrow::after {
    content: "";
    width: 1.1em;
    height: 1.1em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H8M17 7v9'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H8M17 7v9'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform var(--transition);
}

.link-arrow:hover {
    color: var(--color-accent);
}

.link-arrow:hover::after {
    transform: translate(3px, -3px);
}

/* когда link-arrow одновременно .btn — стрелка остаётся, цвет наследуется от кнопки */
.btn.link-arrow:hover {
    color: inherit;
}
/* endregion */

/* ============================================================
   components/header.css
   ============================================================ */

:root {
    --nav-link-color: #878B9A;
    --nav-link-active-color: #1D212F;
    --nav-link-hover-color: #1D212F;
}

header.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 24px;
}

header.header .header__info {
    display: flex;
    justify-content: space-between;
}

.nav .nav__link {
    font-size: 18px;
    padding: 12.5px 16px;
    color: var(--nav-link-color);
    transition: color 0.15s linear;
}

.nav .nav__link.active {
    color: var(--nav-link-active-color);
}

.nav .nav__link:hover {
    color: var(--nav-link-hover-color);
}

header.header > .header__actions .btn {
    color: var(--color-white);
    background: var(--btn-dark);
    border-color: var(--btn-dark);
}

header.header > .header__actions .btn:hover {
    background: transparent;
    color: var(--color-dark);
}

.mobile-menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 375px;
    max-width: 100%;
    padding: 24px;
    background: var(--color-white);
    z-index: 1000;
    box-shadow: 3px 0 10px 0 rgba(0, 0, 0, 0.45);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}

.mobile-menu .nav {
    display: flex;
    flex-direction: column;
    margin-top: 25px;
}

.mobile-menu .nav .nav__link {
    position: relative;
    color: var(--color-dark);
}

.mobile-menu .nav .nav__link::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    background-color: var(--color-dark);
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: transform 0.2s ease-in-out;
}

.mobile-menu .nav .nav__link:hover::before {
    transform: scaleY(1);
    transform-origin: top center;
}

.mobile-menu .header__actions {
    margin-top: 25px;
}

.mobile-menu .header__actions .btn {
    width: 100%;
    height: auto;
}

.mobile-menu__overlay {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    backdrop-filter: blur(5px);
}

#mobile-menu-status:checked ~ .mobile-menu {
    transform: translateX(0%);
}
#mobile-menu-status:checked ~ .mobile-menu__overlay {
    display: block;
}

.burger-menu {
    width: fit-content;
    cursor: pointer;
    color: var(--color-dark);
}

.mobile-menu .burger-menu {
    color: var(--color-dark) !important;
}

@media (min-width: 992px) {
    .mobile-menu,
    .mobile-menu__overlay,
    .burger-menu {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .mobile-menu {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
    }

    .header > .nav,
    .header > .header__actions {
        display: none;
    }
}

@media (max-width: 767px) {
    header.header {
        padding: 16px 16px 0;
    }
}

/* ============================================================
   Верхняя панель шапки (адреса / регион / телефон) + выбор региона
   ============================================================ */

/* --- Верхняя панель (только desktop; на мобильных инфо уходит в бургер) --- */
.header__top {
    display: none;
}

@media (min-width: 992px) {
    .header__top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 24px;
        padding: 20px 0 12px;
        color: var(--color-text);
    }
}

.header__addresses {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.header__addresses-icon {
    display: inline-flex;
    flex-shrink: 0;
    margin-top: 1px;
    color: currentColor;
    opacity: .7;
}

.header__addresses-icon svg {
    width: 18px;
    height: 18px;
}

.header__addresses-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.header__address {
    font-size: 13px;
    line-height: 1.35;
    color: var(--color-text-secondary);
}

.header__top-right {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-shrink: 0;
}

.header__phone {
    font-size: 15px;
    font-weight: 500;
    color: var(--color-text);
    white-space: nowrap;
    transition: opacity var(--transition-fast);
}

.header__phone:hover {
    color: var(--color-text);
    opacity: .7;
}

/* --- Верхняя панель на тёмном hero: светлый текст --- */
.hero .header__top {
    color: var(--color-white);
}

.hero .header__address {
    color: var(--color-white-80);
}

.hero .header__phone,
.hero .header__phone:hover,
.hero .header__top .region-select__toggle,
.hero .header__top .region-select__toggle:hover {
    color: var(--color-white);
}

/* --- Виджет выбора региона (общий вид) --- */
.region-select {
    position: relative;
}

.region-select__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    line-height: 1.2;
}

.region-select__name {
    font-size: 15px;
    font-weight: 500;
}

.region-select__arrow {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform var(--transition);
}

.region-select.is-open .region-select__arrow {
    transform: rotate(180deg);
}

.region-select__dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    /* Выше шапки и кнопок (mobile-menu — 1000), но ниже popup-форм (#popup_iframe_wrapper — 3000). */
    z-index: 1500;
    min-width: 240px;
    max-height: 420px;
    overflow-y: auto;
    padding: 8px;
    background: var(--color-white);
    border-radius: var(--radius-sm);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}

.region-select.is-open .region-select__dropdown {
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* На desktop-панели дропдаун раскрывается ещё и по наведению («При наведении»). */
@media (hover: hover) and (min-width: 992px) {
    .header__top .region-select:hover .region-select__dropdown {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    /* Прозрачный «мостик» перекрывает зазор в 12px между кнопкой и списком:
       дропдаун — потомок .region-select, поэтому наведение на мостик сохраняет
       :hover и список не схлопывается, пока курсор идёт к пунктам. */
    .header__top .region-select__dropdown::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -12px;
        height: 12px;
    }

    .header__top .region-select:hover .region-select__arrow {
        transform: rotate(180deg);
    }
}

.region-select__list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.region-select__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: var(--radius-xs);
    font-size: 15px;
    transition: background var(--transition-fast);
}

/* Цвет пунктов фиксируем во всех состояниях. В теме есть глобальные правила
   a { color: var(--color-gray) } и a:hover { color: var(--color-white) } — они
   перекрашивали ссылки списка (в т.ч. в белый при наведении), из-за чего текст
   на белой карточке становился нечитаемым. Держим тёмный цвет всегда. */
.region-select__link,
.region-select__link:link,
.region-select__link:visited,
.region-select__link:hover,
.region-select__link:focus,
.region-select__link:active {
    color: var(--color-text);
}

.region-select__link:hover {
    background: var(--color-bg);
}

.region-select__item.is-current .region-select__link {
    background: var(--color-bg);
    font-weight: 500;
}

.region-select__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--color-text);
}

.region-select__check svg {
    width: 18px;
    height: 18px;
}

/* --- Регион и адреса внутри бургер-меню (мобильные) --- */
.mobile-menu__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mobile-menu__logo {
    height: 40px;
}

.mobile-menu__logo svg {
    height: 100%;
    width: auto;
}

.mobile-menu__title {
    margin-top: 24px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.05;
    color: var(--color-dark);
}

/* Кнопку «Связаться» и блоки региона/адресов прижимаем к низу меню. */
.mobile-menu .header__actions {
    margin-top: auto;
}

.mobile-menu__region {
    margin-top: 24px;
}

.mobile-menu .region-select__toggle {
    color: #1E6FE0;
    font-size: 16px;
}

.mobile-menu .region-select__name {
    font-weight: 500;
}

/* Дропдаун региона в меню раскрывается вверх, над кнопкой. */
.mobile-menu .region-select__dropdown {
    top: auto;
    bottom: calc(100% + 12px);
    left: 0;
    right: 0;
    max-height: 60vh;
}

.mobile-menu__addresses {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--color-stroke);
}

.mobile-menu__addresses-icon {
    display: inline-flex;
    flex-shrink: 0;
    margin-top: 1px;
    color: var(--color-text-secondary);
}

.mobile-menu__addresses-icon svg {
    width: 18px;
    height: 18px;
}

.mobile-menu__addresses-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mobile-menu__address {
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-text-secondary);
}

/* ============================================================
   components/footer.css
   ============================================================ */

.footer__inner {
    background-color: var(--color-dark);
    padding: 48px;
    border-radius: 40px;
    color: var(--color-white);
}

.footer__brand {
    height: 52px;
}

.footer__section {
    margin-top: 34px;
}

.footer__title {
    color: var(--color-white);
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 24px;
    padding-left: 0 !important;
}

/* region Top */
.footer__top {
    display: grid;
    grid-template-columns: 1.6275fr 1.1815fr 1fr;
    gap: 40px;
    margin-top: 30px;
}

.footer__top .footer__title {
    margin-bottom: 16px;
}

.footer__list li:not(:first-child) {
    margin-top: 8px;
}

.footer__contacts-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.footer__contacts-row a {
    display: flex;
    align-items: center;
    color: var(--color-white);
}

.footer__contacts-row a svg {
    margin-right: 8px;
}
/* endregion */

/* region Main */
.footer__main {
    display: grid;
    grid-template-columns: 1fr 170px;
    gap: 40px;
    color: var(--color-gray);
}

.footer__country {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.footer__addresses strong {
    color: var(--color-white);
}

.footer__addresses li:not(:first-child) {
    margin-top: 8px;
}

.developers .developer:nth-child(2) {
    margin-top: 24px;
}

#orvo-developer .delevoper__icon {
    margin-top: 16px;
    max-width: 110px;
}

#photonix-developer .delevoper__icon {
    margin-top: 20px;
}
/* endregion */

/* region Bottom */
.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 17px 0;
    border-top: 1px solid #FFFFFF1A;
}

.footer__policy {
    margin-left: 16px;
}

.footer__policy a {
    display: block;
    text-align: end;
}

.footer__policy a:not(:first-child) {
    margin-top: 8px;
}
/* endregion */

/* region Responsive */

@media (max-width: 991px) {
    /* region Top */
    .footer__top {
        grid-template-columns: 1fr 1fr;
    }
    /* endregion */
}

@media (max-width: 767px) {
    .footer__inner {
        padding: 32px 16px 24px;
        border-radius: 0;
    }

    .footer__brand {
        height: 37px;
    }

    /* region Top */
    .footer__top {
        grid-template-columns: 1fr;
    }

    .footer__top .footer__col {
        display: none;
    }

    .footer__contacts > a {
        background: #fff;
        color: var(--color-dark);
    }
    .footer__contacts > a:hover,
    .footer__contacts > a:active {
        background: transparent;
    }
    /* endregion */

    /* region Main */
    .footer__main {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer__addresses {
        font-size: 14px;
    }

    .developers {
        display: flex;
        justify-content: space-between;
    }

    .developers .developer:nth-child(2) {
        margin-top: 0;
        margin-left: 16px;
    }
    /* endregion */

    /* region Bottom */
    .footer__bottom {
        flex-direction: column;
        align-items: start;

        font-size: 14px;
    }
    .footer__policy {
        display: flex;
        flex-direction: column-reverse;
        margin-left: 0;
    }
    .footer__policy a {
        text-align: start;
        margin-top: 10px !important;
        font-weight: 400 !important;
    }
    /* endregion */
}

/* endregion */
/* ============================================================
   elements/buttons.css
   ============================================================ */

:root {
    --btn-line-prehovered: rgba(228, 230, 238, .35);
    --btn-light-outline: #E4E6EEFF;
    --btn-light: #FFFFFFFF;
    --btn-light-hover: #e0e0e0;
    --btn-gray: #EAEAEAFF;
    --btn-dark: #1D212FFF;
    --btn-red: #AD1927;
    --btn-red-dark: #8E1320FF;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 21px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: .2s ease;
    white-space: nowrap;
    gap: 12px;
}

.btn svg {
    width: 24px;
    height: 24px;
}

/* Sizes */
.btn--sm {
    min-height: 24px;
    vertical-align: middle;
    padding: 0;
}

.btn--lg {
    padding: 17px 34px;
    font-size: 16px;
}

.btn--block {
    width: 100%;
    text-align: center;
}

@media (max-width: 767px) {
    .btn--lg {
        padding: 12px 24px;
    }
}

/* region Colors */
.btn-light {
    background: #fff;
    color: var(--color-dark);
}

.btn-light:hover {
    color: var(--color-dark);
    background: var(--btn-light-hover);
}

.btn-light-outline {
    background: #fff;
    border-color: var(--btn-light);
    color: var(--color-dark);
}

.btn-light-outline:hover {
    background: transparent;
    color: var(--color-dark);
}

.btn-dark {
    color: var(--color-white);
    background: var(--btn-dark);
    border-color: var(--btn-dark);
}

.btn-dark:hover {
    background: transparent;
    color: var(--color-dark);
}

.btn-outline {
    background: transparent;
    color: #fff;
    border-color: var(--btn-line-prehovered);
}

.btn-outline:hover {
    border-color: var(--btn-light-outline);
}

.btn-red {
    background: var(--btn-red);
    color: var(--color-white);
}

.btn-red:hover {
    background: var(--btn-red-dark);
}

/* светлая полупрозрачная кнопка для тёмных секций (макет: bg rgba(255,255,255,.9) + blur) */
.btn-light-blur {
    padding: 12px 24px;
    background: rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--color-text);
    font-weight: 500;
}

.btn-light-blur:hover {
    background: var(--color-white);
    color: var(--color-text);
}

/* прозрачная кнопка для тёмных секций */
.btn-ghost {
    background: transparent;
    color: var(--color-white);
    border-color: var(--color-stroke-dark);
}

.btn-ghost:hover {
    background: var(--color-white);
    color: var(--color-dark);
    border-color: var(--color-white);
}

/* контурная кнопка для светлых карточек (тёмный текст) */
.btn-outline-dark {
    background: transparent;
    color: var(--color-text);
    border-color: var(--color-stroke);
}

.btn-outline-dark:hover {
    background: var(--color-dark);
    color: var(--color-white);
    border-color: var(--color-dark);
}

/* Кнопки Aspro из контента (DETAIL_TEXT статей/новостей и прочих текстов, вставляются
   визуальным редактором как <div class="btn btn-default …" data-event="jqm">). Классы
   темы Aspro (.btn-default / .btn-transparent) в lcon_clean не оформлены, а базовый .btn
   прозрачный — из-за чего такие кнопки выглядели как голый текст. Оформляем их под дизайн:
   основную — фирменной красной, контурную — тёмным аутлайном. */
.btn-default {
    background: var(--btn-red);
    color: var(--color-white);
    border-color: var(--btn-red);
}

.btn-default:hover {
    background: var(--btn-red-dark);
    border-color: var(--btn-red-dark);
    color: var(--color-white);
}

.btn-transparent {
    background: transparent;
    color: var(--color-text);
    border-color: var(--color-stroke);
}

.btn-transparent:hover {
    background: var(--color-dark);
    color: var(--color-white);
    border-color: var(--color-dark);
}

/* endregion */
/* ============================================================
   features/reveal.css
   ============================================================ */

/*
 * Анимации появления элементов при скролле (.reveal + IntersectionObserver из assets/js/reveal.js).
 * Общие для всех страниц — используются в index.twig, pages/about.twig, pages/buyer.twig.
 */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
}

.reveal--left  { transform: translateX(-32px); }
.reveal--right { transform: translateX(32px); }
.reveal--scale { transform: scale(.96); }

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* Пошаговая задержка внутри группы (data-stagger на родителе) */
[data-stagger] > .reveal { transition-delay: calc(var(--i, 0) * .08s); }

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ============================================================
   features/slider.css
   ============================================================ */

.swiper {
    overflow: visible;
}

/* Слайд = карточка с картинкой.
   Фиксированный размер: при сужении экрана карточка не меняет
   ширину/высоту — просто становится видно меньше карточек. */

.swiper-slider__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 12px;
    background: #fff;
    color: #1D212F;
    fill: none;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
    transition: background .2s ease, color .2s ease, opacity .2s ease;
}

.swiper-slider__btn:focus {
    outline: none;
}

.swiper-slider__btn:hover {
    background: #111;
    color: #fff;
}

.swiper-slider__btn svg {
    width: 20px;
    height: 20px;
}

.swiper-slider__btn--prev {
    left: 8px;
}

.swiper-slider__btn--next {
    right: 8px;
}

/* Swiper сам вешает этот класс, когда листать некуда */
.swiper-slider__btn.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
}

/* А этот — когда все слайды влезают в кадр (свайпать нечего): прячем стрелки совсем */
.swiper-slider__btn.swiper-button-lock {
    display: none;
}

/* ---------- Мобильная версия ---------- */
@media (max-width: 767px) {
    .swiper {
        border-radius: 12px;
    }

    .swiper-slider__btn {
        display: none;
    }
}

/* ============================================================
   features/scroll-track.css
   ============================================================ */

.scroll-track {
    display: flex;
    width: max-content;
    animation: scroll 50s linear infinite;
}

.scroll-track:hover {
    animation-play-state: paused;
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* Адаптив */
@media (max-width: 768px) {
    .scroll-track {
        gap: 20px;
    }
}
/* ============================================================
   features/portfolio-modal.css
   ============================================================ */

/*
 * Модальное окно портфолио (макет node 13202-12200).
 * Открывается по клику на карточку .example__card (см. portfolio-modal.js).
 */

.pmodal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.pmodal.is-open {
    display: flex;
}

.pmodal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.pmodal__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    gap: 48px;
    width: 100%;
    max-width: 1360px;
    max-height: calc(100dvh - 80px);
    padding: 48px;
    background: var(--color-white);
    border-radius: 16px;
    overflow: hidden;
}

/* Картинка */
.pmodal__image {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(0, 0, 0, .03);
}

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

/* Текстовая колонка */
.pmodal__text {
    flex: 0 0 480px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pmodal__head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.pmodal__title {
    flex: 1;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-text);
}

.pmodal__chip {
    align-self: flex-start;
    padding: 7px 8px;
    font-size: 14px;
    line-height: 1.3;
    color: var(--color-text);
    background: rgba(0, 0, 0, .03);
    border-radius: 6px;
}

.pmodal__info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    background: rgba(0, 0, 0, .03);
    border: 1px solid rgba(0, 0, 0, .05);
    border-radius: 8px;
}

.pmodal__info-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-text);
}

.pmodal__info-text {
    font-size: 16px;
    line-height: 1.3;
    color: var(--color-text-secondary);
}

/* Кнопки: стрелки навигации и закрытие */
.pmodal__nav,
.pmodal__close {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: rgba(0, 0, 0, .03);
    color: var(--color-text);
    cursor: pointer;
    transition: background var(--transition);
}

.pmodal__nav:hover,
.pmodal__close:hover {
    background: rgba(0, 0, 0, .08);
}

.pmodal__nav {
    align-self: center;
}

/* Планшет */
@media (max-width: 991px) {
    .pmodal__text {
        flex-basis: 360px;
    }

    .pmodal__title {
        font-size: 32px;
    }
}

/* Мобильный: колонка на весь экран */
@media (max-width: 767px) {
    .pmodal {
        padding: 0;
    }

    .pmodal__dialog {
        flex-direction: column;
        gap: 16px;
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        padding: 16px;
        border-radius: 0;
        overflow-y: auto;
    }

    .pmodal__image {
        order: 1;
        flex: none;
        width: 100%;
        aspect-ratio: 4 / 3;
    }

    .pmodal__text {
        order: 2;
        flex: none;
        width: 100%;
    }

    .pmodal__title {
        font-size: 26px;
    }

    /* Стрелки — фиксированные по нижним углам, закрытие — верхний правый угол */
    .pmodal__nav {
        position: fixed;
        bottom: 16px;
        z-index: 2;
        background: var(--color-white);
        box-shadow: 0 6px 20px -8px rgba(0, 0, 0, .4);
    }

    .pmodal__nav--prev {
        left: 16px;
    }

    .pmodal__nav--next {
        right: 16px;
    }

    .pmodal__close {
        position: fixed;
        top: 16px;
        right: 16px;
        z-index: 2;
        background: var(--color-white);
        box-shadow: 0 6px 20px -8px rgba(0, 0, 0, .4);
    }
}

/* ============================================================
   style.css (тело, без @import)
   ============================================================ */




html {
    /*scroll-behavior: smooth;*/
}

body {
    font-family: var(--font-family-primary), sans-serif;
    background-color: var(--body-color);
}

.wrapper {
    overflow-x: hidden;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (max-width: 767px) {
    .wrapper {
        padding-top: 0;
        padding-bottom: 0;
    }
}

/* region Links */
a {
    color: var(--color-gray);
    transition: color .15s;
}
a:hover {
    color: var(--color-white);
}

a.light {
    color: var(--color-white);
}
a.light:hover {
    color: var(--color-gray);
}
/* endregion */

/* region Paddings */
.pt-80 {
    padding-top: 80px;
}

.py-80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.p-48 {
    padding: 48px;
}

.py-48 {
    padding-left: 48px;
    padding-right: 48px;
}

@media (max-width: 767px) {
    .py-s-16 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .p-s-16 {
        padding: 16px;
    }
}
/* endregion */

/* region breadcrumbss */
.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    padding: 32px 0;
}

.breadcrumbs__item {
    position: relative;
    color: #878B9A;
}

.breadcrumbs__item:not(:first-child) {
    margin-left: 8px;
    padding-left: 9px;
}

.breadcrumbs__item:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #CBCBCB;
}

.breadcrumbs__link {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-gray);
}

.breadcrumbs__link:hover {
    color: var(--color-dark);
}

/* Крошки на светлом фоне: ссылка «Главная» тёмная (по умолчанию цвет
   рассчитан на тёмный hero — --color-gray). */
.breadcrumbs--dark .breadcrumbs__link {
    color: var(--color-text);
}

.breadcrumbs--dark .breadcrumbs__link:hover {
    color: var(--color-text-secondary);
}
/* endregion */

.bg-textured {
    position: relative;
    background: rgba(29, 33, 47, 1);
}
.bg-textured::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("/bitrix/templates/lcon_clean/css/../images/textures/texture-wall.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 4%;
}

.bg-textured .btn-light-outline:hover {
    color: var(--color-white);
}

.bg-textured > * {
    position: relative;
    z-index: 5;
}


/* region Copyright */
#copyright {
    color: var(--color-gray);
}
/* endregion */

/* ============================================================
   landing.css
   ============================================================ */

:root {
    --hero-nav-link-active-color: #FFFFFF;
    --hero-nav-link-hover-color: #FFFFFF99;

    --features-accent-color: #16475D;
}

section.section {
    padding-top: 88px;
    padding-bottom: 88px;
}

/* Единый отступ между заголовком секции и её контентом,
   когда заголовок стоит напрямую, без обёртки .section__head
   (Team, Сертификаты, Примеры). Совпадает с .section__head → margin-bottom: 40px. */
.section__title + .team-slider,
.section__title + .certs,
.section__title + .examples,
.section__lead + .team-slider {
    margin-top: 40px;
}

/* region Objects */
.objects {
    position: relative;
    border-radius: 24px;
}

.objects .swiper-slide {
    width: 600px;
    height: 340px;
}

.objects__card {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    /* center/cover — фолбэк для закэшированной разметки с inline background-image;
       поверх ложится <img>. */
    background: #d9d9dd center / cover no-repeat;
}

/* Фото объекта — <img> вместо background-image (индексация). */
.objects__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .objects {
        border-radius: 16px;
        padding: 10px;
    }

    .objects .swiper-slide {
        height: 240px;
    }
}
/* endregion */

/* region Brands */
.brands {
    overflow-x: hidden;
    height: 100%;
    position: relative;
}

.brands .scroll-track {
    gap: 20px;
}

.brands .brands__item {
    height: auto;
    background: var(--color-white);
    border-radius: 24px;
    padding: 10px 32px;
    overflow: hidden;
}

.brands .brands__item img {
    width: 136px;
    height: 72px;
    object-fit: contain;
    object-position: center;
    transition: transform .2s ease;
}

.brands .brands__item:hover img {
    transform: scale(1.2);
}

@media (max-width: 767px) {
    /* Две строки-маркизы одна под другой (собираются в brands.js) */
    .brands {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .brands .scroll-track {
        gap: 12px;
    }

    /* «Кирпичное» смещение: вторая строка сдвинута на пол-карточки.
       transform трека занят анимацией маркизы, поэтому смещаем строку-обёртку. */
    .brands__row--b {
        transform: translateX(-84px);
    }

    .brands .brands__item {
        width: 156px;
        padding: 10px 16px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .brands .brands__item img {
        width: 84px;
        height: 44px;
    }
}
/* endregion */

/* region Hero */
#hero {
    padding-top: 0;
    padding-bottom: 0;
    height: 100dvh;
    max-height: 1020px;
}

.hero {
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: fit-content;
    border-radius: 32px;
}

/* Фон hero — реальный <img> (правка №2): кладём под контент, кроем как cover. */
.hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

/* Затемняющий градиент поверх фото (был частью background-image). */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Контент hero — выше фото и градиента. */
.hero > *:not(.hero__bg) {
    position: relative;
    z-index: 2;
}

/* Верхняя панель шапки — над основным рядом (header.header, ниже по DOM с тем же
   z-index:2), иначе кнопка «Связаться» перекрывает дропдаун выбора региона.
   Специфичность (0,2,0) как у правила выше + идёт позже — перебивает z-index:2. */
.hero > .header__top {
    z-index: 3;
}

.hero header.header .burger-menu {
    color: var(--color-white);
}

.hero header.header > .header__actions .btn {
    background: #fff;
    border-color: var(--btn-light);
    color: var(--color-dark);
}

.hero header.header > .header__actions .btn:hover {
    background: transparent;
    color: var(--color-white);
}

/* Меню на тёмном hero (правка №7): базовый цвет ссылок #878B9A нечитаем на фото.
   Делаем ссылки чисто белыми и добавляем тень — читаемо даже над светлыми (небо)
   участками фотографии, где полупрозрачного белого было мало. */
.hero header.header > .nav .nav__link {
    color: var(--color-white);
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

.hero header.header > .nav .nav__link.active,
.hero header.header > .nav .nav__link:hover {
    color: var(--color-white);
}

.hero-content {
    margin-top: 48px;
    padding-top: 80px;
    width: 1110px;
    max-width: 100%;
    color: var(--color-white);
}

.hero__title {
    font-size: 64px;
    line-height: 102%;
    font-weight: 600;
    color: var(--color-white);
}

.hero__text {
    margin-top: 24px;
}

.hero__buttons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 48px;
    gap: 16px;
}

.hero .breadcrumbs__link {
    color: var(--color-white);
}

.hero .breadcrumbs__link:hover {
    color: var(--color-gray);
}

.hero .breadcrumbs ~ .hero-content {
    margin-top: 0;
}

/* Резерв высоты hero под перекрывающие карточки статистики (главная и /company/).
   Кнопки hero стоят на фиксированной позиции сверху, а секция #hero = 100dvh; на
   невысоких экранах (ноутбуки) она сжимается — и блок .stats-features
   (margin-top: -215px) позиционируется от нижней границы #hero, наезжая на
   коммерческие кнопки. Задаём #hero минимальную высоту, чтобы его низ (а значит и
   карточки) всегда были ниже кнопок. Скоупим через :has(.hero--stats) — класс есть
   только там, где ниже идёт блок статистики (см. blocks/hero.php), прочие
   hero-страницы не затронуты. */
@media (min-width: 992px) {
    #hero:has(.hero--stats) {
        min-height: 900px;
    }
}

@media (min-width: 992px) and (max-height: 940px) {
    .stats-features { margin-top: -180px !important; }      /* новый резерв */
}

@media (max-width: 767px) {
    #hero {
        height: 100dvh;
    }

    #hero .container {
        height: 100%;
    }

    .hero {
        border-radius: 0 0 24px 24px;
        padding: 0 16px 24px;
        display: flex;
        flex-direction: column;
    }

    .hero header.header {
        padding: 16px 0 0;
    }

    .hero-content {
        padding: 80px 0 0;
        display: flex;
        flex-direction: column;
        flex: 1;
        height: 100%;
    }

    .hero__title {
        font-size: 32px;
        font-weight: 700;
    }

    .hero__text {
        font-size: 16px;
    }

    .hero__buttons {
        margin-top: auto;
    }

    .hero__buttons .btn {
        width: 100%;
    }
}
/* endregion */

/* region Stats & Features */
.stats-features {
    /* Карточки поднимаются на hero (margin-top: -215px). Сам .hero —
       position: relative, а #hero не создаёт контекст наложения, поэтому hero
       (позиционированный) рисуется ПОВЕРХ статичных карточек и перекрывает их.
       Делаем .stats-features позиционированным с z-index выше hero, чтобы
       карточки лежали НАД hero, как задумано макетом. */
    position: relative;
    z-index: 2;
    margin: -215px auto 0;
}

.stats,
.features {
    max-width: 92%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 16px;
}

.stats-features .card {
    background: var(--color-white);
    border: 1px solid #E4E4E4;
    padding: 32px;
    border-radius: 32px;
}

.stats-features .card--accent {
    background: linear-gradient(44.44deg, #00334A 23.48%, rgba(0, 62, 87, 0.8) 92.5%);
}

/* region Stats */
.stats .card {
    height: 225px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.stats .stat__num {
    font-size: clamp(44px, 5.5vw, 100px);
    font-weight: 600;
    background: linear-gradient(180deg, #FFFFFF -54.27%, #333333 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 100%;
    white-space: nowrap;
}

.stats .stat__unit {
    font-size: clamp(28px, 3.3vw, 60px);
}

.stats .stat__caption {
    font-size: 20px;
    line-height: 100%;
    color: var(--color-dark);
    margin-top: 16px;
}
/* endregion */

/* region Features */
.features {
    margin-top: 16px;
}

/* Правка №14: карточки были слишком растянуты — при justify-content:space-between
   и большой min-height заголовок улетал вверх, текст вниз, между ними зиял пустой
   провал (особенно заметно на мобильном). Прижимаем контент к верху (flex-start) и
   снижаем min-height. Высоту карточек в ряду всё равно уравнивает грид (stretch). */
.features .card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 24px;
}

/* Акцентной карточке (24/7) нижний текст по макету нужен внизу — оставляем
   распределение по краям. */
.features .card--accent {
    justify-content: space-between;
}

.features .feature__title {
    font-size: clamp(24px, 2.4vw, 40px);
    font-weight: 700;
    line-height: 100%;
    color: var(--features-accent-color);
}

.features .feature__text {
    font-size: 20px;
    line-height: 100%;
}

.features .card--accent {
    position: relative;
    overflow: hidden;
}

.features .card--accent::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 100%;
    width: 511px;
    height: 115px;
    background: url("/bitrix/templates/lcon_clean/css/../images/svg/elcon.svg") no-repeat center;
    background-size: contain;
    transform: translate(-60%, -50%) rotate(-90deg);
}

.features .card--accent .feature__title {
    color: var(--color-white);
    font-size: clamp(60px, 6vw, 100px);
    font-weight: 600;
    line-height: 100%;
}

.features .card--accent .feature__under-title {
    max-width: 335px;
    margin-top: 8px;
}

.features .card--accent .feature__under-title,
.features .card--accent .feature__text {
    font-size: 20px;
    line-height: 100%;
    color: #FFFFFFCC;
}
/* endregion */

/* region Stats & Features adaptive */
@media (max-width: 991px) {
    .stats-features {
        margin: 0 auto;
    }

    .stats-features .card {
        padding: 24px;
        border-radius: 24px;
    }

    .stats .card {
        height: auto;
        min-height: 180px;
    }

    .features .card {
        min-height: auto;
    }

    .features .card--accent .feature__under-title {
        max-width: 260px;
    }
}

@media (max-width: 767px) {
    .stats-features .card {
        padding: 20px;
        border-radius: 20px;
        text-align: center !important;
    }

    .stats .card {
        min-height: auto;
    }

    .features .card--accent .feature__under-title {
        max-width: 100%;
    }
}

@media (max-width: 991px) {
    .stats,
    .features {
        grid-template-columns: 1fr;
    }

    .stats-features .card {
        padding: 24px;
        border-radius: 24px;
    }

    /* На мобильном площади идут первыми (см. макет) */
    .stats .card:nth-child(1) {
        order: 2;
    }

    .stats .card:nth-child(2) {
        order: 1;
    }

    .stats .card:nth-child(3) {
        order: 3;
    }

    .stats .card {
        height: auto;
        min-height: 180px;
    }

    .stats .stat__num {
        font-size: 48px;
    }

    .stats .stat__unit {
        font-size: 32px;
    }

    .stats .stat__caption {
        font-size: 16px;
        margin-top: 8px;
    }

    .features .feature__text {
        font-size: 16px;
    }

    .features .card--accent .feature__under-title,
    .features .card--accent .feature__text {
        font-size: 16px;
    }
}
/* endregion */

/* endregion */


/* ===================================================================
   Секции лендинга (products, qcm, team, trust, advantages,
   blog, certs, examples, cta) + адаптив
   =================================================================== */

/* region Products slider (object cards) */
#productsSwiper .swiper-slide {
    width: 408px;
    max-width: 82vw;
    height: auto;
}

/* Десктоп — карточка как в макете (node 13202-12984):
   полупрозрачная на тёмном фоне, крупный заголовок Roboto, картинка снизу. */
.product-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 48px;
    height: 100%;
    padding: 16px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .04);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    color: var(--color-white);
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
}

.product-card__content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 16px 16px 0;
}

.product-card__subtitle {
    font-family: Inter, sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.1;
    color: rgba(255, 255, 255, .6);
}

.product-card__title {
    font-family: Roboto, sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 1.1;
    color: var(--color-white);
}

.product-card__media {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

.product-card__img {
    position: relative;
    height: 353px;
    overflow: hidden;
    /* #d9d9dd — плейсхолдер; center/cover — фолбэк для закэшированной разметки с
       inline background-image (пока не сброшен кэш компонента). Поверх ложится <img>. */
    background: #d9d9dd center / cover no-repeat;
}

/* Фото завода — <img> вместо background-image (индексация). Заполняет контейнер
   по cover, плавный зум по ховеру карточки. */
.product-card__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.product-card:hover .product-card__pic {
    transform: scale(1.05);
}

/* Стрелка нужна только в мобильном варианте (см. card.html) */
.product-card__arrow {
    display: none;
}

/* Мобильный вариант — как в card.html: тёмная плотная карточка,
   картинка под маской и «выглядывающая» кнопка-стрелка. */
@media (max-width: 767px) {
    #productsSwiper .swiper-slide {
        width: 300px;
    }

    .product-card {
        gap: 0;
        background: #2A2D3A;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .product-card__content {
        gap: 0;
        padding: 0;
    }

    .product-card__subtitle {
        max-width: 70%;
        font-family: Roboto, sans-serif;
        color: var(--color-white);
    }

    .product-card__title {
        margin-top: 24px;
        font-family: Inter, sans-serif;
        font-size: 32px;
        font-weight: 800;
    }

    .product-card__media {
        margin-top: 24px;
        border-radius: 0;
        overflow: visible;
    }

    .product-card__img {
        height: 300px;
        overflow: visible;
        background-color: transparent;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        -webkit-mask-image: url('/bitrix/templates/lcon_clean/css/../images/card_mask.png');
        mask-image: url('/bitrix/templates/lcon_clean/css/../images/card_mask.png');
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100%;
        mask-size: 100%;
    }

    .product-card:hover .product-card__pic {
        transform: scale(1.1);
    }

    .product-card__arrow {
        position: absolute;
        right: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        background: #fff;
        color: #111;
        transition: background .2s, color .2s;
    }

    .product-card:hover .product-card__arrow {
        background: #111;
        color: #fff;
    }
}
/* endregion */

/* region QCM */
.qcm .section__head {
    align-items: flex-start;
    gap: 60px;
}

.qcm .section__title {
    flex: 0 0 auto;
    max-width: 40%;
}

.qcm__about {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 780px;
    font-size: 18px;
    color: var(--color-text);
}

.qcm__about p {
    line-height: 1.25;
    letter-spacing: 0.36px;
}

.qcm__subtitle {
    margin-top: 8px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-text);
}
/* endregion */

/* region Team */
.team {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.member {
    display: flex;
    flex-direction: column;
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: var(--radius-md);
    padding: 20px;
}

.member__photo {
    position: relative;
    aspect-ratio: 1 / 1;
    margin-bottom: 20px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: #d9d9dd center / cover no-repeat;
}

/* Фото сотрудника — <img> вместо background-image (индексация). */
.member__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member__role {
    min-height: 36px;
    font-size: 14px;
    color: var(--color-text-secondary);
}

.member__name {
    margin: 6px 0 16px;
    font-size: 20px;
    font-weight: 600;
}

.member__field {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    font-size: 14px;
    border-top: 1px solid var(--color-stroke);
}

.member__field span {
    color: var(--color-text-secondary);
}

.member__field a {
    font-weight: 500;
    color: var(--color-text);
}

.member .btn {
    margin-top: 20px;
}

/* Team как слайдер (Swiper): обёртка держит стрелки, .team перестаёт быть grid. */
.team-slider {
    position: relative;
    /* прячем «хвост» слайдов за кадром, чтобы не появлялся горизонтальный скролл страницы */
    overflow-x: hidden;
}

.team.swiper {
    display: block;
    /* немного «воздуха» под тень карточек и стрелки по краям */
    padding-bottom: 4px;
    overflow-x: hidden;
}

.team.swiper .member {
    height: auto;
    box-sizing: border-box;
}
/* endregion */

/* region Trust (на тёмном фоне) */
.trust {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) 1fr;
    gap: 24px 100px;
    align-items: start;
    margin-bottom: 64px;
}

.trust__title {
    max-width: 761px;
    font-size: clamp(32px, 3.4vw, 48px);
    font-weight: 600;
    line-height: 1.156;
    color: var(--color-white);
}

.trust__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    font-size: 16px;
    color: rgba(255, 255, 255, .8);
}

.trust__text p {
    line-height: 1.2;
    letter-spacing: 0.16px;
}
/* endregion */

/* region Advantages */
.advantages__head {
    margin-bottom: 56px;
    text-align: center;
}

.advantages__mark {
    width: 140px;
    max-width: 100%;
    margin: 0 auto 25px;
}

.advantages__mark img {
    display: block;
    width: 100%;
    height: auto;
}

.advantages__sub {
    margin-top: 12px;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: 0.36px;
    color: var(--color-text);
}

.adv-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.adv-card {
    display: flex;
    flex-direction: column;
    min-height: 406px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: var(--radius-md);
}

.adv-card__icon {
    width: 48px;
    height: 48px;
    color: var(--color-accent);
}

.adv-card__icon .svg-icon {
    display: block;
    width: 48px;
    height: 48px;
}

.adv-card__title {
    margin-top: auto;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--color-text);
}

.adv-card__text {
    margin-top: 32px;
    font-size: 20px;
    line-height: 1.2;
    color: var(--color-text-secondary);
}
/* endregion */

/* region Blog */
.blog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.post {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: var(--radius-md);
    transition: transform var(--transition), box-shadow var(--transition);
}

.post:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -28px rgba(0, 0, 0, .35);
}

.post__img {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #d9d9dd center / cover no-repeat;
}

/* Превью новости — <img> вместо background-image (индексация). */
.post__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 24px;
}

.post__date {
    font-size: 14px;
    color: var(--color-text-secondary);
}

.post__title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.post__excerpt {
    font-size: 15px;
    line-height: 1.5;
    color: var(--color-text-secondary);
}

.post .link-arrow {
    margin-top: 4px;
}
/* endregion */

/* region Certificates */
.certs {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.cert {
    margin: 0;
    text-align: center;
}

.cert__link {
    display: block;
    cursor: zoom-in;
}

.cert__img {
    position: relative;
    display: block;
    width: 220px;
    height: 300px;
    margin-bottom: 14px;
    /* center/contain — фолбэк для возможной закэшированной разметки; поверх — <img>. */
    background: var(--color-white) center / contain no-repeat;
    border: 1px solid var(--color-stroke);
    border-radius: 12px;
    box-shadow: 0 14px 30px -22px rgba(0, 0, 0, .5);
    transition: transform var(--transition), box-shadow var(--transition);
}

/* Сертификат — <img> вместо background-image (индексация). contain, чтобы лист
   был виден целиком; небольшой внутренний отступ как у прежнего фонового варианта. */
.cert__pic {
    position: absolute;
    inset: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    object-fit: contain;
}

.cert__link:hover .cert__img {
    transform: translateY(-4px);
    box-shadow: 0 20px 36px -20px rgba(0, 0, 0, .55);
}

.cert figcaption {
    font-size: 14px;
    color: var(--color-text-secondary);
}
/* endregion */

/* region Examples */
.examples {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.example__card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    aspect-ratio: 4 / 3;
    padding: 16px;
    overflow: hidden;
    border: none;
    border-radius: var(--radius-md);
    background: #2c333b center / cover no-repeat;
    color: var(--color-white);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform var(--transition), box-shadow var(--transition);
}

/* Фото объекта — <img> вместо background-image (индексация). Лежит под градиентом
   (::after) и текстом (.example__city/.example__cap, z-index:2). */
.example__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.example__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .55));
    transition: background var(--transition);
}

.example__card:hover,
.example__card:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 24px 46px -26px rgba(0, 0, 0, .65);
    outline: none;
}

.example__card:hover::after,
.example__card:focus-visible::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .65));
}

.example__city {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    padding: 6px 12px;
    font-size: 13px;
    background: rgba(255, 255, 255, .16);
    backdrop-filter: blur(4px);
    border-radius: 8px;
}

.example__cap {
    position: relative;
    z-index: 2;
    font-size: 18px;
    font-weight: 600;
}

.example__arrow {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--color-white);
    color: #111;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity var(--transition), transform var(--transition);
}

.example__card:hover .example__arrow,
.example__card:focus-visible .example__arrow {
    opacity: 1;
    transform: translateY(0);
}
/* endregion */

/* region CTA */
.cta {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
    align-items: center;
    padding: 48px;
    background: linear-gradient(77.78deg, #00334A 22.04%, rgba(0, 62, 87, 0.8) 92.5%);
    border-radius: var(--radius-lg);
    color: var(--color-white);
}

.cta__title {
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-white);
}

.cta__text {
    margin-top: 20px;
    max-width: 460px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .8);
}

.cta__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cta__input {
    width: 100%;
    padding: 16px 20px;
    font-family: inherit;
    font-size: 16px;
    color: var(--color-white);
    background: rgba(255, 255, 255, .1);
    border: 1px solid var(--color-stroke-dark);
    border-radius: 12px;
    transition: border-color var(--transition);
}

.cta__input::placeholder {
    color: rgba(255, 255, 255, .7);
}

.cta__input:focus {
    outline: none;
    border-color: rgba(255, 255, 255, .7);
}

.cta__agree {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, .8);
}

.cta__agree input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid #E4E6EE;
    border-radius: 6px;
    background-color: #F5F5F5;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

.cta__agree input[type="checkbox"]:checked {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9' fill='none'%3E%3Cpath d='M1 4.5L4.2 7.5L11 1' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.cta__agree input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.cta__agree a {
    color: var(--color-white);
    text-decoration: underline;
}
/* endregion */


/* ===================================================================
   Адаптив секций.
   Планшет (≤991) намеренно приближен к мобильной раскладке.
   =================================================================== */
@media (max-width: 991px) {
    section.section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .section__head {
        margin-bottom: 28px;
    }

    .section__title + .team-slider,
    .section__title + .certs,
    .section__title + .examples,
    .section__lead + .team-slider {
        margin-top: 28px;
    }

    /* QCM */
    .qcm .section__head {
        flex-direction: column;
        gap: 20px;
    }

    .qcm .section__title {
        max-width: 100%;
    }

    /* Team → 2 колонки */
    .team {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Trust / Advantages / Blog / CTA → одна колонка */
    .trust {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 32px;
    }

    .adv-cards,
    .blog {
        grid-template-columns: 1fr;
    }

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

    .cta {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 40px 28px;
    }

    .certs {
        gap: 20px;
    }

    .cert__img {
        width: 180px;
        height: 250px;
    }
}

@media (max-width: 767px) {
    section.section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .section__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
    }

    .section__title + .team-slider,
    .section__title + .certs,
    .section__title + .examples,
    .section__lead + .team-slider {
        margin-top: 24px;
    }

    .section__head .btn {
        width: 100%;
    }

    .section__lead {
        margin-top: 16px;
        font-size: 16px;
    }

    /* Team / Examples → одна колонка */
    .team,
    .examples {
        grid-template-columns: 1fr;
    }

    /* Advantages */
    .advantages__head {
        margin-bottom: 32px;
    }

    .adv-card {
        min-height: auto;
        padding: 28px 24px;
    }

    .adv-card__title {
        margin-top: 48px;
        font-size: 24px;
    }

    .adv-card__text {
        margin-top: 16px;
        font-size: 16px;
    }

    /* Certificates — на мобильных горизонтальный слайдер (CSS-only, свайп).
       scroll-snap подхватывает свайп/трекпад без JS; полосу прокрутки прячем. */
    .certs {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 16px;
        /* слайдер живёт внутри .container: отступ слева даёт сам контейнер,
           а справа слайды «выглядывают» за счёт горизонтального переполнения.
           right-паддинг у флекс-скроллера некоторые движки игнорируют, поэтому
           хвостовой отступ добавляем спейсером ::after (ниже). */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scrollbar-width: none; /* Firefox */
    }

    /* хвостовой отступ, чтобы последний слайд не прилипал к правому краю */
    .certs::after {
        content: "";
        flex: 0 0 var(--container-s-padding, 16px);
    }

    .certs::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }

    .cert {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .cert__img {
        width: 150px;
        height: 210px;
    }

    /* CTA */
    .cta {
        padding: 32px 20px;
        border-radius: var(--radius-md);
    }

    .cta__text {
        max-width: 100%;
    }
}
/* CTA-форма: сообщение об отправке */
.cta__form-msg{margin:0;font-size:14px;line-height:1.4}
.cta__form-msg.is-success{color:#7ee0a0}
.cta__form-msg.is-error{color:#ffbcbc}
/* Подсветка незаполненных полей CTA-формы */
.cta__input.is-invalid{border-color:#ff6b6b;box-shadow:0 0 0 2px rgba(255,107,107,.25)}
.cta__agree input[type="checkbox"].is-invalid{border-color:#ff6b6b;box-shadow:0 0 0 2px rgba(255,107,107,.35)}

/* ===== Контентные фото через <img> вместо background-image (индексация) =====
   Списки сотрудников (/company/staff/) и галереи (/gallery/) — унаследованные
   Aspro-шаблоны; размеры контейнеров задаёт тема Aspro. Делаем контейнер контекстом
   позиционирования и вкладываем <img>, заполняющий его (cover), не меняя габаритов. */
.staff-list__item-image,
.gallery-list__item-image {
    position: relative;
    overflow: hidden;
}
.staff-list__item-pic,
.gallery-list__item-pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* End */


/* Start:/bitrix/templates/lcon_clean/css/pages/forms.css?178696761918530*/
/**
 * Всплывающие окна форм (jqm-попапы: «Рассчитать под ключ», «Получить каталог»,
 * «Связаться с нами», «Написать сотруднику», callback и т.п.).
 *
 * Редизайн lcon_clean по макету Figma. Форма — светлая карточка на белом фоне;
 * экран благодарности (node 13202:13128) — тёмный, с фото-шапкой.
 * Разметку даёт components/bitrix/form.result.new/popup/template.php.
 */

/* ============================ Оверлей и контейнер ============================ */
#popup_iframe_wrapper {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: 40px 16px;
    -webkit-overflow-scrolling: touch;
}

.jqmOverlay {
    background: rgba(29, 33, 47, 0.55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

/* ============================ Окно попапа (карточка) ============================ */
.jqmWindow {
    position: relative;
    display: none;
    width: 100%;
    max-width: 620px;
    margin: auto;
    font-family: var(--font-family-primary, Inter), sans-serif;
    color: var(--color-text, #1D212F);
}

.jqmWindow .flexbox.asss { width: 100%; }

/* Светлая карточка формы */
.jqmWindow .form.popup {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    padding: 48px;
    border-radius: var(--radius-md, 24px);
    background: var(--color-white, #fff);
    box-shadow: 0 24px 60px rgba(29, 33, 47, 0.18);
}

/* ============================ Кнопка закрытия (X) ============================ */
/* .top-close приходит из ajax/form.php ПЕРЕД компонентом — позиционируем поверх карточки. */
.jqmWindow .top-close {
    position: absolute;
    top: 36px;
    right: 36px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-xs, 12px);
    cursor: pointer;
    color: var(--color-text-secondary, #878B9A);
    background: transparent;
    transition: background .15s ease, color .15s ease;
}
.jqmWindow .top-close:hover { background: var(--color-bg, #F5F5F5); color: var(--color-text, #1D212F); }
.jqmWindow .top-close svg { width: 22px; height: 22px; }
.jqmWindow .top-close svg path { stroke: currentColor; fill: currentColor; }

/* ============================ Заголовок ============================ */
.jqmWindow .form-header { padding-right: 60px; }
.jqmWindow .form-header .title {
    font-family: 'Roboto', var(--font-family-primary, Inter), sans-serif;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--color-text, #1D212F);
}
.jqmWindow .form-header .form_desc {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.25;
    color: var(--color-text-secondary, #878B9A);
}

/* ============================ Тело формы / поля ============================ */
.jqmWindow .form-body { display: flex; flex-direction: column; }
.jqmWindow .form-body .row { margin: 0 0 16px; }
.jqmWindow .form-body .row:last-child { margin-bottom: 0; }
.jqmWindow .form-body .col-md-12 { width: 100%; }

/* Базовый вид контролов */
.jqmWindow .form-body .input input,
.jqmWindow .form-body .input textarea,
.jqmWindow .form-body .input select,
.jqmWindow .form-body .form-control {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.25;
    color: var(--color-text, #1D212F);
    background: var(--color-bg, #F5F5F5);
    border: 1px solid transparent;
    border-radius: var(--radius-xs, 12px);
    outline: none;
    transition: border-color .15s ease, background .15s ease;
}
.jqmWindow .form-body .input input,
.jqmWindow .form-body .input select {
    height: 48px;
    padding: 21px 12px 7px;
}
.jqmWindow .form-body .input textarea {
    min-height: 100px;
    max-height: 260px;
    padding: 24px 12px 10px;
    resize: vertical;
}
.jqmWindow .form-body .input input:focus,
.jqmWindow .form-body .input textarea:focus,
.jqmWindow .form-body .input select:focus {
    border-color: var(--color-accent, #AD1927);
    background: var(--color-white, #fff);
}
.jqmWindow .form-body .input input::placeholder,
.jqmWindow .form-body .input textarea::placeholder { color: var(--color-text-secondary, #878B9A); }

/* Автозаполнение браузера не должно менять фон */
.jqmWindow .form-body input:-webkit-autofill,
.jqmWindow .form-body input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--color-text, #1D212F);
    -webkit-box-shadow: 0 0 0 1000px var(--color-bg, #F5F5F5) inset;
    caret-color: var(--color-text, #1D212F);
}

/* Select — убираем нативную стрелку, рисуем свой шеврон */
.jqmWindow .form-body .input select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23878B9A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

/* ---- Плавающий лейбл (label как плейсхолдер внутри поля) ---- */
/* ВАЖНО: цепляем ТОЛЬКО подпись поля (label.font_13). Метка ошибки — тоже <label>
   (errorElement:'label'), и если её тоже сделать absolute, она ляжет поверх поля.
   Поэтому селекторы строго на label.font_13, а .field-error остаётся статичной снизу. */
.jqmWindow .form-group.fill-animate { position: relative; }
.jqmWindow .form-group.fill-animate > label.font_13 {
    position: absolute;
    left: 13px;
    top: 14px;
    margin: 0;
    max-width: calc(100% - 44px);
    font-size: 16px;
    line-height: 1.25;
    color: var(--color-text-secondary, #878B9A);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    transition: top .15s ease, font-size .15s ease, color .15s ease;
    z-index: 2;
}
/* textarea — лейбл прижат к верху */
.jqmWindow .form-group.fill-animate:has(textarea) > label.font_13 { top: 16px; }
/* Поднятое (floated) состояние: фокус, заполнено, автозагружено или это select */
.jqmWindow .form-group.fill-animate:focus-within > label.font_13,
.jqmWindow .form-group.fill-animate.has-value > label.font_13,
.jqmWindow .form-group.fill-animate.input-filed > label.font_13,
.jqmWindow .form-group.fill-animate:has(select) > label.font_13 {
    top: 7px;
    font-size: 11px;
    color: var(--color-text-secondary, #878B9A);
}
.jqmWindow .form-group.fill-animate > label.font_13 .required-star { color: var(--color-accent, #AD1927); }

/* ---- Чекбоксы согласия ---- */
/* Внешний лейбл поля у групп чекбоксов/радио пустой (caption рендерится рядом с боксом) —
   скрываем безусловно: :empty не годится, внутри есть пробелы/переносы из PHP. */
.jqmWindow .style_check .form-group > label { display: none; }
.jqmWindow .filter.checkbox,
.jqmWindow .filter.radio {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
}
.jqmWindow .filter.checkbox:last-child { margin-bottom: 0; }
.jqmWindow .form-checkbox__input {
    position: absolute;
    width: 1px; height: 1px;
    opacity: 0;
    pointer-events: none;
}
.jqmWindow .form-checkbox__label { flex-shrink: 0; margin: 0; cursor: pointer; line-height: 0; }
.jqmWindow .form-checkbox__box {
    display: inline-block;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    border: 1px solid var(--color-stroke, #E4E6EE);
    border-radius: 6px;
    background: var(--color-bg, #F5F5F5);
    transition: background .15s ease, border-color .15s ease;
}
.jqmWindow .form-checkbox__input:checked ~ .form-checkbox__label .form-checkbox__box {
    border-color: var(--color-accent, #AD1927);
    background: var(--color-accent, #AD1927)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-6.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        no-repeat center;
}
.jqmWindow .filter.checkbox > span,
.jqmWindow .filter.radio > span {
    flex: 1 1 auto;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.16px;
    color: var(--color-text, #1D212F);
}
.jqmWindow .filter a,
.jqmWindow .filter.checkbox > span a {
    color: var(--color-accent, #AD1927);
    text-decoration: underline;
}
.jqmWindow .filter a:hover { text-decoration: none; }

/* ============================ Футер / кнопка отправки ============================ */
/* Элемент <form> разрывает flex-gap карточки, поэтому отступ футера от тела задаём явно. */
.jqmWindow .form-footer { display: flex; justify-content: flex-end; margin-top: 32px; }
.jqmWindow .form-footer > div { display: inline-flex; }
.jqmWindow input[type="submit"],
.jqmWindow .btn.btn-default {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 160px;
    height: 48px;
    padding: 12px 24px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-white, #fff);
    background: var(--color-accent, #AD1927);
    border: none;
    border-radius: var(--radius-xs, 12px);
    cursor: pointer;
    transition: background .15s ease;
    box-sizing: border-box;
}
.jqmWindow input[type="submit"]:hover,
.jqmWindow .btn.btn-default:hover { background: var(--color-accent-dark, #8E1320); }

/* Идёт отправка: спиннер на кнопке + блокировка повторного клика.
   Текст прячем (transparent), крутящийся SVG кладём по центру. pointer-events:none
   не даёт кликнуть второй раз; двойной сабмит дополнительно гасится в popup-forms.js. */
.jqmWindow .form.sending input[type="submit"],
.jqmWindow .form.sending .btn.btn-default {
    color: transparent !important;
    pointer-events: none;
    background-color: var(--color-accent-dark, #8E1320);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='9' fill='none' stroke='white' stroke-opacity='.3' stroke-width='2'/%3E%3Cpath d='M11 2a9 9 0 0 1 9 9' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 11 11' to='360 11 11' dur='.7s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
}

/* ============================ Ошибки ============================ */
/* Верхний блок серверной ошибки */
.jqmWindow .form-error,
.jqmWindow .alert-danger {
    margin: 0 0 8px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #E4322B;
    background: rgba(228, 50, 43, 0.09);
    border: 1px solid rgba(228, 50, 43, 0.25);
    border-radius: var(--radius-xs, 12px);
}
/* Поле с ошибкой. Контейнер метится классом .has-error (см. highlight в template.php):
   НЕЛЬЗЯ использовать .error на контейнере — jquery.validate ищет ошибки как $("label.error"),
   но при errorElement:'div' цеплял бы .input.error и вычищал <input> через .text(""). */
.jqmWindow .form-body .input.has-error input,
.jqmWindow .form-body .input.has-error textarea,
.jqmWindow .form-body .input.has-error select,
.jqmWindow .form-body input.error,
.jqmWindow .form-body textarea.error,
.jqmWindow .form-body select.error {
    border-color: #E4322B !important;
    background: rgba(228, 50, 43, 0.06);
    box-shadow: 0 0 0 3px rgba(228, 50, 43, 0.10);
}
/* Обязательный чекбокс с ошибкой — краснеет только сам бокс */
.jqmWindow .filter.checkbox.has-error .form-checkbox__box {
    border-color: #E4322B;
    box-shadow: 0 0 0 3px rgba(228, 50, 43, 0.10);
}
/* Текст ошибки под полем. Метка ошибки — <label class="error field-error"> (errorPlacement).
   flex:1 0 100% гарантирует, что сообщение встаёт ПОД полем на всю ширину. */
.jqmWindow .field-error,
.field-error {
    position: static;      /* не наследовать absolute от плавающего лейбла */
    left: auto;
    top: auto;
    display: block;
    flex: 1 0 100%;
    width: 100%;
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    color: #E4322B;
    pointer-events: auto;
    white-space: normal;   /* ошибка переносится, а не обрезается как лейбл */
}

/* ============================ Экран благодарности (Figma 13202:13128) ============================ */
/* Окно успеха — тёмное, во всю ширину карточки, с фото-шапкой и тёмной панелью. */
.jqmWindow .form.popup.success {
    padding: 0;
    gap: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #22252F;
    color: var(--color-white, #fff);
}
/* Заголовок обычной формы на экране успеха не нужен (дублировал бы заголовок панели). */
.jqmWindow .form.popup.success .form-header { display: none; }

/* Фото-шапка (через background, чтобы dev2fun.imagecompress не ломал <img> lazyload) */
.jqmWindow .form-success__media {
    position: relative;
    width: 100%;
    aspect-ratio: 620 / 320;
    overflow: hidden;
    background-image: url(/bitrix/templates/lcon_clean/css/pages/../../images/forms/form-success-bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Крестик поверх фото — приходит из ajax/form.php как .top-close, переопределяем позицию/фон. */
.jqmWindow:has(.form.popup.success) .top-close {
    top: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--color-text, #1D212F);
}
.jqmWindow:has(.form.popup.success) .top-close:hover { background: rgba(255, 255, 255, 0.85); }

/* Тёмная панель с текстом и кнопками */
.jqmWindow .form-success__panel {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 32px 48px 48px;
    text-align: center;
}
.jqmWindow .form-success__head { display: flex; flex-direction: column; gap: 16px; align-items: center; }
.jqmWindow .form-success__title {
    font-family: 'Roboto', var(--font-family-primary, Inter), sans-serif;
    font-size: 40px;
    line-height: 1.1;
    font-weight: 500;
    color: var(--color-white, #fff);
}
.jqmWindow .form-success__desc {
    font-size: 16px;
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.6);
}
.jqmWindow .form-success__desc p { margin: 0 0 4px; }
.jqmWindow .form-success__desc p:last-child { margin-bottom: 0; }

.jqmWindow .form-success__actions {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.jqmWindow .form-success__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 12px 24px;
    border: none;
    border-radius: var(--radius-xs, 12px);
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease;
}
.jqmWindow .form-success__btn--light { background: var(--color-white, #fff); color: var(--color-text, #1D212F); }
.jqmWindow .form-success__btn--light:hover { background: rgba(255, 255, 255, 0.88); }
.jqmWindow .form-success__btn--accent { background: var(--color-accent, #AD1927); color: var(--color-white, #fff); }
.jqmWindow .form-success__btn--accent:hover { background: var(--color-accent-dark, #8E1320); }

/* Мягкое появление окна «спасибо» */
.jqmWindow.is-success .form.popup.success { animation: lconFormSuccessIn .3s ease; }
@keyframes lconFormSuccessIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================ Адаптив ============================ */
@media (max-width: 575px) {
    #popup_iframe_wrapper { padding: 16px 12px; }
    .jqmWindow .form.popup { padding: 28px 20px; gap: 24px; border-radius: 20px; }
    .jqmWindow .top-close { top: 22px; right: 18px; width: 40px; height: 40px; }
    .jqmWindow .top-close svg { width: 20px; height: 20px; }
    .jqmWindow .form-header { padding-right: 48px; }
    .jqmWindow .form-header .title { font-size: 24px; }
    .jqmWindow input[type="submit"],
    .jqmWindow .btn.btn-default { width: 100%; }

    /* Экран благодарности на мобильных */
    .jqmWindow .form.popup.success { padding: 0; }
    .jqmWindow .form-success__panel { gap: 28px; padding: 24px 20px 32px; }
    .jqmWindow .form-success__title { font-size: 28px; }
    .jqmWindow .form-success__desc { font-size: 15px; }
    .jqmWindow .form-success__actions { flex-direction: column; }
    .jqmWindow .form-success__btn { width: 100%; }
    .jqmWindow:has(.form.popup.success) .top-close { top: 16px; right: 16px; }
}

/* End */


/* Start:/bitrix/templates/.default/ajax/ajax.min.css?1670243977420*/
iframe.waitwindowlocal{position:absolute;border:0;z-index:9999}div.waitwindowlocal{position:absolute;width:25px;height:25px;padding:0;z-index:10000;background-color:#fcf7d1;border:1px solid #e1b52d;background-image:url(/bitrix/templates/.default/ajax/images/wait.gif);background-position:center center;background-repeat:no-repeat}div.waitwindowlocalshadow{position:absolute;z-index:9998;background-image:url(/bitrix/templates/.default/ajax/images/shadow.gif);border:1px solid #808080}
/* End */
/* /bitrix/templates/lcon_clean/libs/swiper/swiper-bundle.min.css?178391793518454 */
/* /bitrix/templates/lcon_clean/libs/fancybox/fancybox.css?178391793525343 */
/* /bitrix/templates/lcon_clean/css/styles.css?178750489084759 */
/* /bitrix/templates/lcon_clean/css/pages/forms.css?178696761918530 */
/* /bitrix/templates/.default/ajax/ajax.min.css?1670243977420 */
