:root{
  --water-green:#00B4A0;
  --ink-black:#1A1A1A;
  --gold:#D4AF37;
  --light-cyan:#E0F5F2;
  --wine-red:#7A2E2E;
  --indigo:#4A3A6D;
  --rice-white:#F8F6F0;
  --blue-gray:#3D5A6C;
  --light-gold:#F0E6C8;
  --body-bg:var(--rice-white);
  --text-primary:var(--ink-black);
  --text-secondary:var(--blue-gray);
  --font-title:"Noto Serif SC Black","Source Han Serif SC Heavy","思源宋体 Heavy",serif;
  --font-body:"Noto Sans SC Light","Source Han Sans SC Light","思源黑体 Light",sans-serif;
  --font-data:"Roboto Mono","IBM Plex Mono",monospace;
  --content-max:1280px;
  --header-h:128px;
  --header-h-scrolled:78px;
  --radius:4px;
  --border-w:1px;
  --gold-border:var(--border-w) solid var(--gold);
  --transition-fast:180ms ease;
  --transition-slow:420ms cubic-bezier(0.22,1,0.36,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--body-bg);
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}
img,picture,svg,video{display:block;max-width:100%;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-title);
  line-height:1.2;
  margin:0 0 .5em;
  font-weight:900;
  letter-spacing:-.01em;
}
p{margin:0 0 1em;}
a{
  color:var(--water-green);
  text-decoration:none;
  transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);
}
a:hover{
  color:var(--ink-black);
  text-decoration:underline;
  text-underline-offset:4px;
}
:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:4px;
  border-radius:2px;
}
::selection{background:var(--water-green);color:var(--ink-black);}
button{
  font-family:inherit;
  cursor:pointer;
  border:none;
  background:none;
  color:inherit;
}

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:9999;
  background:var(--ink-black);
  color:var(--rice-white);
  padding:8px 18px;
  font-size:14px;
  border-radius:2px;
  line-height:1.4;
  transform:translateY(-150%);
  transition:transform var(--transition-fast);
}
.skip-link:focus{
  transform:translateY(0);
  color:var(--light-gold);
  text-decoration:none;
  outline:3px solid var(--gold);
  outline-offset:2px;
}

/* ========== SITE HEADER ========== */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:rgba(248,246,240,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(212,175,55,.35);
  transition:min-height var(--transition-slow),box-shadow var(--transition-slow);
  min-height:var(--header-h);
}
.site-header.scrolled{
  min-height:var(--header-h-scrolled);
  box-shadow:0 8px 36px rgba(26,26,26,.10);
  border-bottom-color:rgba(212,175,55,.55);
}
.side-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:3px;
  background:linear-gradient(90deg,var(--water-green),var(--gold));
  transform:scaleX(0);
  transform-origin:left center;
  z-index:3;
}
.header-inner{
  max-width:var(--content-max);
  margin:0 auto;
  padding:18px 32px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.site-header.scrolled .header-inner{
  padding:10px 32px 8px;
  flex-direction:row;
  justify-content:space-between;
  gap:20px;
}
.site-brand{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  position:relative;
  min-width:0;
}
.brand-logo{
  display:inline-flex;
  flex-direction:column;
  line-height:1.05;
  text-decoration:none;
  transform:rotate(-1deg);
  transition:transform var(--transition-slow);
}
.brand-logo:hover{
  text-decoration:none;
  transform:rotate(0deg);
}
.brand-cn{
  font-family:var(--font-title);
  font-size:36px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--ink-black);
  writing-mode:vertical-rl;
  text-orientation:upright;
  max-height:56px;
  overflow:hidden;
}
.site-header.scrolled .brand-cn{
  font-size:24px;
  max-height:38px;
  writing-mode:horizontal-tb;
  letter-spacing:.04em;
}
.brand-en{
  font-family:var(--font-data);
  font-size:11px;
  letter-spacing:.32em;
  color:var(--gold);
  text-transform:uppercase;
  margin-top:2px;
  white-space:nowrap;
}
.brand-line{
  width:64px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  align-self:center;
}
.brand-tagline{
  font-size:13px;
  letter-spacing:.22em;
  color:var(--blue-gray);
  font-weight:400;
  white-space:nowrap;
}
.site-nav-wrap{
  width:100%;
  display:flex;
  justify-content:center;
}
.site-header.scrolled .site-nav-wrap{
  width:auto;
}
.site-nav .nav-list{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  flex-wrap:wrap;
}
.site-nav a{
  display:inline-block;
  padding:6px 14px;
  font-size:14px;
  letter-spacing:.10em;
  color:var(--ink-black);
  text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color var(--transition-fast),border-color var(--transition-fast);
}
.site-nav a:hover{
  color:var(--water-green);
  text-decoration:none;
  border-bottom-color:var(--water-green);
}
.site-nav a[aria-current="page"]{
  color:var(--water-green);
  border-bottom-color:var(--gold);
  font-weight:700;
}
.nav-divider{
  width:1px;
  height:16px;
  background:linear-gradient(180deg,transparent,var(--gold),transparent);
  margin:0 2px;
  flex-shrink:0;
}
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:10px;
  border:1px solid rgba(212,175,55,.6);
  border-radius:var(--radius);
  background:transparent;
  position:relative;
}
.nav-toggle-line{
  display:block;
  height:2px;
  width:22px;
  background:var(--ink-black);
  border-radius:2px;
  transition:transform var(--transition-fast),opacity var(--transition-fast);
}
.nav-toggle-label{
  font-size:10px;
  letter-spacing:.18em;
  color:var(--ink-black);
  text-align:center;
  margin-top:2px;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(2){
  opacity:0;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-line:nth-child(3){
  transform:translateY(-9px) rotate(-45deg);
}

/* ========== SITE FOOTER ========== */
.site-footer{
  background:
    linear-gradient(135deg,rgba(0,180,160,.08) 0px,transparent 240px),
    var(--ink-black);
  color:rgba(248,246,240,.88);
  border-top:4px solid var(--gold);
  margin-top:80px;
  position:relative;
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.footer-inner{
  max-width:var(--content-max);
  margin:0 auto;
  padding:56px 32px 24px;
  display:grid;
  gap:32px;
}
.footer-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  border-bottom:1px solid rgba(212,175,55,.28);
  padding-bottom:28px;
}
.footer-brand{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
}
.footer-brand-cn{
  font-family:var(--font-title);
  font-size:32px;
  font-weight:900;
  letter-spacing:.06em;
  color:var(--rice-white);
}
.footer-brand-en{
  font-family:var(--font-data);
  font-size:11px;
  letter-spacing:.3em;
  color:var(--gold);
  text-transform:uppercase;
}
.footer-tagline{
  font-size:14px;
  letter-spacing:.18em;
  color:rgba(248,246,240,.6);
  margin:0 0 0 6px;
}
.footer-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:14px;
}
.footer-links a{
  color:var(--light-cyan);
  border-bottom:1px solid rgba(0,180,160,.4);
  padding-bottom:2px;
  text-decoration:none;
}
.footer-links a:hover{
  color:var(--gold);
  border-bottom-color:var(--gold);
}
.footer-link-sep{
  color:var(--gold);
  opacity:.5;
}
.footer-contact{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:8px 24px;
  font-size:14px;
  line-height:1.8;
  color:rgba(248,246,240,.72);
  border-bottom:1px solid rgba(212,175,55,.15);
  padding-bottom:24px;
}
.footer-contact p{
  margin:0;
}
.footer-bottom{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
  align-items:start;
}
.footer-boast{
  font-size:13px;
  line-height:1.9;
  color:rgba(248,246,240,.56);
  max-width:760px;
  border-left:3px solid var(--gold);
  padding-left:16px;
}
.footer-legal{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  font-size:12px;
  color:rgba(248,246,240,.44);
  font-family:var(--font-data);
}
.footer-legal .footer-icp{
  letter-spacing:.08em;
}

/* ========== LAYOUT SHARED ========== */
#main-content{
  display:block;
  min-height:60vh;
  padding-top:calc(var(--header-h) + 20px);
}
.split-screen{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:48px;
  align-items:start;
}
.paper-stack{
  position:relative;
  background:var(--light-gold);
  border:1px solid rgba(212,175,55,.55);
  padding:32px;
  border-radius:2px;
  box-shadow:0 14px 30px rgba(26,26,26,.08);
}
.paper-stack::before,.paper-stack::after{
  content:"";
  position:absolute;
  background:var(--light-cyan);
  border:1px solid rgba(0,180,160,.35);
  left:6px;
  right:-6px;
  top:6px;
  bottom:-6px;
  border-radius:2px;
  z-index:-1;
}
.paper-stack::after{
  left:12px;
  right:-12px;
  top:12px;
  bottom:-12px;
  background:var(--rice-white);
  border-color:rgba(212,175,55,.25);
  z-index:-2;
}
.print-border{
  border:1px solid var(--gold);
  background:transparent;
  padding:2px 12px;
  font-size:12px;
  letter-spacing:.2em;
  color:var(--gold);
  display:inline-block;
  text-transform:uppercase;
}
.tag-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--light-cyan);
  border-left:3px solid var(--gold);
  padding:4px 14px 4px 10px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--ink-black);
  transform:rotate(-.5deg);
}
.img-frame{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:2px;
  border:1px solid rgba(26,26,26,.12);
  background:
    linear-gradient(135deg,rgba(0,180,160,.22),transparent 38%),
    linear-gradient(315deg,rgba(212,175,55,.30),transparent 42%),
    var(--light-cyan);
  min-height:220px;
  aspect-ratio:4/3;
}
.img-frame::after{
  content:"";
  position:absolute;
  left:-10%;
  top:-10%;
  width:60%;
  height:120%;
  background:linear-gradient(100deg,transparent, rgba(255,255,255,.6), transparent);
  transform:rotate(28deg) translateX(-100%);
  animation:img-sheen 5.5s ease-in-out infinite;
}
@keyframes img-sheen{
  0%,60%{transform:rotate(28deg) translateX(-100%);}
  100%{transform:rotate(28deg) translateX(320%);}
}
.img-frame.skew-right{
  transform:perspective(800px) rotateY(-3deg) rotateZ(1deg);
}
.img-frame.skew-left{
  transform:perspective(800px) rotateY(3deg) rotateZ(-1deg);
}
.data-number{
  font-family:var(--font-data);
  font-size:28px;
  font-weight:400;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}
.section-index{
  font-family:var(--font-data);
  font-size:13px;
  letter-spacing:.2em;
  color:var(--blue-gray);
  text-transform:uppercase;
}
.tilt-fast{
  transform:rotate(-1.2deg) perspective(700px) rotateY(-1.5deg);
}
.tilt-fast.alt{
  transform:rotate(1.2deg) perspective(700px) rotateY(1.5deg);
}

/* ========== BUTTONS ========== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  letter-spacing:.08em;
  text-decoration:none;
  line-height:1.4;
  padding:12px 26px;
  border-radius:2px;
  border:1px solid transparent;
  transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);
}
.btn:hover{
  text-decoration:none;
  transform:translateY(-2px);
}
.btn-primary{
  background:var(--water-green);
  color:var(--ink-black);
  border-color:var(--water-green);
  font-weight:700;
}
.btn-primary:hover{
  background:var(--ink-black);
  border-color:var(--ink-black);
  color:var(--rice-white);
}
.btn-outline{
  background:transparent;
  border-color:var(--gold);
  color:var(--gold);
}
.btn-outline:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--ink-black);
}

/* ========== BREADCRUMB ========== */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--blue-gray);
  margin-bottom:32px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(212,175,55,.3);
}
.breadcrumb a{
  color:var(--blue-gray);
  text-decoration:none;
}
.breadcrumb a:hover{
  color:var(--water-green);
}
.breadcrumb-sep{
  color:var(--gold);
}

/* ========== CONTENT CONTAINER ========== */
.container{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
}
.section-block{
  padding:72px 0;
}
.section-block.tight{
  padding:40px 0;
}
.section-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-bottom:32px;
}
.section-heading h2{
  font-size:clamp(28px,5vw,48px);
  margin:0;
}

/* ========== COLLAPSIBLE ========== */
.collapsible{
  border:1px solid rgba(26,26,26,.12);
  border-left:3px solid var(--water-green);
  background:var(--rice-white);
  margin-bottom:12px;
  border-radius:2px;
  overflow:hidden;
  transition:border-color var(--transition-fast);
}
.collapsible:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
}
.collapse-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  text-align:left;
  padding:18px 22px;
  font-size:16px;
  font-weight:700;
  background:var(--rice-white);
  color:var(--ink-black);
  transition:background var(--transition-fast),color var(--transition-fast);
}
.collapse-toggle:hover{
  background:var(--light-cyan);
  color:var(--ink-black);
}
.collapse-toggle::after{
  content:"+";
  font-family:var(--font-data);
  font-size:22px;
  color:var(--gold);
  line-height:1;
  transition:transform var(--transition-fast);
}
.collapsible[data-open] .collapse-toggle::after{
  content:"−";
  transform:rotate(0deg);
}
.collapse-content{
  max-height:0;
  overflow:hidden;
  padding:0 22px;
  transition:max-height var(--transition-slow),padding var(--transition-slow);
  border-top:1px solid transparent;
}
.collapsible[data-open] .collapse-content{
  max-height:520px;
  padding:16px 22px 20px;
  border-top-color:rgba(212,175,55,.3);
}

/* ========== REVEAL / MOTION ========== */
[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease,transform .7s ease;
}
[data-reveal][data-visible]{
  opacity:1;
  transform:translateY(0);
}
[data-section-hint]{
  transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);
}
[data-section-group][data-current-section] [data-section-hint]{
  background:var(--light-cyan);
  border-left-color:var(--gold);
  color:var(--ink-black);
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1023px){
  :root{
    --header-h:112px;
  }
  .header-inner{
    padding:14px 24px 10px;
    gap:6px;
  }
  .brand-cn{
    font-size:30px;
    max-height:48px;
  }
  .site-nav a{
    padding:6px 9px;
    font-size:13px;
    letter-spacing:.05em;
  }
  .footer-top{
    grid-template-columns:1fr;
    align-items:start;
  }
  .footer-bottom{
    grid-template-columns:1fr;
    gap:16px;
  }
  .footer-legal{
    align-items:flex-start;
  }
  .split-screen{
    grid-template-columns:1fr;
    gap:32px;
  }
}
@media (max-width: 767px){
  :root{
    --header-h:72px;
  }
  .site-header{
    min-height:var(--header-h);
  }
  .site-header.scrolled{
    min-height:64px;
  }
  .header-inner{
    padding:10px 16px;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }
  .site-header.scrolled .header-inner{
    padding:8px 16px;
    flex-direction:row;
  }
  .site-brand{
    justify-content:flex-start;
    gap:8px;
  }
  .brand-logo{
    flex-direction:row;
    align-items:baseline;
    transform:rotate(-.5deg);
  }
  .brand-cn{
    font-size:24px;
    writing-mode:horizontal-tb;
    letter-spacing:.04em;
    max-height:none;
  }
  .site-header.scrolled .brand-cn{
    font-size:20px;
    max-height:none;
  }
  .brand-en{
    font-size:9px;
    letter-spacing:.16em;
  }
  .brand-tagline{
    display:none;
  }
  .brand-line{
    width:28px;
  }
  .site-header.scrolled .brand-line{
    width:20px;
  }
  .nav-toggle{
    display:inline-flex;
  }
  .site-nav-wrap{
    position:absolute;
    top:calc(100% + 4px);
    left:12px;
    right:12px;
    background:var(--rice-white);
    border:1px solid var(--gold);
    border-radius:4px;
    box-shadow:0 18px 44px rgba(26,26,26,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity var(--transition-fast),visibility var(--transition-fast),transform var(--transition-fast);
    z-index:1200;
    padding:12px;
  }
  .site-nav-wrap[data-open]{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .site-nav .nav-list{
    flex-direction:column;
    align-items:stretch;
  }
  .site-nav a{
    display:block;
    padding:14px 12px;
    font-size:16px;
    border-bottom:1px solid rgba(0,0,0,.08);
    border-left:3px solid transparent;
  }
  .site-nav a:hover,
  .site-nav a[aria-current="page"]{
    border-left-color:var(--gold);
    background:var(--light-cyan);
    color:var(--ink-black);
  }
  .nav-divider{
    display:none;
  }
  .footer-inner{
    padding:36px 16px 20px;
  }
  .footer-brand-cn{
    font-size:26px;
  }
  .footer-brand-en{
    font-size:10px;
  }
  .footer-icp{
    word-break:break-all;
  }
  .container{
    padding-left:16px;
    padding-right:16px;
  }
  .section-block{
    padding:40px 0;
  }
  .section-heading{
    flex-direction:column;
    gap:8px;
  }
  .data-number{
    font-size:24px;
  }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{
    opacity:1;
    transform:none;
  }
  .img-frame::after{
    display:none;
  }
  html{
    scroll-behavior:auto;
  }
}

[hidden]{display:none !important;}
