/* Cyber-Tek navigation refresh — 2026-09 */
body:not(.home) .top_panel_navi{background:#0c1019f5!important;border-bottom:1px solid #ffffff1c;backdrop-filter:blur(18px)}
body:not(.home) .menu_main_wrap{padding:18px 0!important;background:transparent!important}
body:not(.home) .menu_main_wrap .content_wrap{width:calc(100% - 48px);max-width:1380px;display:flex;align-items:center;gap:22px}
body:not(.home) .menu_main_wrap .logo{margin:0 auto 0 0!important;flex-shrink:0}
body:not(.home) .menu_main_wrap .logo img{max-height:56px;width:auto}
body:not(.home) .menu_main_nav_area{float:none!important;margin:0!important}
body:not(.home) .menu_main_nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
body:not(.home) .menu_main_nav>li>a{font:600 13px/1.4 Arial,sans-serif!important;padding:15px 13px!important;color:#e9edf5!important;text-transform:none!important;letter-spacing:0!important;transition:background .2s,color .2s}
body:not(.home) .menu_main_nav>li>a:hover{color:#ff6672!important;background:#ffffff07;border-radius:5px}
body:not(.home) .menu_main_nav>li.current-menu-item>a{color:#ff6672!important}
body:not(.home) .menu_main_nav>li>a[href$='/contacts/']{background:#d93645;border-radius:5px;color:white!important}
body:not(.home) .menu_main_nav .sub-menu{background:#151b26!important;border:1px solid #394150;border-radius:8px;box-shadow:0 15px 40px #0005}
body:not(.home) .menu_main_nav .sub-menu a{color:#e9edf5!important;font-family:Arial,sans-serif!important;text-transform:none!important}
.menu_mobile{background:#0c111b!important}.menu_mobile .menu_mobile_nav_area li>a{color:#ecf0f8!important}.menu_mobile .menu_mobile_nav_area li>a:hover{color:#ff6672!important}
@media(max-width:1000px){body:not(.home) .menu_main_nav>li>a{font-size:11px!important;padding:13px 8px!important}body:not(.home) .menu_main_wrap .content_wrap{gap:12px}}
@media(prefers-reduced-motion:reduce){.menu_main_nav a{transition:none!important}}

/* Cyber-Tek: viewport scenes, September 2026. Content is visible without JS. */
body.ct-motion-ready .ct-motion.is-inview .ct-motion-unit,
body.ct-motion-ready .ct-sub-text.is-inview {
  animation: ct-rise-in 760ms cubic-bezier(.18,.72,.2,1) backwards;
  animation-delay: var(--ct-delay, 0ms);
}
body.ct-motion-ready .ct-sub-text.is-inview {
  animation-name:ct-text-reveal;
  animation-duration:680ms;
}
@keyframes ct-text-reveal {
  from { opacity:.65; transform:translate3d(0,16px,0); filter:blur(2px); }
  to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
}
@keyframes ct-rise-in {
  from { opacity:.56; transform:translate3d(0,22px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
/* Intro and editorial marque: a controlled horizontal sweep. */
.ct-home .ct-motion-intro.is-inview a {
  animation:ct-rise-in 760ms cubic-bezier(.18,.72,.2,1) 130ms backwards;
}
.ct-home .ct-motion-strip { position:relative; overflow:hidden; }
.ct-home .ct-motion-strip::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg,transparent,#e23d4e 25%,#ff9a9f 65%,transparent);
  transform:scaleX(0); transform-origin:left; pointer-events:none;
}
.ct-home .ct-motion-strip.is-inview::after {
  animation:ct-line-sweep 1100ms cubic-bezier(.18,.72,.2,1) 150ms both;
}
@keyframes ct-line-sweep { to { transform:scaleX(1); } }
/* Service images arrive one after the other; a red trace follows their edge. */
.ct-home .ct-motion-services .ct-card { position:relative; }
.ct-home #section_2 .ct-card .ct-webgl-lamp {
  position:absolute; left:0; top:0; width:100%; display:block;
  pointer-events:none; mix-blend-mode:screen; z-index:1;
}
.ct-home .ct-motion-services .ct-card::after {
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg,#ff4b60,#ffbbc0,transparent);
  transform:scaleX(0); transform-origin:left; pointer-events:none;
}
.ct-home .ct-motion-services.is-inview .ct-card::after {
  animation:ct-line-sweep 900ms cubic-bezier(.18,.72,.2,1) both;
}
.ct-home .ct-motion-services.is-inview .ct-card:nth-child(2)::after { animation-delay:180ms; }
.ct-home .ct-motion-services.is-inview .ct-card:nth-child(3)::after { animation-delay:360ms; }
/* Two halves of the engineering story move towards each other. */
body.ct-motion-ready .ct-motion-expertise.is-inview .ct-split > div:first-child {
  animation-name:ct-enter-left;
}
body.ct-motion-ready .ct-motion-expertise.is-inview .ct-split > div:last-child {
  animation-name:ct-enter-right;
}
@keyframes ct-enter-left {
  from { opacity:.6; transform:translate3d(-28px,0,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes ct-enter-right {
  from { opacity:.6; transform:translate3d(28px,0,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
/* A single highlight crosses the magazine covers as the section appears. */
.ct-home .ct-motion-press .ct-press-link { position:relative; overflow:hidden; }
.ct-home .ct-motion-press .ct-press-link::after {
  content:""; position:absolute; inset:-45% auto -45% -60%; width:34%;
  background:linear-gradient(90deg,transparent,#ffffff24,transparent);
  transform:translateX(-120%) skewX(-18deg); pointer-events:none; opacity:0;
}
.ct-home .ct-motion-press.is-inview .ct-press-link::after {
  animation:ct-glint 1250ms ease-out 420ms both;
}
.ct-home .ct-motion-press.is-inview .ct-press-link:nth-child(2)::after { animation-delay:610ms; }
@keyframes ct-glint {
  8% { opacity:.8; }
  85% { opacity:.8; }
  to { opacity:0; transform:translateX(650%) skewX(-18deg); }
}
/* The three steps count in with a brief illuminated numeral. */
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-num {
  animation:ct-number 850ms ease-out backwards;
}
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-card:nth-child(2) .ct-num { animation-delay:210ms; }
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-card:nth-child(3) .ct-num { animation-delay:420ms; }
@keyframes ct-number {
  from { color:#ffb2b9; text-shadow:0 0 24px #ef455a; }
  to { text-shadow:none; }
}
/* FAQ keeps its native, keyboard-friendly details behaviour. */
.ct-home .ct-motion-faq details { border-color:#4b323a; }
.ct-home .ct-motion-faq.is-inview details {
  animation:ct-rise-in 650ms cubic-bezier(.18,.72,.2,1) backwards;
  animation-delay:var(--ct-delay,0ms);
}
/* Contact closes the story with a soft red light, no perpetual animation. */
.ct-home .ct-motion-contact { position:relative; isolation:isolate; overflow:hidden; }
.ct-home .ct-motion-contact::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 75% 25%,#ff718827,transparent 48%);
  opacity:0; transition:opacity 1000ms ease-out;
}
.ct-home .ct-motion-contact.is-inview::before { opacity:1; }
@media(max-width:760px) {
  @keyframes ct-text-reveal {
    from { opacity:.72; transform:translate3d(0,9px,0); filter:blur(0); }
    to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
  }
  @keyframes ct-rise-in {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
  @keyframes ct-enter-left {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
  @keyframes ct-enter-right {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
}
@media(prefers-reduced-motion:reduce) {
  body.ct-motion-ready .ct-motion-unit,
  body.ct-motion-ready .ct-sub-motion,
  body.ct-motion-ready .ct-sub-text,
  .ct-home .ct-motion.is-inview .ct-motion-unit,
  .ct-home .ct-motion::after,
  .ct-home .ct-motion::before,
  .ct-home .ct-motion .ct-card::after,
  .ct-home .ct-motion .ct-press-link::after,
  .ct-home .ct-motion-steps .ct-num { animation:none!important; transition:none!important; }
  .ct-home #section_2 .ct-card .ct-webgl-lamp { display:none!important; }
/* Cyber-Tek navigation refresh — 2026-09 */
body:not(.home) .top_panel_navi{background:#0c1019f5!important;border-bottom:1px solid #ffffff1c;backdrop-filter:blur(18px)}
body:not(.home) .menu_main_wrap{padding:18px 0!important;background:transparent!important}
body:not(.home) .menu_main_wrap .content_wrap{width:calc(100% - 48px);max-width:1380px;display:flex;align-items:center;gap:22px}
body:not(.home) .menu_main_wrap .logo{margin:0 auto 0 0!important;flex-shrink:0}
body:not(.home) .menu_main_wrap .logo img{max-height:56px;width:auto}
body:not(.home) .menu_main_nav_area{float:none!important;margin:0!important}
body:not(.home) .menu_main_nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
body:not(.home) .menu_main_nav>li>a{font:600 13px/1.4 Arial,sans-serif!important;padding:15px 13px!important;color:#e9edf5!important;text-transform:none!important;letter-spacing:0!important;transition:background .2s,color .2s}
body:not(.home) .menu_main_nav>li>a:hover{color:#ff6672!important;background:#ffffff07;border-radius:5px}
body:not(.home) .menu_main_nav>li.current-menu-item>a{color:#ff6672!important}
body:not(.home) .menu_main_nav>li>a[href$='/contacts/']{background:#d93645;border-radius:5px;color:white!important}
body:not(.home) .menu_main_nav .sub-menu{background:#151b26!important;border:1px solid #394150;border-radius:8px;box-shadow:0 15px 40px #0005}
body:not(.home) .menu_main_nav .sub-menu a{color:#e9edf5!important;font-family:Arial,sans-serif!important;text-transform:none!important}
.menu_mobile{background:#0c111b!important}.menu_mobile .menu_mobile_nav_area li>a{color:#ecf0f8!important}.menu_mobile .menu_mobile_nav_area li>a:hover{color:#ff6672!important}
@media(max-width:1000px){body:not(.home) .menu_main_nav>li>a{font-size:11px!important;padding:13px 8px!important}body:not(.home) .menu_main_wrap .content_wrap{gap:12px}}
@media(prefers-reduced-motion:reduce){.menu_main_nav a{transition:none!important}}

/* Cyber-Tek: viewport scenes, September 2026. Content is visible without JS. */
body.ct-motion-ready .ct-motion.is-inview .ct-motion-unit,
body.ct-motion-ready .ct-sub-text.is-inview {
  animation: ct-rise-in 760ms cubic-bezier(.18,.72,.2,1) backwards;
  animation-delay: var(--ct-delay, 0ms);
}
body.ct-motion-ready .ct-sub-text.is-inview {
  animation-name:ct-text-reveal;
  animation-duration:680ms;
}
@keyframes ct-text-reveal {
  from { opacity:.65; transform:translate3d(0,16px,0); filter:blur(2px); }
  to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
}
@keyframes ct-rise-in {
  from { opacity:.56; transform:translate3d(0,22px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
/* Intro and editorial marque: a controlled horizontal sweep. */
.ct-home .ct-motion-intro.is-inview a {
  animation:ct-rise-in 760ms cubic-bezier(.18,.72,.2,1) 130ms backwards;
}
.ct-home .ct-motion-strip { position:relative; overflow:hidden; }
.ct-home .ct-motion-strip::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg,transparent,#e23d4e 25%,#ff9a9f 65%,transparent);
  transform:scaleX(0); transform-origin:left; pointer-events:none;
}
.ct-home .ct-motion-strip.is-inview::after {
  animation:ct-line-sweep 1100ms cubic-bezier(.18,.72,.2,1) 150ms both;
}
@keyframes ct-line-sweep { to { transform:scaleX(1); } }
/* Service images arrive one after the other; a red trace follows their edge. */
.ct-home .ct-motion-services .ct-card { position:relative; }
.ct-home #section_2 .ct-card .ct-webgl-lamp {
  position:absolute; left:0; top:0; width:100%; display:block;
  pointer-events:none; mix-blend-mode:screen; z-index:1;
}
.ct-home .ct-motion-services .ct-card::after {
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg,#ff4b60,#ffbbc0,transparent);
  transform:scaleX(0); transform-origin:left; pointer-events:none;
}
.ct-home .ct-motion-services.is-inview .ct-card::after {
  animation:ct-line-sweep 900ms cubic-bezier(.18,.72,.2,1) both;
}
.ct-home .ct-motion-services.is-inview .ct-card:nth-child(2)::after { animation-delay:180ms; }
.ct-home .ct-motion-services.is-inview .ct-card:nth-child(3)::after { animation-delay:360ms; }
/* Two halves of the engineering story move towards each other. */
body.ct-motion-ready .ct-motion-expertise.is-inview .ct-split > div:first-child {
  animation-name:ct-enter-left;
}
body.ct-motion-ready .ct-motion-expertise.is-inview .ct-split > div:last-child {
  animation-name:ct-enter-right;
}
@keyframes ct-enter-left {
  from { opacity:.6; transform:translate3d(-28px,0,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes ct-enter-right {
  from { opacity:.6; transform:translate3d(28px,0,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
/* A single highlight crosses the magazine covers as the section appears. */
.ct-home .ct-motion-press .ct-press-link { position:relative; overflow:hidden; }
.ct-home .ct-motion-press .ct-press-link::after {
  content:""; position:absolute; inset:-45% auto -45% -60%; width:34%;
  background:linear-gradient(90deg,transparent,#ffffff24,transparent);
  transform:translateX(-120%) skewX(-18deg); pointer-events:none; opacity:0;
}
.ct-home .ct-motion-press.is-inview .ct-press-link::after {
  animation:ct-glint 1250ms ease-out 420ms both;
}
.ct-home .ct-motion-press.is-inview .ct-press-link:nth-child(2)::after { animation-delay:610ms; }
@keyframes ct-glint {
  8% { opacity:.8; }
  85% { opacity:.8; }
  to { opacity:0; transform:translateX(650%) skewX(-18deg); }
}
/* The three steps count in with a brief illuminated numeral. */
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-num {
  animation:ct-number 850ms ease-out backwards;
}
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-card:nth-child(2) .ct-num { animation-delay:210ms; }
.ct-home .ct-motion-steps.is-inview .ct-grid .ct-card:nth-child(3) .ct-num { animation-delay:420ms; }
@keyframes ct-number {
  from { color:#ffb2b9; text-shadow:0 0 24px #ef455a; }
  to { text-shadow:none; }
}
/* FAQ keeps its native, keyboard-friendly details behaviour. */
.ct-home .ct-motion-faq details { border-color:#4b323a; }
.ct-home .ct-motion-faq.is-inview details {
  animation:ct-rise-in 650ms cubic-bezier(.18,.72,.2,1) backwards;
  animation-delay:var(--ct-delay,0ms);
}
/* Contact closes the story with a soft red light, no perpetual animation. */
.ct-home .ct-motion-contact { position:relative; isolation:isolate; overflow:hidden; }
.ct-home .ct-motion-contact::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 75% 25%,#ff718827,transparent 48%);
  opacity:0; transition:opacity 1000ms ease-out;
}
.ct-home .ct-motion-contact.is-inview::before { opacity:1; }
@media(max-width:760px) {
  @keyframes ct-text-reveal {
    from { opacity:.72; transform:translate3d(0,9px,0); filter:blur(0); }
    to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
  }
  @keyframes ct-rise-in {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
  @keyframes ct-enter-left {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
  @keyframes ct-enter-right {
    from { opacity:.68; transform:translate3d(0,12px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
  }
}
@media(prefers-reduced-motion:reduce) {
  body.ct-motion-ready .ct-motion-unit,
  body.ct-motion-ready .ct-sub-motion,
  body.ct-motion-ready .ct-sub-text,
  .ct-home .ct-motion.is-inview .ct-motion-unit,
  .ct-home .ct-motion::after,
  .ct-home .ct-motion::before,
  .ct-home .ct-motion .ct-card::after,
  .ct-home .ct-motion .ct-press-link::after,
  .ct-home .ct-motion-steps .ct-num { animation:none!important; transition:none!important; }
  .ct-home #section_2 .ct-card .ct-webgl-lamp { display:none!important; }
}

.grecaptcha-badge { visibility: hidden !important; }
.ct-recaptcha-notice { margin: 18px 0 0; color: #aeb4bd; font-size: 12px; line-height: 1.5; }
.ct-recaptcha-notice a { color: #fff; text-decoration: underline; }