:root {
  color-scheme: light;
  --site-ink: #17201d;
  --site-muted: #59645f;
  --site-line: #d7ddd9;
  --site-paper: #f7f8f5;
  --site-white: #ffffff;
  --site-accent: #0f6f5c;
  --site-accent-dark: #0a5143;
  --site-highlight: #d9a441;
  --site-notice-soft: #e6f2ee;
  --site-demo-ink: #8a4b00;
  --site-demo-soft: #fff1d6;
  --site-demo-line: #f0c050;
  --site-alert: #8a2a2a;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--site-ink);
  background: var(--site-paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;
}
a { color: inherit; }
.site-header,
footer {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-header { min-height: 76px; border-bottom: 1px solid var(--site-line); }
.site-brand { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; text-decoration: none; }
.site-brand-asset { width: 34px; height: 34px; aspect-ratio: 1 / 1; flex: 0 0 34px; display: grid; place-items: center; color: var(--site-white); background: var(--site-accent); }
.site-menu { position: relative; }
.site-menu summary { display: none; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; cursor: pointer; font-weight: 700; }
.site-menu summary::marker { content: ""; }
.site-header nav { display: flex; align-items: center; gap: 16px; }
.site-header nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 8px; text-decoration: none; }
.staff-entry {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border: 1px solid var(--site-line);
  text-decoration: none;
  font-weight: 600;
}
.site-intro,
.site-trust,
.site-contact {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
}
.site-intro {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 72px 0 112px;
}
.site-kicker,
.section-label {
  margin: 0 0 16px;
  color: var(--site-accent);
  font-size: 14px;
  font-weight: 700;
}
h1,
h2,
p { letter-spacing: 0; }
h1 { max-width: 900px; margin: 0; font-size: 64px; line-height: 1.08; }
.site-positioning { max-width: 720px; margin: 28px 0 36px; color: var(--site-muted); font-size: 24px; }
.site-primary {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 0 22px;
  color: var(--site-white);
  background: var(--site-accent);
  text-decoration: none;
  font-weight: 700;
}
.site-primary:hover,
.site-primary:focus-visible { background: var(--site-accent-dark); }
a:focus-visible,
summary:focus-visible { outline: 3px solid var(--site-highlight); outline-offset: 3px; }
.site-content-mounts {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0;
  border-top: 1px solid var(--site-line);
}
.site-section-head { max-width: 720px; margin-bottom: 32px; }
.site-section-head h2 { margin: 0; font-size: 36px; line-height: 1.2; }
.site-preview-note { margin: 12px 0 0; color: var(--site-muted); }
.site-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.site-evidence-card { min-width: 0; overflow: hidden; border: 1px solid var(--site-line); background: var(--site-white); }
.site-evidence-card figure { margin: 0; }
.site-evidence-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--site-line); }
.site-evidence-card figcaption,
.site-detail-figure figcaption { padding: 8px 12px; color: var(--site-muted); background: var(--site-paper); font-size: 13px; }
.site-evidence-copy { padding: 24px; }
.site-evidence-copy .section-label { margin-bottom: 10px; }
.site-evidence-copy h2 { margin: 0; font-size: 24px; line-height: 1.3; overflow-wrap: anywhere; }
.site-evidence-copy > p:last-of-type { margin: 14px 0 0; color: var(--site-muted); }
.site-preview-state { display: block; margin-top: 16px; color: var(--site-accent-dark); font-size: 13px; font-weight: 700; }
.site-public-link { min-height: 44px; display: inline-flex; align-items: center; margin-top: 18px; color: var(--site-accent-dark); font-weight: 700; }
.site-material-notice { display: inline-flex; margin: 14px 0 0; padding: 5px 10px; color: var(--site-accent-dark); background: var(--site-notice-soft); font-size: 13px; font-weight: 700; }
.site-demo-notice { display: inline-flex; margin: 14px 0 0; padding: 6px 12px; color: var(--site-demo-ink); background: var(--site-demo-soft); border: 1px solid var(--site-demo-line); font-size: 13px; font-weight: 700; border-radius: 4px; }
.site-page-heading,
.site-detail { width: min(920px, calc(100% - 48px)); margin: 0 auto; }
.site-page-heading { padding: 104px 0 72px; }
.site-page-heading > p:last-child { max-width: 720px; margin: 24px 0 0; color: var(--site-muted); font-size: 20px; }
.site-detail { padding: 88px 0 24px; }
.site-detail-heading { margin-bottom: 48px; }
.site-detail-figure { margin: 0 0 56px; border: 1px solid var(--site-line); background: var(--site-white); }
.site-detail-figure img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.site-detail-section { padding: 48px 0; border-top: 1px solid var(--site-line); }
.site-detail-section h2 { margin: 0 0 24px; font-size: 30px; }
.site-detail-section ul { margin: 0; padding-left: 24px; }
.site-detail-section li + li { margin-top: 12px; }
.site-parameter-list,
.site-fact-list { margin: 0; }
.site-parameter-list > div,
.site-fact-list > div { display: grid; grid-template-columns: minmax(120px, .45fr) minmax(0, 1.55fr); gap: 24px; padding: 20px 0; border-top: 1px solid var(--site-line); }
.site-parameter-list dt,
.site-fact-list dt { font-weight: 700; }
.site-parameter-list dd,
.site-fact-list dd { margin: 0; }
.site-parameter-list dd strong,
.site-parameter-list dd span { display: block; }
.site-parameter-list dd span { margin-top: 6px; color: var(--site-muted); }
.site-trust,
.site-contact { padding: 72px 0; border-top: 1px solid var(--site-line); }
.site-trust { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 64px; }
.site-trust h2,
.site-contact h2 { margin: 0; font-size: 32px; }
.site-trust > p { margin: 4px 0 0; color: var(--site-muted); font-size: 18px; }
.site-trust .verified-at { grid-column: 2; margin-top: -44px; font-size: 14px; }
.site-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.site-contact-actions a,
.site-contact-actions button { min-height: 44px; display: inline-flex; align-items: center; max-width: 100%; padding: 0 16px; color: var(--site-accent-dark); background: transparent; border: 1px solid var(--site-line); font: inherit; font-weight: 700; overflow-wrap: anywhere; word-break: break-word; cursor: pointer; }
.site-contact-actions .site-contact-primary { color: var(--site-white); background: var(--site-accent); border-color: var(--site-accent); text-decoration: none; }
.site-wechat-qr { width: min(260px, 100%); margin: 28px 0 0; }
.site-wechat-qr img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--site-white); border: 1px solid var(--site-line); }
.site-wechat-qr figcaption { margin-top: 8px; color: var(--site-muted); font-size: 13px; }
.site-copy-status { min-height: 24px; margin: 12px 0 0; color: var(--site-accent-dark); }
.site-mobile-actions { display: none; }
footer { min-height: 96px; border-top: 1px solid var(--site-line); color: var(--site-muted); font-size: 14px; }
footer a { min-height: 44px; display: inline-flex; align-items: center; }
.status-main {
  width: min(760px, calc(100% - 48px));
  min-height: calc(100vh - 172px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.status-main h1 { font-size: 48px; }
.status-main > p:last-child { color: var(--site-muted); font-size: 18px; }
.site-status-page:not(:has(.site-header)) .status-main { min-height: 100vh; }
/* 任务623：公开失效/故障页人话文案与安全联系出口（身份未确认时模板不输出这些节点） */
.status-message { color: var(--site-muted); font-size: 18px; overflow-wrap: anywhere; }
.status-brand { margin: 8px 0 0; font-size: 15px; font-weight: 700; color: var(--site-accent-dark); overflow-wrap: anywhere; }
.status-contact { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.status-contact .site-contact-primary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0 16px;
  color: var(--site-white);
  background: var(--site-accent);
  border: 1px solid var(--site-accent);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.status-contact .site-contact-primary:focus-visible { background: var(--site-accent-dark); }

@media (max-width: 760px) {
  body { height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
  .site-scroll-shell { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
  .site-header,
  footer,
  .site-intro,
  .site-trust,
  .site-contact,
  .site-content-mounts { width: min(100% - 32px, 1120px); }
  .site-header { min-height: 68px; }
  .site-menu summary { display: inline-flex; }
  .site-menu:not([open]) nav { display: none; }
  .site-menu nav {
    position: absolute;
    z-index: 10;
    top: 52px;
    right: 0;
    min-width: 176px;
    padding: 8px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    background: var(--site-white);
    border: 1px solid var(--site-line);
  }
  .site-menu nav a { justify-content: flex-start; }
  .site-menu .staff-entry { border: 0; }
  .site-intro { min-height: 540px; padding: 64px 0 80px; }
  .site-content-mounts { padding: 56px 0; }
  .site-page-heading,
  .site-detail { width: min(100% - 32px, 920px); }
  .site-page-heading { padding: 64px 0 40px; }
  .site-detail { padding-top: 56px; }
  .site-detail-section { padding: 36px 0; }
  .site-parameter-list > div,
  .site-fact-list > div { grid-template-columns: 1fr; gap: 8px; }
  .site-section-head h2 { font-size: 30px; }
  .site-evidence-grid { grid-template-columns: 1fr; }
  h1 { font-size: 44px; overflow-wrap: anywhere; }
  .site-positioning { font-size: 20px; }
  .site-trust { grid-template-columns: 1fr; gap: 24px; padding: 56px 0; }
  .site-trust .verified-at { grid-column: 1; margin-top: 0; }
  .site-contact { padding: 56px 0; }
  .site-contact-actions { align-items: stretch; flex-direction: column; }
  .site-contact-actions a,
  .site-contact-actions button { justify-content: center; width: 100%; }
  .site-mobile-actions { z-index: 20; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 16px max(10px, env(safe-area-inset-bottom)); background: var(--site-white); border-top: 1px solid var(--site-line); }
  .site-mobile-actions a,
  .site-mobile-actions button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; color: var(--site-white); background: var(--site-accent); border: 0; font: inherit; font-weight: 700; text-align: center; text-decoration: none; cursor: pointer; }
  .status-main { width: min(100% - 32px, 760px); min-height: calc(100vh - 164px); }
  .status-main h1 { font-size: 40px; }
}

.site-inquiry-form {
  position: relative;
  display: grid;
  gap: 12px;
  margin-top: 28px;
  max-width: 560px;
  overflow-wrap: anywhere;
}
.site-inquiry-lead { margin: 0; color: var(--site-muted); }
.site-inquiry-form label { display: grid; gap: 6px; font-weight: 600; }
.site-inquiry-form input,
.site-inquiry-form select {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--site-line);
  background: var(--site-white);
  color: var(--site-ink);
  font: inherit;
}
.site-inquiry-privacy { font-weight: 500; }
.site-inquiry-privacy input { width: 18px; height: 18px; }
.site-inquiry-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.site-inquiry-submit {
  min-height: 48px;
  border: 0;
  background: var(--site-accent);
  color: var(--site-white);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.site-inquiry-submit:disabled { opacity: .65; cursor: wait; }
.site-inquiry-status { min-height: 24px; margin: 0; color: var(--site-muted); }
.site-inquiry-status.ok { color: var(--site-accent-dark); }
.site-inquiry-status.err { color: var(--site-alert); }

@media (prefers-color-scheme: dark) {
  /* 暗色令牌必须比亮色 :root 具有更高优先级，否则整组暗色永不生效；
     公司站每页 <html> 都带 data-page，用它抬升特异性。 */
  :root[data-page] {
    color-scheme: dark;
    --site-ink: #e8eee9;
    --site-muted: #a7b1ab;
    --site-line: #3a4440;
    --site-paper: #121816;
    --site-white: #1b221f;
    --site-accent: #3dba9f;
    --site-accent-dark: #8fe0cb;
    --site-highlight: #e0b45a;
    --site-notice-soft: #16302a;
    --site-demo-ink: #fbbf24;
    --site-demo-soft: #3a2e10;
    --site-demo-line: #5c4a1a;
    --site-alert: #f8a5a5;
  }
}

@media (max-width: 380px) {
  .site-brand { max-width: 156px; overflow-wrap: anywhere; }
  .staff-entry { padding: 0 12px; }
  h1 { font-size: 38px; }
}

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