html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 90px; }
header.is-scrolled { height: 80px; line-height: 80px; background: #fff; box-shadow: 0 1px 6px #484848; }
header.is-scrolled nav a { color: #454545; }
.menu-toggle { display: none; }
#scroll-top-area[hidden] { display: none !important; }
#scroll-top-area:not([hidden]) { display: block !important; }
#client-testimonial { padding-bottom: 0; }
#client-testimonial .padding-style4 { position: relative; padding: 0; background: none; }
#client-testimonial .career-copy { position: absolute; top: 0; right: 0; left: 0; z-index: 1; }
#client-testimonial .about-text { margin-bottom: 0; }
#client-testimonial .about-text2 { text-align: center; }
#client-testimonial .career-email { margin-top: 24px; }
#client-testimonial .career-image { display: block; width: 100%; height: auto; }
.contact-detail p.adress { display: flex; align-items: flex-start; }
.contact-detail p.adress > i { flex: 0 0 30px; margin-top: 3px; }
.contact-detail .adress-body { display: block; min-width: 0; }
.contact-detail .adress-label, .contact-detail .adress-loc { display: block; }
.contact-form-area .form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form-area .result:not(:empty) { display: block; margin: 16px 0 12px; padding: 14px 16px; border-left: 4px solid #555; background: #f1f1f1; color: #222; font-family: 'Raleway', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.5; }
.contact-form-area .result.error { border-color: #b5312e; background: #fff0ee; color: #8b1b1b; }
.contact-form-area .result.success { border-color: #1e7b42; background: #e6f4ea; color: #0b5427; }
.contact-form-area .privacy-note { font-family: 'Raleway', sans-serif; font-size: 12px; line-height: 1.5; margin-top: 8px; }
.contact-form-area .privacy-note a { color: inherit; text-decoration: underline; }
.contact #form-phone { width: 100%; height: 45px; margin: 12px 0 20px; background: transparent; border: none; border-bottom: 1px solid dimgrey; font-weight: 700; }
.contact-form-area .turnstile-check { max-width: 100%; margin: 14px 0; }
.contact-detail a { color: inherit; text-decoration: none; }
h2.title-small, h2.title-small-sourcing, .blog h3.blog-title, .blog h3.blog-title_2 { line-height: inherit; }
.blog h3.blog-title, .blog h3.blog-title_2 { color: inherit; }
#about > .container > .row { align-items: center; }
#about .about-img { height: auto; max-width: 400px; margin: 0 auto; }
#about .about-img a { display: block; position: relative; width: 100%; }
#about .about-img img { display: block; position: relative; width: 100%; height: auto; }
#about .about-img .img-overlay { inset: 0; width: 100%; height: 100%; }
.language-switcher { position: relative; vertical-align: middle; line-height: normal; }
.language-trigger { display: inline-flex; align-items: center; gap: 6px; padding: 6px; border: 0; background: transparent; color: #fff; cursor: pointer; vertical-align: middle; }
header.is-scrolled .language-trigger { color: #454545; }
.language-trigger:focus-visible, .language-options a:focus-visible { outline: 2px solid #2980b9; outline-offset: 2px; }
.language-current-flag { display: block; width: 32px; height: 32px; flex: none; }
.language-chevron { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.language-trigger[aria-expanded="true"] .language-chevron { transform: rotate(180deg); }
.language-options[hidden] { display: none !important; }
header nav .language-options { position: absolute; top: calc(100% + 10px); right: 0; z-index: 110; min-width: 176px; padding: 6px 0; background: #fff; box-shadow: 0 4px 16px rgba(0, 0, 0, .2); line-height: normal; }
header nav .language-options li { display: block; margin: 0; }
header nav .language-options a { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 12px !important; color: #333; font-weight: 400; text-align: left; white-space: nowrap; }
header nav .language-options a:hover, header nav .language-options a:focus, header nav .language-options a:focus-visible { background: #eee; color: #111; }
header nav .language-options a[aria-current="page"] { font-weight: 700; }
.language-options img { display: block; width: 32px; height: 32px; flex: none; }
html[lang="uk"] body,
html[lang="uk"] .welcome-text h1,
html[lang="uk"] .welcome-text p,
html[lang="uk"] header nav ul li a { font-family: 'Raleway', sans-serif; font-weight: 300; }
@media (max-width: 991px) {
  #client-testimonial .career-copy { position: static; padding-bottom: 20px; }
  .menu-toggle { display: flex; align-items: center; justify-content: center; position: fixed; right: 20px; top: 24px; z-index: 102; width: 50px; height: 35px; padding: 0; border: 0; border-radius: 4px; background: #fff; font-size: 0; line-height: 1; cursor: pointer; }
  .menu-toggle::before { content: ''; display: block; flex: none; box-sizing: border-box; width: 22px; height: 16px; border-top: 2px solid #777; border-bottom: 2px solid #777; background: linear-gradient(#777, #777) center / 22px 2px no-repeat; }
  #blog .blog-single-item { display: flex; flex-direction: column; }
  #blog .blog-single-item .blog-img { order: 0; }
  #blog .blog-single-item .blog-text { order: 1; }
  #service .service-header { width: 100%; padding-right: 24px; padding-left: 24px; }
  #service .service-header p { padding-right: 0; }
  #menu { display: none; position: fixed; right: 20px; top: 65px; z-index: 101; width: min(240px, calc(100vw - 40px)); max-height: calc(100vh - 75px); overflow-y: auto; background: #e7e7e7; float: none; line-height: normal; }
  #menu.is-open { display: block; }
  #menu ul, #menu li { display: block; margin: 0; padding: 0; }
  #menu a, header.is-scrolled #menu a { display: block; margin: 0; padding: 11px 15px; color: #000; background: #e7e7e7; text-align: left; }
  #menu .language-switcher { display: block; padding: 4px 10px 8px; }
  #menu .language-trigger { display: flex; width: 100%; color: #000; padding: 6px; }
  #menu .language-options { position: static; min-width: 0; width: 100%; padding: 0; background: transparent; box-shadow: none; }
  #menu .language-options a { display: flex; align-items: center; gap: 10px; padding: 8px 12px !important; }
  #menu .language-options a:focus { background: #ddd; color: #111; }
}
@media (max-width: 359px) {
  header .logo { display: inline-block; max-width: calc(100vw - 90px); }
  header .logo img { display: block; width: 100%; height: auto; }
  footer .footer-image { max-width: 100%; height: auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
