/* Shared foundation. Templates provide colors and layout. */
* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}

body {
  margin:0;
  color:var(--ink);
  font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;
  font-size:16px;
  line-height:1.65;
  background:#fff
}

a {
  color:inherit;
  text-decoration:none
}

button,input {
  font:inherit
}

a,button {
  touch-action:manipulation
}

button {
  cursor:pointer
}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid #75cbbb;
  outline-offset:5px
}

p,h1,h2,h3 {
  margin:0
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:51px;
  padding:11px 29px;
  background:var(--primary);
  border:1px solid var(--primary);
  color:#fff;
  border-radius:var(--radius-control);
  font-size:17px;
  font-weight:500;
  line-height:1.5;
  transition:background .15s,color .15s,box-shadow .15s
}

.button:hover {
  background:var(--primary-hover);
  border-color:var(--primary-hover)
}

.button-outline {
  color:var(--primary);
  background:#fff
}

.button-outline:hover {
  color:var(--primary);
  background:#eaf7f2;
  border-color:var(--primary)
}

[hidden] {
  display:none!important
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
