/* DIMART V50 — unified visual polish layer */
:root{
  --v50-blue:#042872;
  --v50-cyan:#63dcff;
  --v50-ink:#061c45;
  --v50-glass:rgba(255,255,255,.1);
}

/* The home page used a delayed opacity state; keep the first paint stable. */
html.home-boot body{opacity:1!important;visibility:visible!important;animation:none!important}

/* One compact, centered header on every public page. */
html body .site-header{top:12px!important;right:0!important;left:0!important;opacity:1!important;visibility:visible!important;transform:none!important}
html body .site-header .nav,
html body .site-header.scrolled .nav{
  width:min(1080px,calc(100% - 40px))!important;
  max-width:1080px!important;
  min-height:62px!important;
  height:62px!important;
  margin-inline:auto!important;
  padding:6px 13px!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  border-radius:999px!important;
}
html body .site-header .brand{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;margin-left:auto!important;opacity:1!important;visibility:visible!important;
}
html body .site-header .brand img{
  display:block!important;width:126px!important;height:42px!important;max-width:none!important;
  object-fit:contain!important;object-position:center!important;opacity:1!important;visibility:visible!important;
  filter:none!important;transform:none!important;
}
html body .site-header .nav-links{gap:17px!important}
html body .site-header .nav-links>a,
html body .site-header .nav-item>a{font-size:12px!important;padding-block:10px!important;white-space:nowrap!important}
html body .site-header .nav-actions{gap:7px!important;margin-right:auto!important}
html body .site-header .nav-actions .btn{min-height:40px!important;padding:8px 14px!important;font-size:11px!important;white-space:nowrap!important}

/* Shared arrow language: a clear, minimal glass capsule with one line icon. */
.v50-arrow{
  width:30px;height:30px;min-width:30px;display:inline-grid;place-items:center;border-radius:50%;
  color:currentColor;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 18px rgba(2,20,61,.13);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s,color .28s;
}
.v50-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
a:hover>.v50-arrow,button:hover>.v50-arrow{transform:translateX(-3px);background:#fff;color:var(--v50-blue)}
.v50-arrow--down svg{transform:rotate(-90deg)}
a:hover>.v50-arrow--down,button:hover>.v50-arrow--down{transform:translateY(3px)}

/* Mobile navigation: compact from the first paint and intentionally designed. */
@media(max-width:960px){
  html body .site-header{top:8px!important}
  html body .site-header .nav,
  html body .site-header.scrolled .nav{
    width:calc(100% - 28px)!important;max-width:none!important;min-height:56px!important;height:56px!important;
    padding:6px 8px!important;gap:4px!important;display:grid!important;
    grid-template-columns:42px minmax(116px,1fr) 58px 90px!important;
    grid-template-areas:"menu actions lang brand"!important;direction:ltr!important;border-radius:999px!important;
  }
  html body .site-header .brand{grid-area:brand!important;width:90px!important;height:40px!important;margin:0!important;justify-content:flex-end!important}
  html body .site-header .brand img{width:86px!important;height:34px!important;object-position:right center!important}
  html body .site-header .nav-links{display:none!important}
  html body .site-header .nav-actions{display:none!important}
  html body .site-header .v29-header-actions{grid-area:actions!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;min-width:0!important;height:38px!important}
  html body .site-header .v29-header-actions .v29-header-btn{min-width:0!important;height:38px!important;min-height:38px!important;padding:0 5px!important;font-size:8.5px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html body .site-header .lang-switch,html body .site-header .dimart-v7-lang{grid-area:lang!important;width:58px!important;min-width:58px!important;height:36px!important}
  html body .menu-toggle{
    grid-area:menu!important;
    position:relative!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;
    width:42px!important;height:42px!important;padding:0!important;border:1px solid rgba(151,224,255,.28)!important;
    border-radius:50%!important;background:radial-gradient(circle at 35% 25%,rgba(133,229,255,.3),rgba(255,255,255,.08) 48%,rgba(0,0,0,.06))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 9px 22px rgba(0,11,44,.2)!important;overflow:hidden!important;
    font-size:0!important;color:#fff!important;transform:none!important;
  }
  html body .menu-toggle:before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
  html body .site-header .menu-toggle .v50-menu-icon{width:20px!important;height:16px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-end!important;position:relative!important;z-index:2!important;margin:0!important;background:none!important}
  html body .site-header .menu-toggle .v50-menu-icon i{display:block!important;height:2px!important;margin:0!important;border-radius:99px!important;background:currentColor!important;box-shadow:0 0 9px rgba(120,224,255,.42)!important;transition:.3s cubic-bezier(.2,.8,.2,1)!important}
  .v50-menu-icon i:nth-child(1){width:20px}.v50-menu-icon i:nth-child(2){width:14px}.v50-menu-icon i:nth-child(3){width:18px}
  html body .menu-toggle.open{background:linear-gradient(145deg,#fff,#dff7ff)!important;color:var(--v50-blue)!important;transform:none!important}
  html body .menu-toggle.open .v50-menu-icon i:nth-child(1){width:20px;transform:translateY(7px) rotate(45deg)}
  html body .menu-toggle.open .v50-menu-icon i:nth-child(2){opacity:0;transform:scaleX(0)}
  html body .menu-toggle.open .v50-menu-icon i:nth-child(3){width:20px;transform:translateY(-7px) rotate(-45deg)}
  html body .mobile-menu,
  html body .mobile-menu.open{
    top:72px!important;right:14px!important;left:14px!important;padding:19px 13px 13px!important;border-radius:26px!important;
    background:radial-gradient(circle at 88% -8%,rgba(53,190,243,.42),transparent 34%),linear-gradient(150deg,rgba(4,40,114,.975),rgba(1,14,43,.965))!important;
    box-shadow:0 30px 90px rgba(1,13,43,.42),inset 0 1px 0 rgba(255,255,255,.15)!important;
  }
  html body .mobile-menu>a{min-height:47px!important;padding:9px 12px!important;border-radius:15px!important}
  html body .mobile-menu>a:after{content:none!important;display:none!important}
  .mobile-menu .v50-menu-link-arrow{
    width:29px;height:29px;min-width:29px;display:grid;place-items:center;border-radius:50%;
    color:#78ddff;background:linear-gradient(145deg,rgba(111,224,255,.16),rgba(255,255,255,.05));
    border:1px solid rgba(130,224,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:.25s;
  }
  .mobile-menu .v50-menu-link-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .mobile-menu>a:hover .v50-menu-link-arrow{transform:translateX(-3px);background:#fff;color:var(--v50-blue)}
  .v29-mobile-menu .v50-menu-link-arrow{
    width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:50%;
    color:#78ddff;background:linear-gradient(145deg,rgba(111,224,255,.17),rgba(255,255,255,.045));
    border:1px solid rgba(130,224,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 18px rgba(0,8,31,.1);transition:.25s;
  }
  .v29-mobile-menu .v50-menu-link-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .v29-mobile-menu .v29-menu-link:hover .v50-menu-link-arrow{transform:translateX(-3px);background:#fff;color:var(--v50-blue)}
  .v29-mobile-menu .v29-acc-btn>i{width:30px!important;height:30px!important;min-width:30px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:rgba(111,224,255,.1)!important;border:1px solid rgba(130,224,255,.14)!important;font-size:0!important}
  .v29-mobile-menu .v29-acc-btn>i:before{content:"";width:8px;height:8px;border-left:1.8px solid #78ddff;border-bottom:1.8px solid #78ddff;transform:rotate(-45deg) translate(1px,-1px);transition:.25s}
  .v29-mobile-menu .v29-acc.open .v29-acc-btn>i{transform:none!important;background:#fff!important}
  .v29-mobile-menu .v29-acc.open .v29-acc-btn>i:before{border-color:var(--v50-blue);transform:rotate(135deg) translate(-1px,1px)}
}

/* Home growth scene: reserve space for both floating captions on small screens. */
@media(max-width:620px){
  body.v50-home .growth-story{gap:34px!important;overflow:visible!important}
  body.v50-home .vector-growth-visual.open-scene-visual{
    min-height:650px!important;height:auto!important;margin:24px 0 36px!important;padding:50px 0 88px!important;overflow:visible!important;
  }
  body.v50-home .open-biz-scene{min-height:520px!important;height:520px!important;overflow:visible!important}
  body.v50-home .scene-kicker{top:0!important;right:50%!important;transform:translateX(50%)!important;white-space:nowrap!important;z-index:8!important}
  body.v50-home .open-output{bottom:-74px!important;width:calc(100% - 10px)!important;min-height:88px!important;padding:14px 15px 14px 62px!important;z-index:8!important}
  body.v50-home .open-output:before{content:""!important;left:12px!important;width:38px!important;height:38px!important;background:linear-gradient(145deg,#4bdcff,#0877bd)!important}
  body.v50-home .open-output:after{left:24px!important;width:12px!important;height:12px!important}
  body.v50-home .open-output strong{font-size:11px!important;line-height:1.75!important}
  body.v50-home .open-output span{line-height:1.7!important}
  body.v50-home .scene-tags{bottom:52px!important}
}

/* Make the home CTA eyebrow legible against every theme variation. */
body.v50-home .sales-cta .eyebrow{
  color:#dff7ff!important;background:rgba(1,20,55,.42)!important;border:1px solid rgba(126,220,255,.24)!important;
  padding:8px 14px!important;border-radius:999px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)!important;
}

/* The floating growth output uses the same arrow geometry as all CTAs. */
body.v50-home .open-output:before{content:""!important;background:linear-gradient(145deg,#4bdcff,#0877bd)!important}
body.v50-home .open-output:after{content:"";position:absolute;left:31px;top:50%;width:13px;height:13px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-62%) rotate(45deg);border-radius:1px;z-index:2}
body.v50-home .open-output{animation:v50OutputLift 7.2s ease-in-out infinite!important}
@keyframes v50OutputLift{0%,44%,100%{transform:translate(-50%,9px);opacity:.88}60%,84%{transform:translate(-50%,0);opacity:1}}

/* One minimal icon system for every footer. */
html body .site-footer[data-v31-footer] .contact-icon,
html body .site-footer[data-v31-footer] .footer-social .social-icon{
  position:relative!important;width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important;
  display:grid!important;place-items:center!important;border-radius:13px!important;color:#c9f4ff!important;
  background:radial-gradient(circle at 32% 24%,rgba(130,231,255,.34),rgba(32,144,205,.14) 46%,rgba(255,255,255,.04) 72%)!important;
  border:1px solid rgba(137,225,255,.2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 9px 24px rgba(0,14,46,.15)!important;
  transform:rotate(-3deg)!important;overflow:hidden!important;transition:.3s cubic-bezier(.2,.8,.2,1)!important;
}
html body .site-footer[data-v31-footer] .contact-icon:before,
html body .site-footer[data-v31-footer] .footer-social .social-icon:before{
  content:"";position:absolute;inset:5px;border-radius:9px;border:1px solid rgba(255,255,255,.1);transform:rotate(6deg);
}
html body .site-footer[data-v31-footer] .contact-icon:after,
html body .site-footer[data-v31-footer] .footer-social .social-icon:after{content:""!important;display:block!important;position:absolute!important;width:6px!important;height:6px!important;right:4px!important;top:4px!important;border-radius:50%!important;background:#6de6ff!important;box-shadow:0 0 10px #55dfff!important}
html body .site-footer[data-v31-footer] .contact-icon svg,
html body .site-footer[data-v31-footer] .footer-social .social-icon svg{position:relative!important;z-index:2!important;width:17px!important;height:17px!important}
html body .site-footer[data-v31-footer] .footer-contact-link:hover .contact-icon,
html body .site-footer[data-v31-footer] .footer-social a:hover .social-icon{transform:translateY(-3px) rotate(3deg)!important;color:#052859!important;background:linear-gradient(145deg,#eaffff,#7ce4ff)!important}

/* FAQ icon stays perfectly circular while only its two strokes animate. */
.dm-faq-item button i{position:relative!important;width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important;border-radius:50%!important;font-size:0!important;transform:none!important}
.dm-faq-item button i:before,.dm-faq-item button i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:99px;background:currentColor;transform:translate(-50%,-50%);transition:.25s}
.dm-faq-item button i:after{transform:translate(-50%,-50%) rotate(90deg)}
.dm-faq-item.open button i{transform:none!important}
.dm-faq-item.open button i:after{transform:translate(-50%,-50%) rotate(0deg)}

/* Brand-space hero: architecture and motion read as one system. */
.bs-stage .v50-architecture-mark{position:absolute;left:50%;top:54%;width:72%;max-width:470px;transform:translate(-50%,-50%) translateZ(42px);z-index:3;pointer-events:none;filter:drop-shadow(0 24px 34px rgba(0,10,42,.25));animation:v50Architecture 6.8s ease-in-out infinite}
.bs-stage .v50-architecture-mark svg{display:block;width:100%;height:auto;overflow:visible}
.bs-stage .v50-architecture-mark .frame{fill:rgba(4,34,80,.38);stroke:rgba(143,231,255,.55);stroke-width:1.4}
.bs-stage .v50-architecture-mark .window{fill:rgba(121,228,255,.17);stroke:rgba(194,246,255,.35);stroke-width:1}
.bs-stage .v50-architecture-mark .beam{fill:none;stroke:#70ddff;stroke-width:1.6;stroke-dasharray:7 10;animation:v50Beam 4s linear infinite}
@keyframes v50Architecture{50%{transform:translate(-50%,-53%) translateZ(52px) rotateY(-2deg)}}
@keyframes v50Beam{to{stroke-dashoffset:-68}}

/* Correct sequence direction: 01 visually flows toward the final card. */
.da-decision-map,.bi-pipeline,.growth-model{direction:ltr!important}
.da-decision-map>div,.bi-pipeline>div,.growth-model>div{direction:rtl!important}
.growth-model>i{transform:none!important}

/* Business diagnosis cascade copy alignment. */
.bd-example .bd-cascade span{text-align:center!important;display:block!important}

/* CEO portrait uses the new prepared stomach-up crop without mirroring. */
.ceo-stage-v42__portrait{object-fit:cover!important;object-position:50% 18%!important;transform:none!important;scale:1!important}

/* Mobile hero action groups are centered consistently. */
@media(max-width:700px){
  .hero-actions,.cta-actions,.dm-hero-actions,.bs-actions,.sw-actions,.ind-actions,.solx-actions,.da-actions,.bd-actions,
  .final-cta .container,.ind-final .container{justify-content:center!important;text-align:center!important}
  .hero-actions>a,.cta-actions>a,.dm-hero-actions>a,.bs-actions>a,.sw-actions>a,.ind-actions>a,.solx-actions>a,.da-actions>a,.bd-actions>a{margin-inline:auto!important}
  html body .site-footer[data-v31-footer] .contact-icon,
  html body .site-footer[data-v31-footer] .footer-social .social-icon{width:34px!important;height:34px!important;min-width:34px!important;flex-basis:34px!important;border-radius:12px!important}
  .bs-stage .v50-architecture-mark{width:84%;top:51%}
}

@media(prefers-reduced-motion:reduce){
  .v50-arrow,.v50-menu-icon i,.bs-stage .v50-architecture-mark,.bs-stage .v50-architecture-mark .beam{animation:none!important;transition:none!important}
}
