/* Shared Zaplanuj Dom loading identity. The overlay exists only when JS runs. */
.theme-loader { display: none !important; }
.zd-preloader { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; background: #182b4b; color: #fff; pointer-events: none; opacity: 1; transition: opacity .28s ease-out; }
.zd-preloader.is-leaving { opacity: 0; }
.zd-preloader-brand { display: grid; justify-items: center; gap: 24px; width: min(72vw, 280px); }
.zd-preloader-brand img { display: block; width: 100%; height: auto; }
.zd-preloader-track { width: 150px; height: 2px; background: rgba(255,255,255,.18); overflow: hidden; }
.zd-preloader-track > span { display: block; width: 42%; height: 100%; background: #f7c25c; animation: zdLoaderSweep 1.15s ease-in-out infinite; }
.zd-preloader-label { font: 500 12px/1.5 var(--body-font, sans-serif); letter-spacing: .08em; color: #d3dbe7; }
@keyframes zdLoaderSweep { from {transform: translateX(-105%)} to {transform: translateX(345%)} }
/* Retire legacy WOW/SplitText hiding; all readable content is the fallback. */
.wow { visibility: visible !important; animation: none !important; }
.zd-page-window { display: block; overflow: clip; padding-bottom: .13em; margin-bottom: -.13em; }
.zd-page-title-text { display: block; }
.zd-subpage-motion [data-page-scene] { transition-property: color, background-color, border-color, box-shadow; }
.zd-subpage-motion :is(.zd-project-card,.zd-project-related-card,.zd-home-article-card,.zd-materials-download-card,.zd-partners-detail-card,.zd-business-area-card,.zd-process-detail-item):is(:hover,:focus-within),
.zd-subpage-motion :is(.zd-project-card,.zd-project-related-card,.zd-home-article-card):hover img { transform: none; }
.zd-subpage-motion .zd-partners-logo-track { animation: none; will-change: auto; }
@media (prefers-reduced-motion: reduce) {
  .zd-preloader { transition: none; }
  .zd-preloader-track > span { animation: none; width: 100%; }
}

/* Match the homepage's light fixed header while the document scrolls. */
.zd-subpage-motion.zd-header-scrolled :is(.header__four,.header__sticky-sticky-menu) {
  background: #09111e !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 12px 28px rgba(7,13,24,.18);
}
