/*********************************************/
/***** AnimateObserver BEGIN*****/
/*********************************************/
[data-observe]{opacity:0;transition:opacity 0.5s ease, transform 0.5s ease;}
/* Початкові стани */
.anim-fade{opacity:0;}
.anim-slide-up{transform:translateY(50%);}
.anim-slide-down{transform:translateY(-50%);}
.anim-slide-left{transform:translateX(50%);}
.anim-slide-right{transform:translateX(-50%);}
/* При появі */
.in-view.fade-in{opacity:1;}
.in-view.slide-up{opacity:1;transform:translateY(0);}
.in-view.slide-down{opacity:1;transform:translateY(0);}
.in-view.slide-left{opacity:1;transform:translateX(0);}
.in-view.slide-right{opacity:1;transform:translateX(0);}
/*********************************************/
/***** END AnimateObserver *****/
/*********************************************/

/*********************************************/
/***** Menu Toggle Switches BEGIN*****/
/*********************************************/
.cmn-toggle-switch{position:relative;display:block;width:32px;height:22px;margin:0;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;box-shadow:none;border-radius:none;border:none;cursor:pointer;-webkit-transition:background 0.5s;transition:background 0.5s;}
.cmn-toggle-switch:focus{outline:none;}
.cmn-toggle-switch span{display:block;position:absolute;top:10px;left:0;width:24px;height:2px;background-color:#AA7930;}
.cmn-toggle-switch span:before,.cmn-toggle-switch span:after{content:"";position:absolute;display:block;left:0;width:32px;height:2px;background-color:#AA7930;}
.cmn-toggle-switch span:before{top:-10px;}
.cmn-toggle-switch span:after{bottom:-10px;}
.cmn-toggle-switch em{display:block;margin-top:30px;color:#AA7930;}
/*Hamburger to "x" (htx). Takes on a hamburger shape, bars slide down to center and transform into an "x"*/
.cmn-toggle-switch__htx{background-color:transparent;}
.cmn-toggle-switch__htx span{-webkit-transition:background 0 0.5s;transition:background 0 0.5s;}
.cmn-toggle-switch__htx span:before,.cmn-toggle-switch__htx span:after{-webkit-transition-duration:0.5s, 0.5s;transition-duration:0.5s, 0.5s;-webkit-transition-delay:0.5s, 0;transition-delay:0.5s, 0;}
.cmn-toggle-switch__htx span:before{-webkit-transition-property:top, -webkit-transform;-moz-transition-property:top, -moz-transform;-ms-transition-property:top, -ms-transform;-o-transition-property:top, -webkit-transform;transition-property:top, transform;}
.cmn-toggle-switch__htx span:after{-webkit-transition-property:bottom, -webkit-transform;-moz-transition-property:bottom, -moz-transform;-ms-transition-property:bottom, -ms-transform;-o-transition-property:bottom, -webkit-transform;transition-property:bottom, transform;}
/* active state, i.e. menu open */
.cmn-toggle-switch__htx.active{background-color:transparent;}
.cmn-toggle-switch__htx.active span{background:none;}
.cmn-toggle-switch__htx.active span:before{top:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);}
.cmn-toggle-switch__htx.active span:after{bottom:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(-45deg);}
.cmn-toggle-switch__htx.active span:before,
.cmn-toggle-switch__htx.active span:after{-webkit-transition-delay:0, 0.5s;-moz-transition-delay:0, 0.5s;-ms-transition-delay:0, 0.5s;-o-transition-delay:0, 0.5s;transition-delay:0, 0.5s;background-color:#FFD373;}
.cmn-toggle-switch__htx.x-active span:before{ top:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);}
.cmn-toggle-switch__htx.x-active span:after{bottom:0;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);}
.cmn-toggle-switch__htx.x-active span:before,.cmn-toggle-switch__htx.x-active span:after{-webkit-transition-delay:0, 0.5s;-moz-transition-delay:0, 0.5s;-ms-transition-delay:0, 0.5s;-o-transition-delay:0, 0.5s;transition-delay:0, 0.5s;}
/*********************************************/
/***** END Menu Toggle Switches *****/
/*********************************************/

/*********************************************/
/***** Zoom In & Out BEGIN *****/
/*********************************************/
.zoom-in{-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-transition:all 0.5s linear 0s;transition:all 0.5s linear 0s;}
.zoom-in:hover{-webkit-transform:scale(1);transform:scale(1);}
.zoom-out{-webkit-transform:scale(1);transform:scale(1);-webkit-transition:all 0.5s linear 0s;transition:all 0.5s linear 0s;}
.zoom-out:hover{-webkit-transform:scale(1.1);transform:scale(1.1);}
/*********************************************/
/***** END Zoom In & Out *****/
/*********************************************/

/*********************************************/
/***** Zoom In & Out BEGIN *****/
/*********************************************/
.scrolling-logos-container{overflow:hidden;padding:20px 0;}
.scrolling-row{display:flex;overflow:hidden;white-space:nowrap;align-items:center;}
.scrolling-row:last-child{margin-top:-1px;}
.logos-track{display:flex;align-items:center;animation-timing-function:linear;animation-iteration-count:infinite;}
.scrolling-row.left .logos-track{animation-name:scroll-left;}
.scrolling-row.right .logos-track{animation-name:scroll-right;}
.logo-item{position:relative;flex:0 0 200px;align-items:center;text-align:center;color:#1A1A1A;}
.logo-item img{display:block;width:100%;height:auto;}
/* Анімації без стрибка */
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes scroll-right{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.logo-item::after{content:"✦";position:absolute;top:50%;right:-8px;transform:translateY(-50%) scale(1);color:#1A1A1A;font-size:18px;animation:pulse-divider 2.5s ease-in-out infinite;}
/* Через один — інший символ */
.logo-item:nth-child(even)::after{content:"✧";}
@keyframes pulse-divider{0%{transform:translateY(-50%) scale(1);}50%{transform:translateY(-50%) scale(1.5);}100%{transform:translateY(-50%) scale(1);}}
/* ◆ ✦ ✧ • ◆ ✷ ∗ ❋ */
/*********************************************/
/***** END Zoom In & Out *****/
/*********************************************/

/*********************************************/
/***** Blueprint Button BEGIN *****/
/*********************************************/
.b-btn-blueprint{position:relative;display:inline-flex;background-color:#11161C;border:1px solid rgba(255,255,255,0.2);align-items:center;justify-content:center;padding:18px 34px;overflow:hidden;letter-spacing:0.12em;color:#FFF;font-size:0.85rem;font-weight:600;text-decoration:none;text-transform:uppercase;transition:all 0.35s ease;}
/* grid blueprint overlay */
.b-btn-blueprint::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);background-size:12px 12px;opacity:0.35;transition:opacity 0.35s ease;}
/* animated technical line */
.b-btn-blueprint::after{content:'';position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);transition:left 0.6s ease;}
.b-btn-blueprint__text{position:relative;z-index:2;}
.b-btn-blueprint:hover{background-color:#151C24;border-color:rgba(255,255,255,0.4);}
.b-btn-blueprint:hover::before{opacity:0.6;}
.b-btn-blueprint:hover::after{left:120%;}
/*********************************************/
/***** END Blueprint Button *****/
/*********************************************/

/*********************************************/
/***** Construction Stripe Button BEGIN *****/
/*********************************************/
.b-btn-stripe{position:relative;display:inline-flex;background-color:#AA7930;border:1px solid rgba(255,255,255,0.15);align-items:center;justify-content:center;padding:18px 34px;overflow:hidden;letter-spacing:0.12em;color:#FFF;text-decoration:none;text-transform:uppercase;font-size:0.85rem;font-weight:600;transition:all 0.35s ease;}
/* dark industrial stripes */
.b-btn-stripe::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,193,7,0.08) 0px,rgba(255,193,7,0.08) 12px,transparent 12px,transparent 24px);opacity:0;transform:translateX(-30px);transition:opacity 0.35s ease,transform 0.45s ease;}
/* subtle metallic layer */
.b-btn-stripe::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,0.04),transparent);pointer-events:none;}
.b-btn-stripe__text{position:relative;z-index:2;}
.b-btn-stripe:hover{background-color:#202020;border-color:rgba(255,193,7,0.25);}
.b-btn-stripe:hover::before{opacity:1;transform:translateX(0);}
/*********************************************/
/***** END Construction Stripe Button *****/
/*********************************************/

/*********************************************/
/***** Technical Coordinates Button BEGIN *****/
/*********************************************/
.b-btn-tech{position:relative;display:inline-flex;background-color:#1A1A1A;border:1px solid rgba(255,255,255,0.15);align-items:center;justify-content:center;gap:18px;padding:20px 34px;overflow:hidden;color:#FFF;text-decoration:none;text-transform:uppercase;transition:all 0.35s ease;}
/* corner marks */
.b-btn-tech::before,
.b-btn-tech::after{content:'';position:absolute;width:14px;height:14px;border-color:rgba(255,255,255,0.35);transition:all 0.35s ease;}
.b-btn-tech::before{top:8px;left:8px;border-top:1px solid;border-left:1px solid;}
.b-btn-tech::after{right:8px;bottom:8px;border-right:1px solid;border-bottom:1px solid;}
/* technical line */
.b-btn-tech__meta{position:relative;letter-spacing:0.18em;opacity:0.45;font-size:0.65rem;}
/* main text */
.b-btn-tech__text{position:relative;letter-spacing:0.12em;font-size:0.9rem;font-weight:700;}
/* coordinates */
.b-btn-tech__coords{position:relative;opacity:0.45;letter-spacing:0.14em;font-size:0.65rem;}
/* hover */
.b-btn-tech:hover{background-color:#171717;border-color:rgba(255,255,255,0.35);}
.b-btn-tech:hover::before{top:4px;left:4px;}
.b-btn-tech:hover::after{right:4px;bottom:4px;}
/*********************************************/
/***** END Technical Coordinates Button *****/
/*********************************************/

/*********************************************/
/***** Phone Button BEGIN *****/
/*********************************************/ 
.b-btn-phone{display:inline-flex;border:1px solid rgba(255,255,255,0.12);align-items:center;gap:20px;padding:0 16px 0 0;color:#FFF;text-decoration:none;transition:all 0.35s ease;} 
.b-btn-phone__icon{display:flex;width:58.39px; height:58.39px;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,0.12);font-size:1rem;flex-shrink:0;} 
.b-btn-phone__content{display:flex;flex-direction:column;line-height:1.2;} 
.b-btn-phone__label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;margin-bottom:4px;} 
.b-btn-phone__number{color:#FFF;font-size:1rem;font-weight:600;} 
/*********************************************/
/***** END Phone Button *****/
/*********************************************/

/*********************************************/
/***** Fancy Butonn BEGIN*****/
/*********************************************/
.fancy-btn{position:relative;display:inline-flex;background-color:#0D0D0D;border-radius:4px;overflow:hidden;padding:6px 48px 6px 24px;align-items:center;color:#FFF;font-weight:600;text-decoration:none;text-align:center;}
.fancy-btn:hover{background-color:#0D0D0D;}
/*** Текстова обгортка з фоном ***/
.btn-text-wrap{position:relative;z-index:2;display:inline-block;border-radius:4px;overflow:hidden;padding:6px;color:#FFF;transition:transform 0.5s ease;}
.btn-text-wrap::before{content:'';position:absolute;top:0;/* ⬅️ початок зліва */right:100%;width:100%;height:100%;background-color:#FFD700;transition:right 0.5s ease;z-index:1;}
.fancy-btn:hover .btn-text-wrap::before{right:0;}
.fancy-btn:hover .btn-text-wrap{transform:translateX(24px);}
.btn-text{position:relative;z-index:2;transition:color 0.5s ease;}
.fancy-btn:hover .btn-text{color:#FFF;}
.arrow{position:absolute;top:50%;width:32px;height:32px;border-radius:4px;padding:0;line-height:32px;transform:translateY(-50%);transition:all 0.5s ease;z-index:2;color:#FFF;font-size:16px;text-align:center;}
/*** Права стрілка з фоном ***/
.right-filled{right:6px;background-color:#FFD700;transition:transform 0.5s ease, opacity 0.5s ease;}
.fancy-btn:hover .right-filled{transform:translate(150%, -50%);opacity:0;}
/*** Ліва стрілка без фону ***/
.left-plain{left:-30px;opacity:0;z-index:2;color:#FFF;}
.fancy-btn:hover .left-plain{left:6px;opacity:1;}
/*********************************************/
/***** END Fancy Butonn *****/
/*********************************************/

/*********************************************/
/***** Learn More Butonn BEGIN*****/
/*********************************************/
/* From Uiverse.io by cssbuttons-io */ 
button{position:relative;display:inline-block;background:transparent;cursor:pointer;border:1px solid #F5F5F5;border-radius:1.625rem;outline:none;padding:0;vertical-align:middle;font-size:inherit;font-family:inherit;text-decoration:none;}
button.learn-more{width:12rem;height:auto;}
button.learn-more .circle{position:relative;display:block;margin:0;width:3.25rem;height:3rem;background-color:#0057B8;border-radius:1.625rem;transition:all 0.45s cubic-bezier(0.65, 0, 0.076, 1);}
button.learn-more .circle .icon{position:absolute;top:0;bottom:0;background-color:#FFF;margin:auto;transition:all 0.45s cubic-bezier(0.65,0,0.076,1);}
button.learn-more .circle .icon.arrow{left:0.625rem;width:1.125rem;height:0.125rem;background:none;transition:all 0.45s cubic-bezier(0.65,0,0.076,1);}
button.learn-more .circle .icon.arrow::before{position:absolute;content:"";top:-4px;right:0.0625rem;width:0.625rem;height:0.625rem;border-top:0.125rem solid #FFF;border-right:0.125rem solid #FFF;transform:rotate(45deg);}
button.learn-more .button-text{position:absolute;top:0;left:0;right:0;bottom:0;margin:0 0 0 48px;padding:0.75rem 0;line-height:1.6;color:#0057B8;font-weight:600;text-align:center;text-transform:uppercase;transition:all 0.45s cubic-bezier(0.65,0,0.076,1);}
button:hover .circle{width:100%;}
button:hover .circle .icon.arrow{background-color:#FFF;transform:translate(1rem, 0);}
button:hover .button-text{color:#FFF;}
/*********************************************/
/***** END Learn More Butonn *****/
/*********************************************/