.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  margin-top: 12px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
}
.language-switch a {
  padding: 4px 9px;
  border-radius: 999px;
  color: #aaa;
  font-size: 11px;
  line-height: 16px;
}
.language-switch a[aria-current="page"] {
  background: #dedede;
  color: #111;
}
.language-switch a:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.tf-header .header-contact { display: flex; flex-direction: column; align-items: flex-start; }
.tf-header .header-contact > a { max-width: 100%; overflow-wrap: anywhere; }
.tf-header .header-contact .language-switch { order: 1; }
.language-switch-mobile { margin: 0 14px 0 0; }
.form-cta .contact-select-wrap { position: relative; }
.form-cta .contact-select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0 26px 18px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  border-radius: 0;
  appearance: none;
  background: transparent;
  color: #aaa;
  font: inherit;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: -.01em;
  cursor: pointer;
}

.form-cta .tf-grid-layout > *,
.section-service-v2 .service-accordion_item,
.section-service-v2 .accordion-action,
.section-service-v2 .image-left,
.section-service-v2 .content-right {
  min-width: 0;
}
.section-service-v2 .service-accordion-main {
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 991px) {
  .section-service-v2 .accordion-content { flex-wrap: wrap; }
  .section-service-v2 .image-left { width: 100%; }
  .section-service-v2 .image-left img { width: 100%; }
  .section-service-v2 .content-right { max-width: 100%; white-space: normal; }
}
@media (max-width: 767px) {
  .section-service-v2 .accordion-action .text-display-1 {
    font-size: clamp(30px, 8.4vw, 48px);
    line-height: 1.12;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
  }
}
.contact-select-wrap::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 9px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  transform: rotate(45deg);
  pointer-events: none;
}
.form-cta .contact-select option { background: #141414; color: #eee; }
.form-cta .contact-select:focus { border-bottom-color: #eee; outline: none; }
.form-cta textarea.tf-input { min-height: 100px; resize: vertical; }
@media (min-width: 576px) {
  .form-cta textarea.tf-input { font-size: 18px; line-height: 1.6; }
}
.form-cta .contact-note { margin-top: 20px; color: #999; font-size: 12px; line-height: 1.6; }
.form-cta .tf-input:focus-visible { outline: 1px solid #bbb; outline-offset: 4px; }
.contact-label-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 575px) {
  .form-cta .contact-select { font-size: 14px; }
  .language-switch-mobile { margin-right: 10px; }
  .language-switch a { padding: 3px 7px; }
}

/* Keep translated navigation inside the mobile viewport, including its footer. */
.offcanvas-menu .canvas_head .close-mb-menu { color: #f5f5f5; cursor: pointer; }
@media (max-width: 767px) {
  .offcanvas-menu {
    width: 100vw;
    max-width: 100vw;
    height: 100vh !important;
    height: 100dvh !important;
    right: auto;
    overflow: hidden;
  }
  .offcanvas-menu .offcanvas-content {
    width: 100%;
    min-width: 0;
    padding-top: max(24px, env(safe-area-inset-top));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
  .offcanvas-menu .offcanvas-content > .container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
  .offcanvas-menu .offcanvas-content_wrapin,
  .offcanvas-menu .canvas_head,
  .offcanvas-menu .canvas_center,
  .offcanvas-menu .canvas_foot,
  .offcanvas-menu .nav-ul-mb,
  .offcanvas-menu .nav-ul-mb li,
  .offcanvas-menu .nav-ul-mb .item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .offcanvas-menu .offcanvas-content_wrapin { gap: 24px; }
  .offcanvas-menu .canvas_head { flex-wrap: nowrap; align-items: center; flex-shrink: 0; gap: 20px; }
  .offcanvas-menu .canvas_head .logo-site,
  .offcanvas-menu .canvas_head .close-mb-menu { flex-shrink: 0; }
  .offcanvas-menu .canvas_head .close-mb-menu { min-height: 44px; padding: 8px 0 8px 12px; white-space: nowrap; }
  .offcanvas-menu .canvas_center { min-height: 0; overflow-x: hidden; overscroll-behavior: contain; }
  .offcanvas-menu .nav-ul-mb { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-block: auto; }
  .offcanvas-menu .mb-menu-link {
    display: block;
    min-width: 0;
    max-width: 100%;
    font-size: clamp(36px, 11.5vw, 64px);
    line-height: 1.2;
    padding-block: 4px;
    pointer-events: auto;
  }
  .offcanvas-menu .mb-menu-link > .text { display: block; overflow-wrap: anywhere; }
  .offcanvas-menu .mb-menu-link .infiniteSlide_text_main { display: none; }
  .offcanvas-menu .mb-menu-link:hover .text { filter: none; color: inherit; }
  .offcanvas-menu .canvas_foot { flex: 0 0 auto; flex-direction: column; align-items: flex-start; gap: 16px; }
  .offcanvas-menu .canvas_foot .left,
  .offcanvas-menu .canvas_foot .right { min-width: 0; max-width: 100%; }
  .offcanvas-menu .canvas_foot .left a { overflow-wrap: anywhere; }
  .offcanvas-menu .canvas_foot .right { gap: 12px 24px; }
  .offcanvas-menu .canvas_foot .text-caption { font-size: 11px; line-height: 1.5; }
}
.service-accordion_item .service-partner-credit {
  margin-top: 24px;
  max-width: 32ch;
  white-space: normal;
}
.section-hero-v2 .hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}
.hero-actions .resume-download { z-index: 0; }
.hero-actions .tf-btn { white-space: nowrap; }
.hero-actions .resume-download svg { flex-shrink: 0; }
.hero-actions .tf-btn:focus-visible { outline: 2px solid white; outline-offset: 4px; }
@media (max-width: 767px) {
  .section-hero-v2 .hero-actions { width: 100%; }
  .hero-actions .tf-btn {
    flex: 1 1 180px;
    min-height: 44px;
    padding-inline: 16px;
  }
}
