/* 纵程 scroll-narrative */
.zc{background:#0D1A14;color:#E9EFEA;font-family:inherit}
.zc section{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:flex-end}
.zc .bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform}
.zc .shade{position:absolute;inset:0;background:linear-gradient(200deg,rgba(13,26,20,.15),rgba(13,26,20,.72) 62%,rgba(13,26,20,.94))}
.zc .inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 34px 11vh}
.zc .num{font-size:clamp(64px,9vw,130px);font-weight:700;line-height:.9;color:transparent;
  -webkit-text-stroke:1px #C9A96A;opacity:.85;letter-spacing:.02em}
.zc h2{font-family:"Noto Serif SC",serif;font-size:clamp(30px,4.4vw,58px);color:#fff;
  line-height:1.25;margin:14px 0 0;font-weight:600}
.zc .en{font-size:11px;letter-spacing:.34em;color:#C9A96A;text-transform:uppercase;margin-bottom:10px}
.zc p.d{max-width:560px;color:#C9D6CD;line-height:2;margin-top:16px;font-size:15px}
.zc .go{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:#fff;
  border:1px solid #C9A96A80;padding:12px 26px;font-size:13px;letter-spacing:.12em;transition:.25s}
.zc .go:hover{background:#C9A96A;color:#0D1A14}
.zc .go:after{content:"→"}
.zc-dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:40;display:grid;gap:14px}
.zc-dots a{width:9px;height:9px;border-radius:50%;background:#ffffff45;transition:.25s}
.zc-dots a.on{background:#C9A96A;transform:scale(1.45)}
.zc-intro{align-items:center;text-align:left}
.zc-intro .inner{padding-bottom:14vh}
.zc-intro .t{font-family:"Noto Serif SC",serif;font-size:clamp(34px,5vw,64px);color:#fff;
  line-height:1.3;font-weight:600;max-width:820px}
.zc-intro .s{color:#AEBFB4;margin-top:24px;max-width:560px;line-height:2.1;font-size:15px}
.zc-intro .cue{position:absolute;left:50%;bottom:5vh;transform:translateX(-50%);
  font-size:10px;letter-spacing:.4em;color:#C9A96A;text-transform:uppercase}
.zc-intro .cue:after{content:"";display:block;width:1px;height:44px;background:#C9A96A;
  margin:12px auto 0;animation:cueslide 2.2s ease-in-out infinite}
@keyframes cueslide{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}
  56%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.zc-end .card{position:relative;z-index:2;max-width:660px;background:rgba(13,26,20,.55);
  backdrop-filter:blur(10px);border:1px solid #C9A96A55;padding:56px 50px;margin:0 auto 12vh}
.zc-end h2{font-size:clamp(26px,3vw,40px)}
.zc-end p{color:#C9D6CD;line-height:2;margin-top:16px;font-size:14.5px}
.zc-end .btn{display:inline-flex;margin-top:28px;background:#C9A96A;color:#0D1A14;
  padding:14px 34px;font-weight:700;letter-spacing:.1em;font-size:14px}
.zc-end .btn:hover{background:#DCC084}
.zc .rv{animation:zcrise .85s ease both}

.zc .rv.d1{animation-delay:.12s}.zc .rv.d2{animation-delay:.26s}.zc .rv.d3{animation-delay:.4s}
@media(prefers-reduced-motion:reduce){.zc .rv{opacity:1;transform:none;transition:none}
  .zc-intro .cue:after{animation:none}}
@media(max-width:760px){.zc .inner{padding:0 22px 10vh}.zc-dots{right:12px;gap:11px}
  .zc-end .card{margin:0 18px 10vh;padding:36px 26px}}
/* zong compat: baselines zc assumes */
.zc .wrap{max-width:1200px;margin:0 auto;padding:0 28px}
h1,h2,h3{margin:0}
.zc p{margin:0 0 14px}
.zc .hero-strip .wrap{padding-top:0;padding-bottom:0}
body{font-size:15px;line-height:1.85}
