/* =====================================================================
 *  真龙国际 · 预热站
 *  共享样式（首页 + 各子页面）
 *  配色：黑金 · 主色 #04050a / #e3c27c
 * ===================================================================== */

:root{
	--ink:#04050a;
	--ink-2:#0a0d16;
	--gold-1:#f8ebc5;
	--gold-2:#e3c27c;
	--gold-3:#c9a55c;
	--gold-4:#8c6b2f;
	--line:rgba(227,194,124,.16);
	--txt:#ece7dd;
	--muted:#9c978d;
	--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong",Georgia,serif;
	--sans:-apple-system,BlinkMacSystemFont,"HarmonyOS Sans SC","MiSans","PingFang SC","Noto Sans CJK SC",system-ui,"Microsoft YaHei",sans-serif;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{
	background:
		radial-gradient(120% 70% at 50% -8%, #131a2e 0%, rgba(19,26,46,0) 58%),
		radial-gradient(100% 60% at 50% 108%, #0c1120 0%, rgba(12,17,32,0) 62%),
		var(--ink)}
body{
	margin:0;
	min-height:100%;
	color:var(--txt);
	font-family:var(--sans);
	background:transparent;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
body.lock{overflow:hidden;height:100vh}

/* ============ 背景层 ============ */
#bg{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;opacity:0;
	transition:opacity 1.4s ease;pointer-events:none}
body.ready #bg{opacity:1}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
	background:radial-gradient(115% 85% at 50% 40%, rgba(0,0,0,0) 38%, rgba(2,3,7,.72) 100%)}

/* ============ 阅读进度 ============ */
.scroll-progress{position:fixed;top:0;left:0;z-index:90;width:100%;height:2px;pointer-events:none;
	background:linear-gradient(90deg,rgba(227,194,124,.25),#e3c27c 60%,#fff2c9);
	box-shadow:0 0 12px rgba(227,194,124,.45);
	transform:scaleX(0);transform-origin:0 50%;opacity:0;transition:opacity .6s ease}
body.ready .scroll-progress{opacity:1}

/* ============ 通用原子 ============ */
main{position:relative;z-index:3}

.reveal{opacity:0;transform:translateY(26px);
	transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);
	transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}

.rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;opacity:0}
body.ready .rule{animation:fadeUp .9s .72s both}
.rule i{display:block;width:52px;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.62),rgba(227,194,124,0))}
.rule em{display:block;width:5px;height:5px;background:var(--gold-3);border-radius:1px;
	transform:rotate(45deg);box-shadow:0 0 10px rgba(227,194,124,.6)}

.kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;
	font-size:10px;letter-spacing:.34em;text-indent:.34em;color:#ab9560}
.kicker i{display:block;width:24px;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.72))}
.kicker i:last-child{background:linear-gradient(90deg,rgba(227,194,124,.72),rgba(227,194,124,0))}

.sec{max-width:720px;margin:0 auto;padding:64px 24px}
.sec-head{text-align:center;margin-bottom:26px}
.sec-title{margin:0 0 18px;font-family:var(--serif);font-weight:500;letter-spacing:.06em;
	font-size:clamp(25px,7.2vw,36px);line-height:1.5;color:#f2e4bd;
	text-shadow:0 0 26px rgba(227,194,124,.14)}
.sec-text{margin:0 auto;max-width:560px;font-size:14px;line-height:2.05;color:#a7a298}

/* ============ 按钮 ============ */
.cta-row{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;width:100%;max-width:430px;margin-top:28px;opacity:0}
body.ready .cta-row{animation:fadeUp 1s 1s both}
.btn{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;font-family:inherit;
	flex:1 1 158px;padding:15px 22px;border-radius:999px;font-size:14px;letter-spacing:.14em;
	position:relative;overflow:hidden;
	transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s,border-color .3s}
.btn:active{transform:scale(.963)}
.btn.primary{color:#241a06;font-weight:600;
	background:linear-gradient(135deg,#fcefc8 0%,#e3c27c 44%,#c39f52 100%);
	box-shadow:0 12px 30px rgba(190,150,70,.26),inset 0 1px 0 rgba(255,255,255,.6)}
.btn.primary::after{content:"";position:absolute;top:0;left:-65%;width:48%;height:100%;
	background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.85),rgba(255,255,255,0));
	transform:skewX(-18deg);animation:sweep 3.6s 2s infinite}
.btn.ghost{color:#e6d6ab;background:rgba(255,255,255,.035);border:1px solid rgba(227,194,124,.28)}
.btn.ghost:active{background:rgba(227,194,124,.1)}
.btn.block{flex:1 1 100%;width:100%}

.icon-btn{width:38px;height:38px;padding:0;border-radius:50%;cursor:pointer;flex:none;
	display:flex;align-items:center;justify-content:center;color:#e9d6a2;
	background:rgba(255,255,255,.045);border:1px solid rgba(227,194,124,.24);
	transition:background .3s,transform .22s cubic-bezier(.2,.8,.2,1)}
.icon-btn svg{width:17px;height:17px;display:block}
.icon-btn:active{background:rgba(227,194,124,.16);transform:scale(.94)}

/* ============ 卡片 ============ */
.cards{display:grid;gap:13px;margin-top:28px}
.card{position:relative;padding:22px 20px;border-radius:18px;overflow:hidden;
	background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
	border:1px solid rgba(227,194,124,.13);
	box-shadow:0 14px 34px rgba(0,0,0,.35);
	transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.card::before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.7),rgba(227,194,124,0))}
.card:active{transform:translateY(-2px);border-color:rgba(227,194,124,.32);
	box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(227,194,124,.08)}
.card-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
	margin-bottom:14px;color:#e9cd8d;background:rgba(227,194,124,.07);
	border:1px solid rgba(227,194,124,.22)}
.card-ico svg{width:21px;height:21px;display:block}
.card h3{margin:0 0 8px;font-size:16px;font-weight:600;letter-spacing:.1em;color:#efe1b8}
.card p{margin:0;font-size:13px;line-height:1.95;color:#9c978d}

.cards.grid2{grid-template-columns:repeat(2,1fr);gap:11px}
.cards.grid2 .card{padding:18px 15px;border-radius:16px}
.cards.grid2 .card-ico{width:36px;height:36px;border-radius:10px;margin-bottom:11px}
.cards.grid2 .card-ico svg{width:18px;height:18px}
.cards.grid2 .card h3{font-size:14px;letter-spacing:.08em;margin-bottom:6px}
.cards.grid2 .card p{font-size:12px;line-height:1.85}

/* ============ 数据 ============ */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:28px}
.stat{padding:20px 12px 16px;border-radius:16px;text-align:center;
	background:linear-gradient(170deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
	border:1px solid rgba(227,194,124,.12)}
.stat b{display:block;font-family:var(--serif);font-weight:500;line-height:1.1;
	font-size:clamp(23px,7.6vw,32px);color:#f5e7c0;font-variant-numeric:tabular-nums;
	text-shadow:0 0 18px rgba(227,194,124,.24)}
.stat b .plus{font-size:.5em;vertical-align:super;margin-left:1px;color:var(--gold-3)}
.stat span{display:block;margin-top:8px;font-size:11px;letter-spacing:.14em;color:#8b8679}

/* ============ 时间轴 ============ */
.timeline{list-style:none;margin:30px 0 0;padding:0 0 0 26px;position:relative}
.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;
	background:linear-gradient(rgba(227,194,124,.55),rgba(227,194,124,.05))}
.tl-item{position:relative;padding-bottom:26px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:-26px;top:6px;width:11px;height:11px;border-radius:50%;
	background:#080b12;border:1px solid rgba(227,194,124,.55);
	transition:box-shadow .5s ease,border-color .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.tl-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold-3);
	opacity:.5;transition:opacity .5s ease}
.tl-item.lit .tl-dot{border-color:rgba(227,194,124,.95);transform:scale(1.18);
	box-shadow:0 0 16px rgba(227,194,124,.6)}
.tl-item.lit .tl-dot::after{opacity:1}
.tl-year{margin:0 0 5px;font-family:var(--serif);font-size:17px;letter-spacing:.12em;color:#f0e0b4}
.tl-item h3{margin:0 0 6px;font-size:14px;font-weight:600;letter-spacing:.08em;color:#d8ca9f}
.tl-item p{margin:0;font-size:13px;line-height:1.95;color:#9c978d}

/* ============ 问答 ============ */
.faq{margin-top:26px}
.faq-item{margin-bottom:10px;border-radius:16px;overflow:hidden;
	background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
	border:1px solid rgba(227,194,124,.13);transition:border-color .35s}
.faq-item.open{border-color:rgba(227,194,124,.3)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
	padding:17px 18px;background:none;border:0;cursor:pointer;font-family:inherit;text-align:left;
	font-size:14px;letter-spacing:.05em;color:#e9dcb4}
.faq-q i{position:relative;flex:none;width:12px;height:12px}
.faq-q i::before,.faq-q i::after{content:"";position:absolute;background:var(--gold-3);border-radius:1px;
	transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .3s}
.faq-q i::before{left:0;top:5.5px;width:12px;height:1px}
.faq-q i::after{left:5.5px;top:0;width:1px;height:12px}
.faq-item.open .faq-q i::after{transform:scaleY(0);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1)}
.faq-item.open .faq-a{max-height:520px}
.faq-a-in{padding:0 18px 18px;font-size:13px;line-height:2;color:#a09b91}
.faq-a-in p{margin:0}

/* ============ 反馈层 ============ */
.ripple{position:fixed;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;z-index:60;
	pointer-events:none;border:1px solid rgba(227,194,124,.6);animation:rippleOut .72s ease-out forwards}
@keyframes rippleOut{from{opacity:.85;transform:scale(.5)}to{opacity:0;transform:scale(7.5)}}

#toast{position:fixed;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));z-index:80;
	max-width:80vw;padding:12px 20px;border-radius:999px;text-align:center;font-size:13px;letter-spacing:.06em;
	color:#f0e3bd;background:rgba(15,15,22,.94);border:1px solid rgba(227,194,124,.3);
	-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
	opacity:0;pointer-events:none;transform:translate(-50%,12px);
	transition:opacity .3s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* ============ 回到顶部 ============ */
.to-top{position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;
	width:44px;height:44px;padding:0;border-radius:50%;cursor:pointer;
	display:flex;align-items:center;justify-content:center;color:#e9d6a2;
	background:rgba(12,13,20,.82);border:1px solid rgba(227,194,124,.26);
	-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
	opacity:0;pointer-events:none;transform:translateY(12px);
	transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),background .3s}
.to-top.show{opacity:1;pointer-events:auto;transform:none}
.to-top:active{background:rgba(227,194,124,.16)}
.to-top svg{width:19px;height:19px;display:block}

/* ============ 页脚 ============ */
footer{position:relative;z-index:3;padding:26px 24px calc(38px + env(safe-area-inset-bottom));text-align:center}
.foot-brand{margin:14px 0 6px;font-family:var(--serif);font-size:13px;letter-spacing:.34em;
	text-indent:.34em;color:#c2ad7c}
.foot-meta{margin:0;font-size:11px;line-height:1.9;color:#6e6a60;letter-spacing:.04em}

/* =====================================================================
 *  首页
 * ===================================================================== */
#intro{position:fixed;inset:0;z-index:200;background:#04050a;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
	transition:opacity .85s ease,visibility .85s ease}
#intro.done{opacity:0;visibility:hidden;pointer-events:none}
.intro-crest{width:104px;height:104px;opacity:0;animation:introIn 1s .12s forwards cubic-bezier(.2,.8,.2,1)}
.intro-ring{stroke-dasharray:100;stroke-dashoffset:100;animation:draw 1.25s .15s forwards cubic-bezier(.4,0,.2,1)}
.intro-word{font-family:var(--serif);font-size:12.5px;letter-spacing:.52em;text-indent:.52em;
	color:#c9b078;opacity:0;animation:introIn 1.1s .5s forwards}
.intro-bar{width:136px;height:1px;background:rgba(227,194,124,.16);overflow:hidden;position:relative}
.intro-bar::after{content:"";position:absolute;inset:0;
	background:linear-gradient(90deg,rgba(227,194,124,0),#e3c27c,rgba(227,194,124,0));
	transform:translateX(-100%);animation:introBar 1.5s .18s cubic-bezier(.4,0,.2,1) forwards}
@keyframes introBar{to{transform:translateX(0)}}
@keyframes introIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes sweep{0%{left:-65%}42%,100%{left:135%}}

.hero{position:relative;min-height:100vh;min-height:100svh;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	padding:6vh 22px 10vh;text-align:center;overflow:hidden}
.hero-halo{position:absolute;top:50%;left:50%;width:min(132vw,600px);height:min(132vw,600px);
	margin:calc(min(132vw,600px) / -2) 0 0 calc(min(132vw,600px) / -2);
	border-radius:50%;pointer-events:none;filter:blur(8px);opacity:0;transition:opacity 2s .3s ease;
	background:conic-gradient(from 0deg,
		rgba(227,194,124,0) 0deg, rgba(227,194,124,.11) 46deg, rgba(227,194,124,0) 104deg,
		rgba(227,194,124,0) 196deg, rgba(227,194,124,.08) 254deg, rgba(227,194,124,0) 318deg);
	animation:spin 30s linear infinite}
body.ready .hero-halo{opacity:1}

.hero-inner{position:relative;z-index:2;width:100%;max-width:520px;
	display:flex;flex-direction:column;align-items:center;will-change:transform,opacity}
.crest{width:clamp(126px,36vw,160px);height:clamp(126px,36vw,160px);margin-bottom:20px;opacity:0}
body.ready .crest{animation:crestIn 1.3s .1s both cubic-bezier(.2,.8,.2,1)}
@keyframes crestIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.crest svg{display:block;width:100%;height:100%}
.ring{fill:none;stroke:url(#goldGrad);stroke-width:1;stroke-dasharray:100;stroke-dashoffset:100}
body.ready .ring{animation:draw 1.5s .3s forwards cubic-bezier(.4,0,.2,1)}
body.ready .ring.r2{animation-delay:.55s}
.ring.r2{stroke-width:.7;opacity:.85}
.ring.r3{stroke-width:.55;stroke-dasharray:1.6 7;opacity:.42;
	transform-box:view-box;transform-origin:100px 100px;stroke-dashoffset:0;
	animation:spin 64s linear infinite}
body.ready .ring.r3{animation:spin 64s linear infinite}
.glyph{filter:drop-shadow(0 0 14px rgba(227,194,124,.5));opacity:0}
body.ready .glyph{animation:glyphIn 1.1s .58s forwards}
@keyframes glyphIn{from{opacity:0}to{opacity:1}}
@keyframes fadeIn{to{opacity:1}}

/* 龙纹徽记 */
.glyph .mk-ln,.intro-mark .mk-ln{fill:none;stroke:url(#goldGrad);stroke-width:2.2;
	stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}
.glyph .mk-thin{stroke-width:1.5;opacity:.8}
.glyph .mk-fill{fill:url(#goldGrad);fill-opacity:.14;opacity:0}
.glyph .mk-dot{fill:url(#goldGrad);opacity:0}
body.ready .glyph .mk-ln{animation:draw 1.5s .72s forwards cubic-bezier(.4,0,.2,1)}
body.ready .glyph .mk-fill{animation:fadeIn .9s 1.5s forwards}
body.ready .glyph .mk-dot{animation:fadeIn .8s 1.7s forwards}

/* 开场龙纹（纯色描边） */
.intro-mark .mk-ln{stroke:#e3c27c;stroke-width:3.4;stroke-dasharray:100;stroke-dashoffset:100;
	animation:draw 1.15s .22s forwards cubic-bezier(.4,0,.2,1)}
.intro-mark .mk-thin{stroke-width:2.4;opacity:.8}
.intro-mark .mk-dot{fill:#e3c27c;opacity:0;animation:fadeIn .8s 1.1s forwards}

.eyebrow{margin:0 0 14px;font-size:10.5px;font-weight:500;letter-spacing:.42em;text-indent:.42em;
	color:#b09a68;opacity:0}
body.ready .eyebrow{animation:fadeUp .9s .3s both}
.brand{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(40px,13vw,64px);
	line-height:1.16;letter-spacing:.16em;text-indent:.16em;color:var(--gold-1);
	text-shadow:0 0 20px rgba(227,194,124,.3),0 0 64px rgba(227,194,124,.12)}
.brand span{display:inline-block;opacity:0}
body.ready .brand span{animation:riseIn .95s calc(.34s + var(--i) * .085s) both cubic-bezier(.2,.8,.2,1)}
.tagline{margin:0 0 34px;font-size:14px;letter-spacing:.3em;text-indent:.3em;color:#c3b184;opacity:0}
body.ready .tagline{animation:fadeUp .9s .78s both}

.cd-wrap{width:100%;opacity:0}
body.ready .cd-wrap{animation:fadeUp 1s .9s both}
.cd-label{margin:0 0 12px;font-size:10px;letter-spacing:.3em;text-indent:.3em;color:#8b8570}
.countdown{display:flex;gap:8px;justify-content:center}
.cd-item{flex:1 1 0;min-width:0;max-width:78px;padding:13px 2px 9px;border-radius:14px;position:relative;
	background:linear-gradient(168deg,rgba(255,255,255,.058),rgba(255,255,255,.012));
	border:1px solid var(--line);
	box-shadow:0 12px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cd-item b{display:block;font-family:var(--serif);font-weight:500;line-height:1.05;
	font-size:clamp(19px,6.4vw,27px);color:#f7eac6;font-variant-numeric:tabular-nums;
	text-shadow:0 0 16px rgba(227,194,124,.28)}
.cd-item span{display:block;margin-top:6px;font-size:9.5px;letter-spacing:.2em;text-indent:.2em;color:#89836f}
.cd-item b.flip{animation:flipIn .4s ease}
@keyframes flipIn{from{opacity:.25;transform:translateY(-7px)}to{opacity:1;transform:none}}

.hero .cta-row{margin-top:28px}
.scroll-hint{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:2;
	transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;
	font-size:9.5px;letter-spacing:.28em;text-indent:.28em;color:#6d6858;opacity:0;
	transition:opacity 1s 1.6s ease}
body.ready .scroll-hint{opacity:1}
.scroll-hint i{display:block;width:1px;height:30px;
	background:linear-gradient(rgba(227,194,124,0),rgba(227,194,124,.85));
	animation:hintPulse 2.4s ease-in-out infinite}
@keyframes hintPulse{0%,100%{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}

/* ---- 首页入口宫格 ---- */
.entries{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}
.entry{position:relative;display:block;padding:20px 16px 18px;border-radius:18px;overflow:hidden;
	text-decoration:none;color:inherit;
	background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
	border:1px solid rgba(227,194,124,.14);
	transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.entry::before{content:"";position:absolute;top:0;left:24%;right:24%;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.7),rgba(227,194,124,0))}
.entry:active{transform:translateY(-2px);border-color:rgba(227,194,124,.34);
	box-shadow:0 16px 36px rgba(0,0,0,.45),0 0 0 1px rgba(227,194,124,.08)}
.entry-no{display:block;font-family:var(--serif);font-size:11px;letter-spacing:.22em;color:var(--gold-3);
	margin-bottom:10px}
.entry-zh{display:block;font-size:15px;font-weight:600;letter-spacing:.1em;color:#efe1b8;margin-bottom:5px}
.entry-en{display:block;font-size:9.5px;letter-spacing:.24em;color:#7d7869}
.entry-arrow{position:absolute;right:14px;bottom:14px;width:16px;height:16px;color:#a08c58;
	opacity:.75;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.entry-arrow svg{width:16px;height:16px;display:block}
.entry:active .entry-arrow{transform:translate(2px,-2px);opacity:1}

/* =====================================================================
 *  子页面
 * ===================================================================== */
.phead{position:relative;z-index:3;max-width:720px;margin:0 auto;padding:18px 22px 4px;
	opacity:0;transform:translateY(18px);
	transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
body.ready .phead{opacity:1;transform:none}
.phead-bar{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.phead-brand{font-family:var(--serif);font-size:12.5px;letter-spacing:.3em;text-indent:.3em;color:#c2ad7c}
.phead .kicker{margin-bottom:14px}
.ptitle{margin:0 0 14px;font-family:var(--serif);font-weight:500;
	font-size:clamp(29px,9vw,44px);line-height:1.42;letter-spacing:.06em;color:#f4e7c2;
	text-shadow:0 0 30px rgba(227,194,124,.18)}
.psub{margin:0;font-size:13.5px;line-height:2;color:#a5a096;max-width:540px}

.pbody{position:relative;z-index:3;max-width:720px;margin:0 auto;padding:26px 22px 10px}
.pbody .lead{margin:0 0 26px;font-size:14px;line-height:2.1;color:#a7a298}
.pbody .lead strong{color:#e9d9ab;font-weight:500}

.block{margin-bottom:26px}
.block-title{margin:0 0 14px;font-family:var(--serif);font-size:17px;font-weight:500;
	letter-spacing:.12em;color:#eedfb4}

/* 行动区 */
.cta-card{position:relative;margin-top:30px;padding:30px 22px;border-radius:22px;text-align:center;overflow:hidden;
	background:radial-gradient(125% 100% at 50% 0%,rgba(227,194,124,.16),rgba(255,255,255,.018) 62%);
	border:1px solid rgba(227,194,124,.2);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.cta-card h3{margin:0 0 12px;font-family:var(--serif);font-weight:500;letter-spacing:.08em;
	font-size:clamp(19px,5.6vw,24px);color:#f6e8c0}
.cta-card p{margin:0 auto 22px;max-width:420px;font-size:13px;line-height:2;color:#a29d92}
.cta-card .cta-row{margin-top:0;opacity:1;max-width:none;animation:none}
/* 金句 / 引用 */
.quote{position:relative;padding:28px 22px;border-radius:20px;overflow:hidden;
	background:radial-gradient(120% 100% at 0% 0%,rgba(227,194,124,.13),rgba(255,255,255,.015) 66%);
	border:1px solid rgba(227,194,124,.16)}
.quote::before{content:"“";position:absolute;left:14px;top:-6px;font-family:var(--serif);
	font-size:70px;line-height:1;color:rgba(227,194,124,.16)}
.quote p{margin:0;font-family:var(--serif);font-size:clamp(17px,5.2vw,23px);line-height:1.95;
	letter-spacing:.04em;color:#f0e2ba}
.quote cite{display:block;margin-top:16px;font-style:normal;font-size:11px;letter-spacing:.24em;color:#93896a}

/* 业务大卡 */
.biz{position:relative;padding:26px 22px 22px;border-radius:20px;margin-bottom:14px;overflow:hidden;
	background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
	border:1px solid rgba(227,194,124,.14);
	transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.biz::before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.72),rgba(227,194,124,0))}
.biz:active{transform:translateY(-2px);border-color:rgba(227,194,124,.32)}
.biz-no{position:absolute;right:16px;top:8px;font-family:var(--serif);font-size:62px;line-height:1;
	color:rgba(227,194,124,.095);letter-spacing:.02em}
.biz-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.biz .card-ico{margin-bottom:0}
.biz h3{margin:0;font-size:17px;font-weight:600;letter-spacing:.1em;color:#f0e2b9}
.biz p{margin:0;font-size:13px;line-height:2;color:#9c978d}
.biz ul{list-style:none;margin:15px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.biz li{font-size:11.5px;letter-spacing:.06em;padding:5px 12px;border-radius:999px;
	color:#c9b98d;background:rgba(227,194,124,.07);border:1px solid rgba(227,194,124,.16)}

/* 经纬环（全球页） */
.globe{position:relative;width:min(74vw,290px);height:min(74vw,290px);margin:6px auto 30px}
.globe span{position:absolute;border-radius:50%;border:1px solid rgba(227,194,124,.18)}
.globe .g-out{inset:0;border-color:rgba(227,194,124,.28)}
.globe .g-in{inset:11%}
.globe .g-lat{left:0;right:0;top:50%;height:34%;transform:translateY(-50%)}
.globe .g-lon{top:0;bottom:0;left:50%;width:34%;transform:translateX(-50%)}
.globe .g-spin{inset:-7%;border-style:dashed;border-color:rgba(227,194,124,.22);
	animation:spin 46s linear infinite}
.globe .g-spin2{inset:16%;border-style:dashed;border-color:rgba(227,194,124,.16);
	animation:spin 30s linear infinite reverse}
.globe .g-core{position:absolute;left:50%;top:50%;width:78%;height:78%;
	transform:translate(-50%,-50%);border-radius:50%;border:0;
	background:radial-gradient(circle at 34% 30%,rgba(227,194,124,.16),rgba(227,194,124,.02) 62%,transparent 72%)}
.globe .g-dot{width:5px;height:5px;background:var(--gold-2);border:0;
	box-shadow:0 0 10px rgba(227,194,124,.9);animation:dotPulse 3.2s ease-in-out infinite}
@keyframes dotPulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
.globe .d1{left:26%;top:34%}
.globe .d2{left:62%;top:24%;animation-delay:.5s}
.globe .d3{left:44%;top:62%;animation-delay:1s}
.globe .d4{left:72%;top:58%;animation-delay:1.5s}
.globe .d5{left:18%;top:66%;animation-delay:2s}

/* 地区列表 */
.regions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.region{padding:14px 14px;border-radius:14px;
	background:linear-gradient(170deg,rgba(255,255,255,.04),rgba(255,255,255,.008));
	border:1px solid rgba(227,194,124,.12)}
.region b{display:block;font-size:13.5px;font-weight:600;letter-spacing:.06em;color:#e8dab2;margin-bottom:4px}
.region span{font-size:11.5px;color:#8d887c}

/* 联系 */
.contact-item{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;margin-bottom:11px;
	background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
	border:1px solid rgba(227,194,124,.13)}
.contact-item .ci-ico{width:38px;height:38px;border-radius:11px;flex:none;color:#e9cd8d;
	display:flex;align-items:center;justify-content:center;
	background:rgba(227,194,124,.07);border:1px solid rgba(227,194,124,.2)}
.contact-item .ci-ico svg{width:19px;height:19px;display:block}
.ci-body{flex:1 1 auto;min-width:0}
.ci-body b{display:block;font-size:13.5px;font-weight:600;letter-spacing:.06em;color:#e8dab2;margin-bottom:3px}
.ci-body span{display:block;font-size:12px;color:#8d887c;word-break:break-all}
.ci-act{flex:none}

/* 上／下一页 */
.pnav{position:relative;z-index:3;max-width:720px;margin:0 auto;padding:14px 22px 6px;
	display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pnav a{display:block;padding:15px 16px;border-radius:16px;text-decoration:none;
	background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
	border:1px solid rgba(227,194,124,.13);
	transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.pnav a:active{transform:translateY(-2px);border-color:rgba(227,194,124,.32)}
.pnav .pn-dir{display:block;font-size:9.5px;letter-spacing:.24em;color:#8f8a7c;margin-bottom:6px}
.pnav .pn-zh{display:block;font-size:14px;letter-spacing:.06em;color:#ecdeb6}
.pnav .pn-next{text-align:right}
.pnav .pn-empty{opacity:.28;pointer-events:none}

/* =====================================================================
 *  App 化组件
 * ===================================================================== */

/* ---- 页面切换加载条 ---- */
.load-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none;
	opacity:0;transition:opacity .25s ease}
.load-bar.show{opacity:1}
.load-bar::after{content:"";position:absolute;top:0;height:100%;width:38%;border-radius:2px;
	background:linear-gradient(90deg,rgba(227,194,124,0),#e3c27c,#fff3cd);
	box-shadow:0 0 10px rgba(227,194,124,.7);
	animation:loadRun .8s cubic-bezier(.4,0,.2,1) infinite}
@keyframes loadRun{0%{left:-40%}100%{left:100%}}

/* ---- 底部标签栏 ---- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;align-items:stretch;
	padding:4px 6px calc(4px + env(safe-area-inset-bottom));
	background:rgba(8,9,15,.74);
	-webkit-backdrop-filter:blur(20px) saturate(150%);
	backdrop-filter:blur(20px) saturate(150%);
	border-top:1px solid rgba(227,194,124,.14);
	transform:translateY(115%);opacity:0;
	transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
body.ready .tabbar{transform:none;opacity:1}
.tabbar::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
	background:linear-gradient(90deg,rgba(227,194,124,0),rgba(227,194,124,.45),rgba(227,194,124,0))}
.tab{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;
	padding:9px 2px 5px;text-decoration:none;color:#7b7669;border-radius:12px;
	transition:color .3s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.tab:active{transform:scale(.93)}
.tab svg{width:21px;height:21px;display:block;transition:filter .3s ease}
.tab span{font-size:10px;letter-spacing:.06em;white-space:nowrap}
.tab.on{color:var(--gold-2)}
.tab.on svg{filter:drop-shadow(0 0 9px rgba(227,194,124,.55))}
	.tab-ind{position:absolute;top:0;left:6px;height:2px;width:calc((100% - 12px) / var(--tabn,5));
	transform:translateX(calc(var(--tabi,0) * 100%));
	transition:transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.tab-ind::after{content:"";display:block;width:24px;height:2px;margin:0 auto;border-radius:2px;
	background:linear-gradient(90deg,rgba(227,194,124,0),#e3c27c,rgba(227,194,124,0));
	box-shadow:0 0 10px rgba(227,194,124,.85)}

body.has-tabbar{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
body.has-tabbar .to-top{bottom:calc(80px + env(safe-area-inset-bottom))}
body.has-tabbar footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
body.has-tabbar #toast{bottom:calc(106px + env(safe-area-inset-bottom))}
body.has-tabbar .scroll-hint{bottom:calc(78px + env(safe-area-inset-bottom))}

/* ---- 右滑返回跟手 ---- */
body.snap{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
body.swipe-out{transform:translateX(100%)}

/* ---- 跨页转场（支持的浏览器自动生效，不支持则忽略） ---- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .24s ease both}
::view-transition-new(root){animation:vtIn .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes vtIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes vtOut{from{opacity:1}to{opacity:0;transform:translateX(-12px)}}

/* ---- App 状态胶囊 ---- */
.pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;
	border-radius:999px;font-size:10.5px;letter-spacing:.16em;color:#c8b382;
	background:rgba(255,255,255,.045);border:1px solid rgba(227,194,124,.2);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0}
body.ready .pill{animation:fadeUp .9s .2s both}
.pill i{width:6px;height:6px;border-radius:50%;background:var(--gold-2);flex:none;
	box-shadow:0 0 9px rgba(227,194,124,.9);animation:dotPulse 2.4s ease-in-out infinite}

/* ============ 响应式 ============ */
@media (min-width:560px){
	.cards{grid-template-columns:repeat(3,1fr)}
	.cards.grid2{grid-template-columns:repeat(3,1fr)}
	.stats{grid-template-columns:repeat(4,1fr)}
	.entries{grid-template-columns:repeat(3,1fr)}
	.regions{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
	*{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.15s !important}
	.hero-halo,.ring.r3,.globe .g-spin,.globe .g-spin2,.globe .g-dot{display:none}
}