/* Consistent feedback for every interactive control across the public site. */
:where(a[href],button,summary){
  cursor:pointer;
  transition:color .22s ease,background-color .22s ease,border-color .22s ease,
    box-shadow .22s ease,opacity .22s ease,transform .22s ease,filter .22s ease,
    padding-left .22s ease;
}

:where(a[href],button,summary):focus-visible{
  outline:3px solid #ff8b42;
  outline-offset:3px;
}

:where(main,header,footer,nav) :where(a[href],button):hover{
  transform:translateY(-2px);
}

:where(.header,.tabs) a{
  position:relative;
}

:where(.header .nav,.tabs) a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:5px;
  left:0;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#36d6dd,#1688e8,#ff7b34);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s ease;
}

:where(.header .nav,.tabs) a:hover::after,
:where(.header .nav,.tabs) a:focus-visible::after{
  transform:scaleX(1);
}

:where(.btn,.top-cta,.contact-link,.section-more,.detail-actions a,.actions a,
  .article-cta a,.bottom-cta a,.topic-actions a,.contact-actions a){
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

:where(.btn,.top-cta,.contact-link,.section-more,.detail-actions a,.actions a,
  .article-cta a,.bottom-cta a,.topic-actions a,.contact-actions a)::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(110deg,transparent 15%,#ffffff4f 48%,transparent 82%);
  transform:translateX(-130%);
  transition:transform .45s ease;
}

:where(.btn,.top-cta,.contact-link,.section-more,.detail-actions a,.actions a,
  .article-cta a,.bottom-cta a,.topic-actions a,.contact-actions a):hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px #123b5c26;
  filter:saturate(1.08);
}

:where(.btn,.top-cta,.contact-link,.section-more,.detail-actions a,.actions a,
  .article-cta a,.bottom-cta a,.topic-actions a,.contact-actions a):hover::before{
  transform:translateX(130%);
}

:where(.product-link,.section-more,.business-cta,.solution a,.news-copy a,
  .news-body a,.entry strong) :where(span,b){
  transition:transform .22s ease,color .22s ease;
}

:where(.product-card,.section-more,.business,.solution,.news-item,.news-card,.entry):hover
  :where(.product-link,.business-cta,.solution a,.news-copy a,.news-body a) :where(span,b),
:where(.product-card,.section-more,.business,.solution,.news-item,.news-card,.entry):focus-within
  :where(.product-link,.business-cta,.solution a,.news-copy a,.news-body a) :where(span,b){
  transform:translateX(5px);
}

:where(.operation-card>a,.certificate-image,.company-photo a,.case-card>a){
  overflow:hidden;
}

:where(.operation-card>a,.certificate-image,.company-photo a,.case-card>a) img{
  transition:transform .35s ease,filter .35s ease;
}

:where(.operation-card>a,.certificate-image,.company-photo a,.case-card>a):hover img{
  transform:scale(1.045);
  filter:saturate(1.06) brightness(1.03);
}

:where(.detail-side a,.side-card a,.footer a,.related a,.product-choice a):hover{
  color:#1688e8;
  padding-left:4px;
}

summary:hover{
  color:#087fbd;
  background:#f3f8fa;
}

@media (prefers-reduced-motion:reduce){
  :where(a[href],button,summary),
  :where(a[href],button,summary)::before,
  :where(a[href],button,summary)::after,
  :where(a[href],button,summary) *{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  :where(a[href],button,summary):hover{
    transform:none!important;
  }
}

@media (hover:none){
  :where(a[href],button,summary):hover{
    transform:none;
  }
}

/* Chinese homepage: real employee health dashboard supplied for the platform section. */
html[lang="zh-CN"] .platform .dashboard{
  position:relative;
  height:auto;
  min-height:0;
  aspect-ratio:1672 / 941;
  padding:0;
  overflow:hidden;
  border:8px solid #d5e1e7;
  border-radius:16px;
  background:#f4f7fa url("assets/platform/employee-health-dashboard.jpg?v=20261004-2") center / cover no-repeat;
  box-shadow:0 24px 58px #173b512b;
}

html[lang="zh-CN"] .platform .dashboard>*{
  display:none;
}

html[lang="zh-CN"] .platform .dashboard::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:8px;
  box-shadow:inset 0 0 0 1px #5ab9e052,inset 0 -24px 44px #03132124;
}
