/* Independent behavior layer. Page-specific visual rules remain isolated. */
html {
  scroll-behavior: smooth;
}
section[id],
footer[id] {
  scroll-margin-top: var(--site-header-offset, 110px);
}
.site-header .navigation-link.section-link-active {
  color: #06a69c !important;
  border-color: #06a69c !important;
}
body.site-menu-open { overflow: hidden; }
.modal-overlay.modal-open {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 20px;
}
.modal-overlay.modal-open > .modal { position: relative; max-width: 100%; }
.site-navigation { opacity: 1 !important; }
.site-clickable { cursor: pointer; }
.site-header .social-links,
.navigation-drawer .social-links,
.site-footer .social-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 68px !important;
}
.social-link.site-linkedin img,
.social-link.site-facebook img {
  transition: opacity 160ms ease;
}
.social-link.site-linkedin:hover img,
.social-link.site-linkedin:focus-visible img {
  content: url("../../img/system/linkedin-black.png");
}
.social-link.site-facebook:hover img,
.social-link.site-facebook:focus-visible img {
  content: url("../../img/system/facebook-black.png");
}
.site-footer .social-link.site-linkedin img {
  content: url("../../img/system/linkedin-original.png");
}
.site-footer .social-link.site-facebook img {
  content: url("../../img/system/facebook-original.png");
}
.site-footer .social-link.site-linkedin:hover img,
.site-footer .social-link.site-linkedin:focus-visible img {
  content: url("../../img/system/linkedin-white.png");
}
.site-footer .social-link.site-facebook:hover img,
.site-footer .social-link.site-facebook:focus-visible img {
  content: url("../../img/system/facebook-white.png");
}
.language-switcher-url.is-active {
  color: #06a69c !important;
  font-weight: 700;
}
@media (min-width: 992px) {
  .site-header .site-navigation-1,
  .site-header .language-switcher-1,
  .site-header .social-links-1 {
    position: absolute !important;
    top: 50%;
    margin: 0 !important;
    transform: translateY(-50%);
  }
  .site-header .site-navigation-1 { right: 145px; }
  .site-header .language-switcher-1 { right: 68px; }
  .site-header .ms-line-1 {
    position: absolute !important;
    top: 50%;
    right: 132px;
    left: auto !important;
    margin: 0 !important;
    transform: translateY(-50%);
  }
  .site-header .social-links-1 {
    right: 0;
    width: 60px !important;
  }
}
.registered-mark {
  display: inline;
  margin-left: 0.06em;
  font-size: 0.55em;
  line-height: 0;
  vertical-align: super;
}
.site-clickable:focus-visible,
.navigation-close:focus-visible,
.back-to-top:focus-visible,
.menu-collapse a:focus-visible { outline: 3px solid #f59b23; outline-offset: 3px; }
.back-to-top {
  position: fixed;
  z-index: 100000;
  right: 20px;
  bottom: 20px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.back-to-top.is-visible {
  opacity: 0.85 !important;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.navigation-drawer:not(.is-open) { pointer-events: none; }
.navigation-drawer.is-open { pointer-events: auto; }
.carousel-item:not(.ms-active) { display: none; }
@media (max-width: 1199px) {
  .site-navigation .navigation-desktop { display: none !important; }
  .site-navigation .menu-collapse { display: block !important; }
  .site-header .language-switcher-1 { margin-right: 50px !important; }
  .navigation-drawer {
    display: flex !important;
    width: 100vw;
    visibility: hidden;
    transition: visibility 0s linear 300ms;
  }
  .navigation-drawer .ms-sidenav {
    flex: 0 0 min(82vw, 320px) !important;
    margin-left: 0 !important;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 300ms ease !important;
    will-change: transform;
  }
  .navigation-drawer .navigation-overlay {
    display: block;
    flex: 1 1 auto;
    opacity: 0 !important;
    transition: opacity 300ms ease;
  }
  .navigation-drawer.is-open {
    visibility: visible;
    transition-delay: 0s;
  }
  .navigation-drawer.is-open .ms-sidenav { transform: translateX(0); }
  .navigation-drawer.is-open .navigation-overlay { opacity: 0.9 !important; }
}
/* iPad landscape: keep the inherited desktop grid inside the viewport. */
@media (min-width: 992px) and (max-width: 1199px) {
  .site-body { --theme-sheet-width-lg: 940px; }
  .site-header .language-switcher-1 { margin: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
