@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Raleway:wght@300;400;500;600;700&display=swap');

:root{
--ink:#1F2D27;
--ink-deep:#141D19;
--sand:#C9A87C;
--bone:#F5F1E8;
--line:rgba(201,168,124,.30);
--panel:rgba(245,241,232,.05);
--max:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
margin:0;
overflow-x:hidden;
font-family:'Raleway',system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
font-size:17px;
line-height:1.78;
color:var(--bone);
background:var(--ink-deep);
padding-bottom:110px;
-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--sand);text-decoration:none}
a:hover{color:var(--bone)}
h1,h2,h3{font-family:'Lora',Georgia,'Songti SC',serif;font-weight:500;line-height:1.2;margin:0}
:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:6px}

.bg{
position:fixed;inset:0;z-index:-1;overflow:hidden;
background:
radial-gradient(120% 80% at 82% -5%,rgba(201,168,124,.17),transparent 62%),
radial-gradient(90% 70% at 6% 18%,rgba(31,45,39,.92),transparent 72%),
linear-gradient(180deg,#1F2D27 0%,#17221D 46%,#101815 100%);
}
.bg-l{position:absolute;left:-12%;right:-12%;height:78vh;will-change:transform}
.bg-l1{top:-6vh;background:radial-gradient(52% 58% at 72% 42%,rgba(201,168,124,.22),transparent 70%)}
.bg-l2{top:36vh;background:radial-gradient(46% 54% at 18% 50%,rgba(245,241,232,.09),transparent 70%)}
.bg-l3{top:74vh;background:radial-gradient(60% 60% at 84% 48%,rgba(201,168,124,.14),transparent 72%)}

/* 底部固定条 */
.dock{
position:fixed;left:0;right:0;bottom:0;z-index:70;
display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;
padding:9px 20px;
background:rgba(20,29,25,.93);
border-top:1px solid var(--line);
backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);
}
.dock-nav{min-width:0}
.dock-nav ul{display:flex;flex-wrap:wrap;gap:2px;list-style:none;margin:0;padding:0}
.dock-nav--left ul{justify-content:flex-end}
.dock-nav--right ul{justify-content:flex-start}
.dock-nav a{
display:flex;align-items:center;min-height:44px;padding:8px 11px;
font-size:16px;line-height:1.3;color:rgba(245,241,232,.84);border-radius:8px;
transition:background .25s ease,color .25s ease;
}
.dock-nav a:hover,.dock-nav a:focus-visible{background:var(--sand);color:var(--ink)}
.dock-brand{display:flex;flex-direction:column;align-items:center;line-height:1.25}
.brand{font-family:'Lora',serif;font-size:19px;font-weight:600;letter-spacing:.04em;color:var(--bone);padding:4px 6px}
.brand:hover{color:var(--sand)}
.dock-host{font-size:12px;letter-spacing:.14em;color:rgba(201,168,124,.78);padding:5px 6px;min-height:40px;display:flex;align-items:center}

/* 首屏 */
.hero{
position:relative;min-height:100vh;min-height:100svh;
display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
gap:clamp(24px,5vw,64px);
max-width:var(--max);margin:0 auto;padding:96px 24px 64px;
perspective:1000px;
}
.hero-copy{max-width:560px}
.badge{
display:inline-flex;align-items:center;margin:0 0 22px;padding:7px 15px;border-radius:999px;
background:rgba(201,168,124,.16);color:var(--sand);
font-size:15px;letter-spacing:.18em;line-height:1.4;
animation:floaty 7s ease-in-out infinite;
}
h1{font-size:clamp(30px,5vw,58px);letter-spacing:-.015em}
.lede{margin:22px 0 0;font-size:clamp(16px,1.55vw,18px);line-height:1.75;color:rgba(245,241,232,.78);max-width:44ch}
.hero-fig{
position:relative;margin:0;border-radius:10px;overflow:hidden;aspect-ratio:4/5;
background:linear-gradient(150deg,rgba(201,168,124,.24),rgba(31,45,39,.65));
box-shadow:0 40px 80px -50px rgba(0,0,0,.95);
will-change:transform;
transition:transform .3s linear;
}
.hero-fig img{width:100%;height:100%;object-fit:cover}
.fig-fill{display:block;width:100%;height:100%;background:repeating-linear-gradient(135deg,rgba(245,241,232,.07) 0 9px,transparent 9px 18px)}

/* 正文区 */
.chapter{
display:grid;grid-template-columns:232px minmax(0,1fr);
gap:clamp(22px,3.5vw,44px);
max-width:var(--max);margin:0 auto;padding:16px 24px 84px;align-items:start;
}
.side{position:sticky;top:24px;padding:20px 15px;border-radius:10px;background:var(--panel)}
.side h2{font-size:18px;letter-spacing:.1em;color:var(--bone)}
.side hr{margin:12px 0 14px;width:42px}
.side-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.side-list a{
display:flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:8px;
font-size:16px;line-height:1.4;color:rgba(245,241,232,.82);
transition:background .25s ease,color .25s ease;
}
.side-list a:hover{background:rgba(201,168,124,.18);color:var(--bone)}
.to-top{display:inline-flex;align-items:center;min-height:40px;margin-top:12px;padding:6px 10px;font-size:15px;color:var(--sand)}

hr{border:0;height:2px;width:54px;border-radius:2px;background:var(--sand);opacity:.85;margin:16px 0 20px}

.content{min-width:0}
.content > section{
background:var(--panel);border-radius:10px;
padding:clamp(22px,3vw,40px);margin:0 0 24px;scroll-margin-top:24px;
}
.content > section:last-child{margin-bottom:0}
.content h2{font-size:clamp(23px,3.2vw,32px);color:var(--bone);margin:0}
.content h2 + hr{margin-top:14px}
.content h3{font-size:20px;color:var(--sand);margin:26px 0 10px}
.content p{margin:0 0 16px;color:rgba(245,241,232,.82)}
.content ul,.content ol{margin:0 0 16px;padding-left:22px;color:rgba(245,241,232,.82)}
.content li{margin-bottom:8px}
.content a{color:var(--sand);text-decoration:underline;text-underline-offset:3px}
.content blockquote{margin:20px 0;padding:14px 18px;border-left:3px solid var(--sand);background:rgba(201,168,124,.09);border-radius:0 10px 10px 0}
.content blockquote p:last-child{margin-bottom:0}
.content figure{margin:20px 0}
.content img{border-radius:10px;width:100%}
.content table{width:100%;border-collapse:collapse;font-size:16px}
.content th,.content td{padding:10px 12px;border-bottom:1px solid rgba(245,241,232,.14);text-align:left}
.content strong{color:var(--bone)}

/* 页脚 */
.foot{
display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;
max-width:var(--max);margin:0 auto;padding:44px 24px 88px;
border-top:1px solid var(--line);
}
.foot-brand{margin:0;font-family:'Lora',serif;font-size:20px;color:var(--bone)}
.foot-links{margin:0;display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:flex-end}
.foot-links a{display:inline-flex;align-items:center;min-height:40px;padding:4px 2px;font-size:16px;color:rgba(245,241,232,.8)}
.foot-copy{grid-column:1/-1;margin:10px 0 0;text-align:center;font-size:15px;color:rgba(245,241,232,.55)}
.foot small{grid-column:1/-1;text-align:center;font-size:13px;letter-spacing:.1em;color:rgba(201,168,124,.72)}

/* 进场 */
.js .reveal,.js .content > section{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
.js .reveal.is-in,.js .content > section.is-in{opacity:1;transform:none}
.js .content > section:nth-child(1){transition-delay:0ms}
.js .content > section:nth-child(2){transition-delay:70ms}
.js .content > section:nth-child(3){transition-delay:140ms}
.js .content > section:nth-child(4){transition-delay:210ms}
.js .content > section:nth-child(5){transition-delay:280ms}
.js .content > section:nth-child(6){transition-delay:350ms}
.js .content > section:nth-child(7){transition-delay:420ms}
.js .side-list li:nth-child(2){transition-delay:60ms}
.js .side-list li:nth-child(3){transition-delay:120ms}
.js .side-list li:nth-child(4){transition-delay:180ms}
.js .side-list li:nth-child(5){transition-delay:240ms}
.js .side-list li:nth-child(6){transition-delay:300ms}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

@media (max-width:900px){
.hero{grid-template-columns:1fr;min-height:0;padding:88px 20px 44px;gap:26px}
.hero-fig{aspect-ratio:3/2;order:2}
.lede{max-width:none}
.chapter{grid-template-columns:1fr;padding:8px 20px 56px;gap:20px}
.side{position:static;padding:16px 14px}
.side-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 6px}
.to-top{margin-top:8px}
.foot{grid-template-columns:1fr;text-align:center;padding:36px 20px 70px}
.foot-links{justify-content:center}
}

@media (max-width:860px){
.dock{grid-template-columns:1fr;gap:2px;padding:6px 10px 8px}
.dock-brand{order:-1}
.dock-nav ul,.dock-nav--left ul,.dock-nav--right ul{justify-content:center;gap:0}
.dock-nav a{padding:8px 9px;font-size:16px}
body{padding-bottom:172px}
}

@media (max-width:420px){
.side-list{grid-template-columns:1fr}
.content > section{padding:20px 16px}
}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.badge{animation:none}
.js .reveal,.js .content > section{opacity:1;transform:none;transition:none}
.hero-fig{transition:none}
}

button[aria-expanded]{min-width:44px;min-height:44px}
