@page {
  size: A4;
  margin: 0;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-family: "SimSun", "宋体", serif;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
}

.page {
  width: 595.3pt;
  min-height: 841.9pt;
  margin: 0 auto;
  padding: 73.9pt 72.48pt 40pt 72.48pt;
}

.header {
  display: flex;
  align-items: flex-start;
  gap: 18pt;
  margin-bottom: 22pt;
}

.photo-wrap {
  width: 50.8pt;
  height: 67.7pt;
  flex: 0 0 auto;
  overflow: hidden;
}

.photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}

.header-main {
  flex: 1 1 auto;
}

.name-line {
  margin-bottom: 6pt;
}

.name {
  font-size: 25pt;
  line-height: 1.0;
  letter-spacing: 1pt;
  font-family: "SimHei", "黑体", sans-serif;
}

.info-grid {
  display: flex;
  justify-content: space-between;
  gap: 40pt;
}

.info-left,
.info-right {
  display: flex;
  flex-direction: column;
}

.info-row {
  font-size: 10.5pt;
  line-height: 1.7;
  white-space: nowrap;
}

.section {
  margin-bottom: 16pt;
}

.section-title {
  font-size: 12pt;
  font-family: "SimHei", "黑体", sans-serif;
  margin-bottom: 6pt;
  letter-spacing: 1pt;
}

.row {
  display: flex;
  align-items: baseline;
  font-size: 10.5pt;
  line-height: 1.7;
}

.row-gap {
  margin-top: 8pt;
}

.spacer {
  flex: 1 1 auto;
}

.list {
  margin: 0;
  padding: 0 0 0 12pt;
  font-size: 10.5pt;
  line-height: 1.8;
}

.list li {
  margin: 0;
}

.list li::marker {
  content: "•  ";
}

@media screen and (max-width: 640px) {
  body {
    background: #fff;
  }

  .page {
    width: 100%;
    padding: 24px 18px 40px 18px;
  }

  .info-grid {
    flex-direction: column;
    gap: 0;
  }

  .row {
    flex-wrap: wrap;
    gap: 4px;
  }

  .spacer {
    display: none;
  }
}

@media print {
  .page {
    margin: 0;
    padding: 73.9pt 72.48pt 40pt 72.48pt;
  }
}
