/* DIMART V54 — footer lock, catalog semantics and final mobile refinements */
:root{--v54-cyan:#70e7ff;--v54-blue:#063d88;--v54-ink:#08265a}

/* Footer contact typography: larger type, taller and intentionally narrower cards. */
html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link{
  min-height:68px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;overflow:visible!important;
}
html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link>.contact-copy{
  width:100%!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;
  color:#f4fbff!important;font-size:16px!important;font-weight:800!important;line-height:1.65!important;
  text-align:center!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
html body .site-footer[data-v54-footer] .footer-contact>.email>.contact-copy{font-size:15px!important}

/* Service category and journey icons use one coherent glass-and-line language. */
.catalog-filter .filter-icon.v54-catalog-icon,
.catalog-line i.v54-station-icon{
  position:relative!important;display:grid!important;place-items:center!important;color:#dffaff!important;
  background:radial-gradient(circle at 32% 25%,rgba(126,236,255,.38),rgba(8,93,158,.92) 56%,#031b50)!important;
  border:1px solid rgba(139,232,255,.38)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 10px 23px rgba(0,20,63,.2)!important;
}
.catalog-filter .filter-icon.v54-catalog-icon svg,.catalog-line i.v54-station-icon svg{
  width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 6px rgba(107,230,255,.44));
}
.catalog-filter[data-filter="digital"] .filter-icon.v54-catalog-icon{width:46px!important;height:46px!important;border-radius:16px!important}
.catalog-line i.v54-station-icon{width:36px!important;height:36px!important;border-radius:12px!important;font-size:0!important;animation:iconPulse 4.5s ease-in-out infinite!important}
.catalog-line i.v54-station-icon:nth-of-type(2){animation-delay:-1.1s!important}.catalog-line i.v54-station-icon:nth-of-type(3){animation-delay:-2.2s!important}.catalog-line i.v54-station-icon:nth-of-type(4){animation-delay:-3.3s!important}

/* Replace the oversized pseudo-arrow with a real vector control that cannot cover copy. */
html body.v50-home .growth-system .open-output:before,html body.v50-home .growth-system .open-output:after{content:none!important;display:none!important}
html body.v50-home .growth-system .open-output .v54-output-arrow{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 32% 25%,#78e9ff,#0aa7dc 52%,#07549b);
  border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px rgba(0,104,170,.24);z-index:3;
}
html body.v50-home .growth-system .open-output .v54-output-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html[lang="en"] body.v50-home .growth-system .open-output .v54-output-arrow{left:auto;right:12px}
html[lang="en"] body.v50-home .growth-system .open-output .v54-output-arrow svg{transform:scaleX(-1)}

/* Remove the unwanted drop shadow below the online-chat launcher. */
html body .chat-widget .chat-launcher{box-shadow:inset 0 1px 0 rgba(255,255,255,.2)!important;filter:none!important}
html body .chat-widget:before,html body .chat-widget:after,html body .chat-launcher:before,html body .chat-launcher:after{box-shadow:none!important;filter:none!important}

/* The custom-software section is a navy surface; its editorial copy must be light. */
body.v54-business-software .sw-section.v54-custom-software>.sw-container>.sw-eyebrow{color:#7be7ff!important}
body.v54-business-software .sw-section.v54-custom-software>.sw-container>.sw-title{color:#fff!important;text-shadow:0 8px 28px rgba(0,15,48,.24)!important}
section.dark :is(.section-head,.head,.bx-head,.bd-head,.dp-head,.pf-head,.v54-dark-copy) :is(h1,h2,h3,h4,.title,.subtitle,.eyebrow){color:#fff!important}
section.dark :is(.section-head,.head,.bx-head,.bd-head,.dp-head,.pf-head,.v54-dark-copy)>p{color:#d4e9f6!important}

/* Start-form submit arrow follows the shared site action language. */
html body .start-submit.v54-start-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important}
.start-submit.v54-start-submit .v54-submit-arrow{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transition:.25s}
.start-submit.v54-start-submit .v54-submit-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.start-submit.v54-start-submit:hover .v54-submit-arrow{transform:translateX(-3px);background:#fff;color:#07558f}
html[lang="en"] .start-submit.v54-start-submit .v54-submit-arrow svg{transform:scaleX(-1)}
html[lang="en"] .start-submit.v54-start-submit:hover .v54-submit-arrow{transform:translateX(3px)}

@media(max-width:700px){
  html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact{
    width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"location" "phone" "email"!important;gap:12px!important;
  }
  html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link{
    width:min(320px,100%)!important;max-width:320px!important;min-height:102px!important;height:auto!important;margin-inline:auto!important;
    padding:12px 16px!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:8px!important;
  }
  html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link>.contact-icon{
    position:relative!important;inset:auto!important;top:auto!important;transform:none!important;width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;
  }
  html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link:hover>.contact-icon{transform:translateY(-2px) scale(1.04)!important}
  html body .site-footer[data-v31-footer][data-v52-footer][data-v53-footer][data-v54-footer] .footer-contact>.footer-contact-link>.contact-copy{
    width:100%!important;min-width:0!important;font-size:17px!important;line-height:1.65!important;text-align:center!important;letter-spacing:0!important;
  }
  html body .site-footer[data-v54-footer] .footer-contact>.email>.contact-copy{font-size:15.5px!important}
  html body .site-footer[data-v54-footer] .footer-contact>.phone>.contact-copy{font-size:17px!important}
  html body.v50-home .growth-system .open-output{padding:15px 18px 15px 62px!important}
  html[lang="en"] body.v50-home .growth-system .open-output{padding:15px 62px 15px 18px!important}
  html body.v50-home .growth-system .open-output strong{position:relative;z-index:2;display:block!important;line-height:1.8!important}
  .catalog-line i.v54-station-icon{width:30px!important;height:30px!important;margin-top:-15px!important}
  .catalog-line i.v54-station-icon svg{width:16px!important;height:16px!important}
}

@media(prefers-reduced-motion:reduce){.catalog-line i.v54-station-icon{animation:none!important}}
