/* AASA replica overrides: kill scrollbars + responsive, keep real look */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }
body { width: 100%; min-height: 100vh; }

/* home/cert/about fill exactly viewport minus the 5rem header -> no vertical scroll */
.home-main,
.cert-search-main,
.about-main { min-height: calc(100vh - 5rem) !important; }

/* home title on one line, responsive so it never causes horizontal scroll */
.home-main .home-text-wrapper .home-title h1[data-v-f9b051e4] {
  white-space: nowrap;
  font-size: clamp(1rem, 4.2vw, 2rem);
}

/* ---- home viewport centering ---- */
.home-main[data-v-f9b051e4] {
  align-items: center !important;
  justify-content: center !important;
  min-height: calc(100dvh - 5rem) !important;
  padding: clamp(1rem, 4vh, 2.5rem) clamp(1rem, 4vw, 2rem) !important;
}
.home-main .home-container[data-v-f9b051e4] {
  width: 90% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2rem !important;
}
.Header { width: 100%; overflow: visible !important; }
.Header .el-menu--horizontal { width: 100%; flex-wrap: nowrap; overflow: visible !important; }
.Header .el-menu-item:first-child { position: relative; overflow: visible !important; }
.theme-switcher {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  z-index: 50;
  transform: translateX(-50%);
}
.theme-panel {
  position: absolute;
  top: 0;
  left: 50%;
  display: grid;
  gap: 6px;
  min-width: 124px;
  padding: 8px;
  border: 1px solid rgba(227, 210, 118, .28);
  border-radius: 12px;
  background: rgba(10, 10, 9, .96);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .34);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -8px);
  transition: opacity .22s ease, transform .22s ease;
}
.theme-switcher.is-open .theme-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.theme-choice {
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #f4eed2;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.theme-choice:hover,
.theme-choice.is-active {
  background: rgba(227, 210, 118, .18);
  color: #e3d276;
}

/* ---- route transitions ---- */
.Header.route-enter .el-menu-item,
.Header.route-enter .flex-grow[data-v-f9b051e4] {
  animation: navItemIn .42s cubic-bezier(.22, 1, .36, 1) both;
}
.Header.route-enter .el-menu-item:nth-child(1) { animation-delay: .02s; }
.Header.route-enter .el-menu-item:nth-child(3) { animation-delay: .08s; }
.Header.route-enter .el-menu-item:nth-child(4) { animation-delay: .14s; }
.Header.route-enter .el-menu-item:nth-child(5) { animation-delay: .2s; }
.Header.route-enter .flex-grow[data-v-f9b051e4] { animation-delay: .05s; }
.Footer.route-enter .footer-content[data-v-f9b051e4],
.Footer.route-enter .footer-text[data-v-f9b051e4] {
  animation: footerIn .5s cubic-bezier(.22, 1, .36, 1) both;
}
.Footer.route-enter .footer-text[data-v-f9b051e4] {
  animation-delay: .1s;
}
.about-main.route-enter .about-title[data-v-f9b051e4],
.about-main.route-enter .about-section[data-v-f9b051e4],
.about-main.route-enter .about-process-section,
.about-main.route-enter .about-cert-section,
.about-main.route-enter .about-stats,
.about-main.route-enter .about-conclusion[data-v-f9b051e4] {
  animation: routeFadeUp .46s cubic-bezier(.22, 1, .36, 1) both;
}
.about-main.route-enter .about-title[data-v-f9b051e4] { animation-delay: .02s; }
.about-main.route-enter .about-section[data-v-f9b051e4]:nth-of-type(1) { animation-delay: .08s; }
.about-main.route-enter .about-section[data-v-f9b051e4]:nth-of-type(2) { animation-delay: .14s; }
.about-main.route-enter .about-section[data-v-f9b051e4]:nth-of-type(3) { animation-delay: .2s; }
.about-main.route-enter .about-process-section { animation-delay: .26s; }
.about-main.route-enter .about-cert-section { animation-delay: .32s; }
.about-main.route-enter .about-stats { animation-delay: .38s; }
.about-main.route-enter .about-conclusion[data-v-f9b051e4] { animation-delay: .44s; }
.home-main.route-enter .home-text-wrapper[data-v-f9b051e4],
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .home-logo[data-v-f9b051e4],
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .search-form-item[data-v-f9b051e4],
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .search-btn[data-v-f9b051e4] {
  animation: routeFadeUp .58s cubic-bezier(.22, 1, .36, 1) both;
}
.home-main.route-enter .home-text-wrapper[data-v-f9b051e4] {
  animation-delay: .02s;
}
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .home-logo[data-v-f9b051e4] {
  animation-delay: .12s;
}
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .search-form-item[data-v-f9b051e4] {
  animation-delay: .22s;
}
.home-main.route-enter .home-search-wrapper[data-v-f9b051e4] .search-btn[data-v-f9b051e4] {
  animation-delay: .32s;
}
.home-main.route-enter .home-text-wrapper .home-title h1[data-v-f9b051e4],
.home-main.route-enter .home-text-wrapper .home-title .title-sub[data-v-f9b051e4],
.home-main.route-enter .home-text-wrapper .home-desc p[data-v-f9b051e4] {
  animation: routeTextIn .5s cubic-bezier(.22, 1, .36, 1) both;
}
.home-main.route-enter .home-text-wrapper .home-title h1[data-v-f9b051e4] { animation-delay: .04s; }
.home-main.route-enter .home-text-wrapper .home-title .title-sub[data-v-f9b051e4] { animation-delay: .12s; }
.home-main.route-enter .home-text-wrapper .home-desc p[data-v-f9b051e4]:nth-child(1) { animation-delay: .18s; }
.home-main.route-enter .home-text-wrapper .home-desc p[data-v-f9b051e4]:nth-child(2) { animation-delay: .23s; }
.home-main.route-enter .home-text-wrapper .home-desc p[data-v-f9b051e4]:nth-child(3) { animation-delay: .28s; }
.home-main.route-enter .home-text-wrapper .home-desc p[data-v-f9b051e4]:nth-child(4) { animation-delay: .33s; }
@keyframes routeFadeUp {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.98);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes routeTextIn {
  from {
    opacity: 0;
    transform: translateY(14px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@keyframes navItemIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@keyframes footerIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-main.route-enter *,
  .Header.route-enter *,
  .Footer.route-enter *,
  .about-main.route-enter * {
    animation: none;
  }
}

/* ---- selectable site themes ---- */
body.theme-formal {
  background: #f7f3ea;
  color: #1f211f;
}
body.theme-formal .Header .el-menu--horizontal {
  --el-menu-text-color: #24251f !important;
  --el-menu-hover-text-color: #8b1f18 !important;
  --el-menu-bg-color: #f7f3ea !important;
  --el-menu-hover-bg-color: #ede5d4 !important;
  --el-menu-active-color: #b12a22 !important;
  border-bottom: 1px solid rgba(126, 87, 33, .18);
  background: #f7f3ea !important;
}
body.theme-formal .Header,
body.theme-formal .Header .el-menu,
body.theme-formal .Header .el-menu-item,
body.theme-formal .Header .flex-grow[data-v-f9b051e4] {
  background-color: #f7f3ea !important;
  color: #24251f !important;
}
body.theme-formal .Header .el-menu-item:hover {
  background-color: #ede5d4 !important;
  color: #8b1f18 !important;
}
body.theme-formal .Header .el-menu-item.is-active {
  color: #b12a22 !important;
}
body.theme-formal .theme-panel {
  border-color: rgba(126, 87, 33, .18);
  background: rgba(255, 253, 247, .98);
  box-shadow: 0 18px 38px rgba(79, 57, 20, .16);
}
body.theme-formal .theme-choice { color: #24251f; }
body.theme-formal .theme-choice:hover,
body.theme-formal .theme-choice.is-active {
  background: rgba(177, 42, 34, .1);
  color: #b12a22;
}
body.theme-formal .home-main[data-v-f9b051e4],
body.theme-formal .cert-search-main[data-v-f9b051e4],
body.theme-formal .about-main[data-v-f9b051e4] {
  background:
    radial-gradient(circle at 72% 18%, rgba(177, 42, 34, .1), transparent 28%),
    linear-gradient(135deg, #faf8f2, #eee5d4) !important;
}
body.theme-formal .home-text-wrapper[data-v-f9b051e4],
body.theme-formal .about-main .about-container[data-v-f9b051e4] {
  color: #262620 !important;
}
body.theme-formal .home-main .home-text-wrapper .home-title h1[data-v-f9b051e4],
body.theme-formal .about-main .section-title[data-v-f9b051e4],
body.theme-formal .about-main .about-title h2[data-v-f9b051e4],
body.theme-formal .about-main .process-head .section-title,
body.theme-formal .about-main .cert-copy .section-title,
body.theme-formal .about-main .tl-title {
  color: #1f211f !important;
}
body.theme-formal .home-main .home-text-wrapper .home-title .title-sub[data-v-f9b051e4],
body.theme-formal .home-main .home-text-wrapper .home-desc[data-v-f9b051e4],
body.theme-formal .about-main .section-content[data-v-f9b051e4],
body.theme-formal .about-main .cert-copy .lead,
body.theme-formal .about-main .process-head .section-sub,
body.theme-formal .about-main .tl-desc {
  color: #666154 !important;
}
body.theme-formal .about-main .about-container[data-v-f9b051e4] {
  background: rgba(255, 253, 247, .86) !important;
  box-shadow: 0 18px 50px rgba(79, 57, 20, .14);
}
body.theme-formal .about-main .about-process-section,
body.theme-formal .about-main .cert-showcase,
body.theme-formal .about-main .about-stats {
  border-color: rgba(126, 87, 33, .22);
  background: rgba(255, 253, 247, .9);
  box-shadow: 0 18px 42px rgba(79, 57, 20, .12);
}
body.theme-formal .Footer {
  background: #f7f3ea !important;
  color: #6f6758 !important;
  border-top: 1px solid rgba(126, 87, 33, .14);
}
body.theme-tech .Header .el-menu--horizontal {
  --el-menu-bg-color: #071426 !important;
  --el-menu-hover-bg-color: #0d2038 !important;
  --el-menu-active-color: #7dd3fc !important;
  background: #071426 !important;
}
body.theme-tech .Header,
body.theme-tech .Header .el-menu,
body.theme-tech .Header .el-menu-item,
body.theme-tech .Header .flex-grow[data-v-f9b051e4] {
  background-color: #071426 !important;
  color: #d8eefc !important;
}
body.theme-tech .Header .el-menu-item:hover {
  background-color: #0d2038 !important;
  color: #7dd3fc !important;
}
body.theme-tech .Header .el-menu-item.is-active {
  color: #7dd3fc !important;
}
body.theme-tech .theme-panel {
  border-color: rgba(125, 211, 252, .24);
  background: rgba(7, 20, 38, .98);
}
body.theme-tech .theme-choice { color: #d8eefc; }
body.theme-tech .theme-choice:hover,
body.theme-tech .theme-choice.is-active {
  background: rgba(125, 211, 252, .14);
  color: #7dd3fc;
}
body.theme-tech .home-main[data-v-f9b051e4],
body.theme-tech .cert-search-main[data-v-f9b051e4],
body.theme-tech .about-main[data-v-f9b051e4] {
  background:
    radial-gradient(circle at 70% 10%, rgba(125, 211, 252, .22), transparent 28%),
    linear-gradient(135deg, #071426, #05070c) !important;
}
body.theme-tech .about-main .about-process-section,
body.theme-tech .about-main .cert-showcase,
body.theme-tech .about-main .about-stats {
  border-color: rgba(125, 211, 252, .26);
  background: linear-gradient(135deg, rgba(9, 32, 56, .94), rgba(5, 9, 18, .9));
}
body.theme-tech .home-main .home-text-wrapper .home-title h1[data-v-f9b051e4],
body.theme-tech .about-main .section-title[data-v-f9b051e4] {
  color: #7dd3fc !important;
}
body.theme-archive .Header .el-menu--horizontal {
  --el-menu-bg-color: #170808 !important;
  --el-menu-hover-bg-color: #260d0d !important;
  --el-menu-active-color: #efc77a !important;
  background: #170808 !important;
}
body.theme-archive .Header,
body.theme-archive .Header .el-menu,
body.theme-archive .Header .el-menu-item,
body.theme-archive .Header .flex-grow[data-v-f9b051e4] {
  background-color: #170808 !important;
  color: #f8e7c6 !important;
}
body.theme-archive .Header .el-menu-item:hover {
  background-color: #260d0d !important;
  color: #efc77a !important;
}
body.theme-archive .Header .el-menu-item.is-active {
  color: #efc77a !important;
}
body.theme-archive .theme-panel {
  border-color: rgba(201, 58, 48, .3);
  background: rgba(23, 8, 8, .98);
}
body.theme-archive .theme-choice { color: #f8e7c6; }
body.theme-archive .theme-choice:hover,
body.theme-archive .theme-choice.is-active {
  background: rgba(201, 58, 48, .16);
  color: #efc77a;
}
body.theme-archive .home-main[data-v-f9b051e4],
body.theme-archive .cert-search-main[data-v-f9b051e4],
body.theme-archive .about-main[data-v-f9b051e4] {
  background:
    radial-gradient(circle at 72% 12%, rgba(201, 58, 48, .22), transparent 30%),
    linear-gradient(135deg, #170808, #070202) !important;
}
body.theme-archive .about-main .about-process-section,
body.theme-archive .about-main .cert-showcase,
body.theme-archive .about-main .about-stats {
  border-color: rgba(201, 58, 48, .32);
  background: linear-gradient(135deg, rgba(38, 13, 13, .94), rgba(10, 4, 4, .92));
}
body.theme-archive .home-main .home-text-wrapper .home-title h1[data-v-f9b051e4],
body.theme-archive .about-main .section-title[data-v-f9b051e4] {
  color: #efc77a !important;
}

/* ---- about process ---- */
.about-main .about-process-section {
  margin: 2.4rem 0 2rem;
  padding: clamp(1.6rem, 4vw, 3.2rem);
  border: 1px solid rgba(227, 210, 118, .22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0, rgba(227, 210, 118, .14), transparent 36%),
    linear-gradient(135deg, rgba(15, 15, 13, .96), rgba(7, 7, 7, .9));
  box-shadow: 0 18px 46px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .05);
}
.about-main .process-head {
  max-width: 760px;
  margin: 0 auto 3rem;
  text-align: center;
}
.about-main .process-head .kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  margin-bottom: 1.1rem;
  color: #e3d276;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .28em;
}
.about-main .process-head .kicker-line {
  width: 30px;
  height: 1px;
  background: #c93a30;
}
.about-main .process-head .section-title {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  color: #f4eed2;
  font-family: "Songti SC", "STSong", SimSun, serif;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
}
.about-main .process-head .section-sub {
  margin: 0;
  color: #cfc7ab;
  font-size: 1.03rem;
  line-height: 1.7;
}
.about-main .timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 4vw, 3rem);
}
.about-main .timeline::before {
  position: absolute;
  top: 31px;
  right: 12%;
  left: 12%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(227, 210, 118, .42), transparent);
  content: '';
}
.about-main .tl-node {
  position: relative;
  z-index: 1;
  text-align: center;
}
.about-main .tl-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin-bottom: 1.5rem;
  border: 2px solid #c93a30;
  border-radius: 999px;
  color: #c93a30;
  background: #090908;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 800;
  box-shadow: 0 0 0 8px rgba(7, 7, 7, .88), 0 12px 26px rgba(0, 0, 0, .28);
}
.about-main .tl-title {
  margin-bottom: .75rem;
  color: #f4eed2;
  font-family: "Songti SC", "STSong", SimSun, serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.about-main .tl-desc {
  max-width: 280px;
  margin: 0 auto;
  color: #d0c8ae;
  font-size: .98rem;
  line-height: 1.75;
}

/* ---- about certificate showcase ---- */
.about-main .about-cert-section {
  margin: 2.4rem 0 2rem;
}
.about-main .cert-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(1.8rem, 5vw, 4rem);
  align-items: center;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(227, 210, 118, .24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 0, rgba(227, 210, 118, .16), transparent 34%),
    linear-gradient(135deg, rgba(18, 18, 16, .96), rgba(7, 7, 7, .88));
  box-shadow: 0 18px 46px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .05);
}
.about-main .cert-copy .kicker {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.15rem;
  color: #e3d276;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .28em;
}
.about-main .cert-copy .kicker-line {
  width: 30px;
  height: 1px;
  background: #c93a30;
}
.about-main .cert-copy .section-title {
  max-width: 620px;
  margin: 0 0 1.15rem;
  padding: 0;
  border: 0;
  color: #f4eed2;
  font-family: "Songti SC", "STSong", SimSun, serif;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .04em;
}
.about-main .cert-copy .lead {
  max-width: 640px;
  margin: 0 0 1.4rem;
  color: #d4d0c2;
  font-size: 1.05rem;
  line-height: 1.85;
}
.about-main .cert-list {
  display: grid;
  gap: .9rem;
  margin: 0 0 1.7rem;
  padding: 0;
}
.about-main .cert-list li {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: #f0ead2;
  font-size: 1rem;
  list-style: none;
}
.about-main .cert-list .ck {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(201, 58, 48, .48);
  border-radius: 999px;
  color: #c93a30;
  background: rgba(201, 58, 48, .08);
}
.about-main .cert-card {
  position: relative;
  overflow: hidden;
  width: min(100%, 380px);
  justify-self: center;
  padding: 2.1rem 2.2rem 2rem;
  border: 1px solid rgba(227, 210, 118, .36);
  border-radius: 20px;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, .78), transparent 34%),
    linear-gradient(145deg, rgba(248, 247, 239, .98), rgba(229, 224, 204, .94));
  box-shadow: 0 26px 58px rgba(0, 0, 0, .42), inset 0 0 0 1px rgba(255, 255, 255, .65);
  color: #20201d;
}
.about-main .cert-card::after {
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(176, 140, 76, .18);
  border-radius: 14px;
  pointer-events: none;
  content: '';
}
.about-main .cert-card > * {
  position: relative;
  z-index: 1;
}
.about-main .cc-kicker {
  margin-bottom: 1.1rem;
  color: #c93a30;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .42em;
}
.about-main .cc-title {
  color: #141410;
  font-family: "Songti SC", "STSong", SimSun, serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.about-main .cc-divider {
  height: 1px;
  margin: 1.7rem 0 1rem;
  background: linear-gradient(to right, rgba(115, 90, 44, .2), rgba(115, 90, 44, .42), rgba(115, 90, 44, .08));
}
.about-main .cc-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  border-bottom: 1px dashed rgba(115, 90, 44, .24);
}
.about-main .cc-row .k {
  color: #777265;
  font-size: .88rem;
}
.about-main .cc-row .v {
  overflow: hidden;
  color: #1f1f1b;
  font-size: .92rem;
  font-weight: 800;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.about-main .cc-seal {
  position: absolute;
  right: 2.1rem;
  bottom: 2.6rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  border: 3px solid #c93a30;
  border-radius: 999px;
  color: #c93a30;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  opacity: .72;
  transform: rotate(-14deg);
}
.about-main .cc-note {
  margin-top: 1.9rem;
  padding-right: 5.8rem;
  color: #817a6a;
  font-size: .78rem;
  line-height: 1.6;
}

/* ---- about stats ---- */
.about-main .about-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 2rem 0 2.8rem;
  padding: 1.8rem 1.2rem;
  border: 1px solid rgba(227, 210, 118, .28);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(227, 210, 118, .08), rgba(255, 255, 255, .025)),
    rgba(7, 7, 7, .42);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.about-main .about-stat {
  position: relative;
  min-height: 92px;
  padding: .35rem 1rem;
  text-align: center;
}
.about-main .about-stat:not(:last-child)::after {
  position: absolute;
  top: 8px;
  right: 0;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(227, 210, 118, .42), transparent);
  content: '';
}
.about-main .about-stat strong {
  display: block;
  color: #c93a30;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.1rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: .02em;
  text-shadow: 0 0 18px rgba(201, 58, 48, .16);
}
.about-main .about-stat strong span {
  margin-left: .15rem;
  font-size: .48em;
}
.about-main .about-stat p {
  margin: .75rem 0 0;
  color: #d7d0b7;
  font-size: .98rem;
  letter-spacing: .04em;
}

/* ---- responsive ---- */
@media (max-width: 900px) {
  .home-main[data-v-f9b051e4] { min-height: calc(100dvh - 5rem) !important; padding: 1rem !important; }
  .home-main .home-container[data-v-f9b051e4] { grid-template-columns: 1fr !important; text-align: center; gap: 1.2rem !important; }
  .Header .el-menu-item { padding: 0 10px !important; font-size: 14px; }
  .home-main .home-title h1[data-v-f9b051e4] { font-size: 28px !important; }
  .cert-search-main .cert-container { flex-direction: column; gap: 2rem; }
  .about-main .timeline { gap: 1.2rem; }
  .about-main .cert-showcase { grid-template-columns: 1fr; }
  .about-main .cert-card { width: min(100%, 420px); }
  .about-main .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-main .about-stat:nth-child(2)::after { display: none; }
}
@media (max-width: 600px) {
  .home-main[data-v-f9b051e4] { padding: .75rem !important; }
  .home-main .home-container[data-v-f9b051e4],
  .home-main .home-text-wrapper[data-v-f9b051e4],
  .home-main .home-search-wrapper[data-v-f9b051e4] {
    min-width: 0 !important;
  }
  .home-main .home-text-wrapper .home-title h1[data-v-f9b051e4] {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    line-height: 1.16 !important;
  }
  .home-main .home-text-wrapper .home-desc[data-v-f9b051e4] {
    overflow-wrap: break-word !important;
  }
  .theme-switcher { top: calc(100% + 4px); }
  .Header .el-menu-item { padding: 0 6px !important; }
  .about-main .about-process-section { padding: 1.2rem; border-radius: 14px; }
  .about-main .process-head { margin-bottom: 2rem; }
  .about-main .process-head .kicker { letter-spacing: .18em; }
  .about-main .timeline { grid-template-columns: 1fr; gap: 1.4rem; }
  .about-main .timeline::before { top: 0; bottom: 0; left: 31px; width: 1px; height: auto; background: linear-gradient(to bottom, transparent, rgba(227, 210, 118, .4), transparent); }
  .about-main .tl-node { display: grid; grid-template-columns: 62px minmax(0, 1fr); column-gap: 1rem; text-align: left; }
  .about-main .tl-num { grid-row: span 2; margin: 0; }
  .about-main .tl-title { margin: .25rem 0 .35rem; font-size: 1.18rem; }
  .about-main .tl-desc { max-width: none; margin: 0; font-size: .94rem; }
  .about-main .cert-showcase { padding: 1.2rem; border-radius: 14px; }
  .about-main .cert-copy .kicker { letter-spacing: .18em; }
  .about-main .cert-copy .lead { font-size: .98rem; }
  .about-main .cert-list li { align-items: flex-start; font-size: .95rem; }
  .about-main .cert-card { padding: 1.7rem 1.45rem 1.6rem; }
  .about-main .cc-title { font-size: 1.7rem; }
  .about-main .cc-row { grid-template-columns: 76px minmax(0, 1fr); }
  .about-main .cc-seal { width: 78px; height: 78px; right: 1.35rem; bottom: 2.15rem; font-size: .9rem; }
  .about-main .cc-note { padding-right: 4.8rem; }
  .about-main .about-stats { grid-template-columns: 1fr; padding: 1.2rem; }
  .about-main .about-stat { min-height: 82px; }
  .about-main .about-stat::after { display: none; }
}

/* ---- certificate query result modal ---- */
.cert-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(16, 22, 22, .58);
  backdrop-filter: blur(2px);
}
.cert-modal {
  position: relative;
  width: min(390px, calc(100vw - 32px));
  min-height: 420px;
  overflow: hidden;
  padding: 42px 34px 30px;
  color: #202424;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 19px;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, .72), transparent 35%),
    linear-gradient(145deg, rgba(247, 249, 246, .96), rgba(222, 230, 226, .92));
  box-shadow: 0 20px 55px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(93, 105, 100, .12);
  animation: certPop .25s ease-out;
}
@keyframes certPop {
  from { transform: translateY(10px) scale(.96); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}
.cert-modal::after {
  position: absolute;
  inset: 8px;
  z-index: 0;
  border: 1px solid rgba(104, 115, 110, .12);
  border-radius: 13px;
  pointer-events: none;
  content: '';
}
.cert-modal > * { position: relative; z-index: 1; }
.cert-modal-x {
  position: absolute !important;
  top: 15px;
  right: 17px;
  z-index: 3 !important;
  width: 25px;
  height: 25px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #4f5552;
  font-size: 25px;
  font-weight: 300;
  line-height: 23px;
  cursor: pointer;
}
.cert-modal-x:hover { color: #171a19; }
.cert-modal-kicker {
  margin-bottom: 15px;
  color: #b44d54;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3.6px;
}
.cert-modal-title {
  margin: 0;
  color: #151817;
  font-family: "Songti SC", "STSong", SimSun, serif;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.2;
}
.cert-modal-rule {
  height: 1px;
  margin: 26px 0 15px;
  background: rgba(112, 122, 117, .24);
}
.cert-details { position: relative; z-index: 2 !important; }
.cert-detail-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  min-height: 39px;
  border-bottom: 1px solid rgba(113, 123, 118, .16);
}
.cert-detail-label {
  color: #818986;
  font-size: 13px;
  letter-spacing: .2px;
}
.cert-detail-value {
  overflow: hidden;
  color: #303634;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cert-modal-note {
  margin: 26px 0 0;
  color: #929995;
  font-size: 10px;
  letter-spacing: .15px;
  line-height: 1.5;
  text-align: center;
}
.cert-stamp {
  position: absolute !important;
  right: 18px;
  bottom: 38px;
  z-index: 4 !important;
  width: 124px;
  height: 124px;
  opacity: .78;
  pointer-events: none;
  transform: rotate(-14deg);
  mix-blend-mode: multiply;
}
.cert-stamp-svg { display: block; width: 100%; height: 100%; }
body.cert-modal-open { overflow: hidden; }

@media (max-width: 480px) {
  .cert-modal {
    min-height: 400px;
    padding: 38px 27px 27px;
  }
  .cert-modal-title { font-size: 26px; }
  .cert-modal-rule { margin-top: 22px; }
  .cert-stamp { right: 8px; bottom: 33px; width: 112px; height: 112px; }
}
