:root {
  --green: #12c15a;
  --ink: #222;
  --muted: #1F2734;
  --paper: #f3f5f8;
  --max: 750px;
  --wide: 1120px;
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
}
body {
  color: var(--ink);
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  background-color: #f4f5f7;
  background-image: url("../images/page@2x.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: min(var(--max), 100%) auto;
  padding-bottom: 78px;
  position: relative;
  max-width: 100%;
  overflow-x: clip;
  --bg: min(750px, 100vw);
  --bg: min(750px, 100dvw);
}
img { max-width: 100%; height: auto; display: block; }
picture { display: block; }
a { color: inherit; text-decoration: none; }

.wrap {
  width: min(var(--max), 100%);
  margin: 0 auto;
}

.topbar { background: transparent; }
.bar {
  min-height: 64px;
  padding: 42px 18px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.bar > picture { min-width: 0; flex: none; }
.bar > picture:first-child { width: calc(186 * var(--bg) / 750); }
.bar > picture:last-child { width: calc(230 * var(--bg) / 750); }
.logo, .sponsor { width: 100%; height: auto; }

.hero {
  --head: 90px;
  text-align: center;
  padding: 0 16px calc(12 * var(--bg) / 750);
  padding-top: max(12px, calc(360 * var(--bg) / 750 - var(--head)));
}
.hero h1 {
  position: absolute;
  z-index: 2;
  top: calc(238 * var(--bg) / 750);
  left: calc((100% - var(--bg)) / 2 + 20 * var(--bg) / 750);
  width: calc(280.5 * var(--bg) / 750);
  height: calc(30 * var(--bg) / 750);
  margin: 0;
  color: #fff;
  font-family: HYYakuHei, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-weight: 900;
  font-size: calc(56 * var(--bg) / 750);
  line-height: calc(30 * var(--bg) / 750);
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}
.hero .sub {
  position: absolute;
  z-index: 2;
  top: calc(300 * var(--bg) / 750);
  left: calc((100% - var(--bg)) / 2 + 28 * var(--bg) / 750);
  margin: 0;
  color: rgba(255,255,255,.92);
  font-weight: 400;
  font-size: calc(26 * var(--bg) / 750);
  line-height: calc(36 * var(--bg) / 750);
  letter-spacing: 0;
  white-space: nowrap;
}
.phones {
  width: min(100%, calc(608 * var(--bg) / 750));
  margin: calc(8 * var(--bg) / 750) auto 0;
}
.cta {
  display: flex;
  gap: calc(14 * var(--bg) / 750);
  width: min(100%, calc(640 * var(--bg) / 750));
  margin: calc(14 * var(--bg) / 750) auto 0;
}
.btn {
  flex: 1;
  height: max(56px, calc(96 * var(--bg) / 750));
  border-radius: calc(10 * var(--bg) / 750);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(36 * var(--bg) / 750);
  line-height: calc(96 * var(--bg) / 750);
  font-weight: 800;
  position: relative;
}
.btn-green { background: #0daf54; color: #fff; }
.btn-white {
  background: #fff;
  color: #222;
  border: 1px solid #e4e4e4;
}
.pill {
  position: absolute;
  top: calc(-11 * var(--bg) / 750);
  right: calc(6 * var(--bg) / 750);
  background: #e23b3b;
  color: #fff;
  font-size: calc(24 * var(--bg) / 750);
  line-height: calc(24 * var(--bg) / 750);
  border-radius: 999px;
  padding: 2px 8px;
}
.more {
  margin: calc(18 * var(--bg) / 750) 0 calc(6 * var(--bg) / 750);
  color: #666;
  font-size: calc(28 * var(--bg) / 750);
  line-height: calc(40 * var(--bg) / 750);
}
.more span {
  display: block;
  width: 0;
  height: 0;
  margin: 6px auto 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #8a8a8a;
}

.shot picture,
.shot img { width: min(100%, calc(720 * var(--bg) / 750)); margin: 0 auto; padding: 0; }
.shot.kinds picture,
.shot.kinds img { width: min(100%, calc(712 * var(--bg) / 750)); }
.shot.foot picture,
.shot.foot img { width: min(100%, calc(660 * var(--bg) / 750)); }
.shot + .block,
.block + .shot { margin-top: calc(8 * var(--bg) / 750); }

.block { padding: calc(8 * var(--bg) / 750) 0 calc(24 * var(--bg) / 750); }
.sec-title {
  font-family: "HYYakuHei", "PingFang SC", "Microsoft YaHei", sans-serif;
  margin: calc(48 * var(--bg) / 750) calc(18 * var(--bg) / 750) calc(45 * var(--bg) / 750);
  font-size: calc(48 * var(--bg) / 750);
  line-height: calc(26 * var(--bg) / 750);
  font-weight: 800;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: calc(8 * var(--bg) / 750);
}
.sec-title1 {
  margin: calc(48 * var(--bg) / 750) calc(18 * var(--bg) / 750) calc(70 * var(--bg) / 750);
}
.sec-title::before {
  content: "";
  width: calc(20 * var(--bg) / 750);
  height: calc(52 * var(--bg) / 750);
  background: #00c853;
}

.services {
  position: relative;
  width: min(100%, calc(732 * var(--bg) / 750));
  margin-inline: auto;
  container-type: inline-size;
}
.services-bg,
.services-bg img { width: 100%; height: auto; }
.service {
  position: absolute;
  width: calc(221 / 732 * 100%);
  height: calc(249 / 476 * 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--ink);
  transform: translateX(-50%);
  min-width: 0;
}
.service:nth-child(2) { left: calc(127.5 / 732 * 100%); top: calc(-70 / 476 * 100%); }
.service:nth-child(3) { left: calc(365.5 / 732 * 100%); top: calc(-70 / 476 * 100%); }
.service:nth-child(4) { left: calc(604.5 / 732 * 100%); top: calc(-70 / 476 * 100%); }
.service:nth-child(5) { left: calc(247.5 / 732 * 100%); top: calc(150 / 476 * 100%); }
.service:nth-child(6) { left: calc(485.5 / 732 * 100%); top: calc(150 / 476 * 100%); }
.service picture { width: 82%; max-width: 100%; margin: 0 auto; flex: none; display: flex; align-items: center; justify-content: center; }
.service strong,
.service em {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  text-align: center;
}
.service strong {
  display: block;
  margin-top: 10%;
  font-size: calc(28 / 732 * 100cqw);
  line-height: 1.15;
  color:#1F2734;
  font-family: "HYYakuHei", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.service em {
  display: block;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  margin-top: 1%;
  font-style: normal;
  color: var(--muted);
  font-size: calc(22 / 732 * 100cqw);
  line-height: 1.15;
}
a.service { cursor: pointer; }

.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(36 * var(--bg) / 750) calc(1 * var(--bg) / 750);
  padding: calc(16.4 * var(--bg) / 750) calc(18.2 * var(--bg) / 750) calc(54.5 * var(--bg) / 750);
  align-items: center;
}
.p-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(120 * var(--bg) / 750);
}
.p-cell picture { max-width: 100%; }
.p-cell img {
  width: auto;
  max-width: 100%;
  max-height: calc(100 * var(--bg) / 750);
  margin: 0 auto;
  object-fit: contain;
}
.p-fb { gap: calc(9.1 * var(--bg) / 750); }
.p-fb picture:first-child { width: calc(45 * var(--bg) / 750); flex: none; }
.p-fb picture:last-child { width: calc(195.5 * var(--bg) / 750); max-width: 70%; }
.p-fb img { max-height: calc(90 * var(--bg) / 750); }
.p-cell:nth-child(2) img {
  max-height: calc(145 * var(--bg) / 750);
  max-width: min(100%, calc(187.5 * var(--bg) / 750));
}

.dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}
.dock-inner {
  min-height: calc(72 * var(--bg) / 750);
  padding: calc(10.5 * var(--bg) / 750) calc(16 * var(--bg) / 750);
  display: flex;
  align-items: center;
  gap: calc(10 * var(--bg) / 750);
}
.dock-logo {
  width: calc(80 * var(--bg) / 750);
  height: calc(80 * var(--bg) / 750);
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: calc(12 * var(--bg) / 750);
  padding: calc(6 * var(--bg) / 750);
}
.dock-logo img { width: 100%; height: 100%; object-fit: contain;}
.dock .grow { flex: 1; text-align: left; }
.dock strong {
  display: block;
  color: #fff;
  font-size: calc(30 * var(--bg) / 750);
  line-height: calc(42 * var(--bg) / 750);
}
.dock small {
  color: rgba(255,255,255,.75);
  font-size: calc(20 * var(--bg) / 750);
  line-height: calc(36 * var(--bg) / 750);
}
.dock-btn {
  background: #0daf54;
  color: #fff;
  border-radius: 999px;
  padding: calc(13 * var(--bg) / 750) calc(60 * var(--bg) / 750);
  font-size: calc(30 * var(--bg) / 750);
  line-height: calc(44 * var(--bg) / 750);
  font-weight: 800;
}

@media (min-width: 900px) {
  body {
    background-image: url("../images/page.png");
    background-size: min(var(--wide), 100%) auto;
    --bg: min(1120px, 100vw);
    --bg: min(1120px, 100dvw);
  }
  .wrap { width: min(var(--wide), calc(100% - 48px)); }
  .hero { --head: 101px; }
  .sec-title { margin-left: 0; margin-right: 0; }
}
