/* Integration fixes verified against the installed Elementor theme. */
/* Keep logos on opaque badges rather than letting card borders cross them. */
#route-content .hl-tool-tab[data-tool="dgt"] .hl-tool-icon {
  width:76px; height:56px; top:-28px; border-radius:16px; background:#fff;
  border:1px solid #dce4ef; box-shadow:0 3px 8px #27354a09;
}
#route-content .hl-tool-tab[data-tool="dgt"] .hl-tool-icon img {
  width:58px; max-width:58px; height:38px; object-fit:contain;
}
/* Elementor's generic button and heading styles must not override these controls. */
#route-content .dgt-explorer-tab { background:transparent; color:#334059; }
#route-content .dgt-explorer-tab:hover { background:#f5f7fb; }
#route-content .dgt-explorer-tab[aria-selected="true"] {
  background:linear-gradient(90deg,#eef4ff,#f8f4ff); color:#2a4c96;
}
#route-content .breadcrumb [aria-current] { color:#34415b; }
#route-content .team-visual figcaption strong { color:#fff!important; }
#route-content .team-visual figcaption span { color:#d4e3e8!important; }
#route-content.qp h2 { font-size:clamp(24px,2.2vw,30px)!important; line-height:1.25!important; }
#route-content.qp h3 { font-size:21px!important; line-height:1.3!important; }
#route-content :is(.check,.consent) a { text-decoration:underline; text-underline-offset:3px; }
body .site-footer { display:block; width:100%; max-width:none!important; }
body .site-footer .footer-col h2 {
  font-size:16px!important; line-height:1.4!important; letter-spacing:0!important;
  margin:0 0 16px!important; font-weight:700;
}
/* Testimonial originals are 120px portraits: keep the entire photo at native scale. */
#route-content[data-page-id="W09"] .people-mosaic {
  width:100%; max-width:440px; margin-inline:auto;
  grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center;
}
#route-content[data-page-id="W09"] .people-mosaic .mosaic-photo {
  width:100%; height:auto!important; max-height:none; aspect-ratio:1;
  object-fit:contain; border-radius:12px; transform:none;
}
body .site-header { display:block!important; width:100%!important; max-width:none!important; padding:0!important; }
body .site-header .nav-inner { max-width:1760px!important; width:calc(100% - clamp(36px,7vw,132px))!important; }
body.site-light .site-header .nav-actions .nav-dgt-cta,
body.home-light .site-header .nav-actions .nav-dgt-cta { background: #0f2b35!important; color: #fff!important; }
#route-content.qp { background:var(--qb)!important; color:var(--qi)!important; }
#route-content.qp :is(h1,h2,h3,h4,strong,label,summary) { color:var(--qi)!important; }
#route-content.qp :is(p,.help) { color:var(--qm)!important; }
#route-content.qp .trial { color:var(--qi)!important; }
#route-content.qp .result :is(h2,h3,strong,b,.total) { color:#fff!important; }
#route-content.qp .result :is(p,.mut,.line span,.kpi span) { color:#c5ceda!important; }
#route-content.qp .result .btn.alt { color:#fff!important; border-color:#7c8da5; }
#route-content.qp .help { color:var(--qm)!important; }
@media print {
  #route-content.qp, #route-content.qp .result :is(h2,h3,strong,b,.total) { color:#111!important; background:#fff!important; }
  #route-content.qp .result :is(p,.mut,.line span,.kpi span) { color:#444!important; }
}
.site-header .solutions-toggle { background: transparent; color: #364057; }
@media (min-width: 768px) and (max-width: 1450px) {
  .site-header .nav-list {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    padding: 20px 30px; margin: 0; background: #fff;
    border-bottom: 1px solid #dce1ec; flex-direction: column;
    align-items: stretch; gap: 0!important; max-height: 75vh; overflow: auto;
  }
  .site-header .nav-list.open { display: flex; }
  .site-header .mobile-toggle { display: inline-flex; margin-left: auto; }
  .site-header .nav-actions { margin-left: 0; }
  .site-header .nav-link { display: block; min-height: 44px; }
  .site-header .solutions-wrap { display: grid; grid-template-columns: 1fr 48px; }
  .site-header .submenu { position: static; grid-column: 1/-1; width: 100%; margin: 0; box-shadow: none; }
}
