*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", -apple-system, sans-serif; color: #1a1a1a; background: #faf8f5; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }

.nav { position: fixed; top:0; left:0; right:0; z-index:100; padding:1.125rem 3rem; display:flex; justify-content:space-between; align-items:center; background:rgba(255,255,255,0.94); backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,0.04); }
.nav-logo { display:flex; align-items:center; gap:0.75rem; }
.nav-logo img { display:block; height:36px; width:auto; }
.nav-brand-text { font-size:1.0625rem; font-weight:700; color:#1a1a1a; letter-spacing:0.12em; }
.nav-links { display:flex; align-items:center; gap:2rem; list-style:none; }
.nav-links a { font-size:0.8125rem; font-weight:500; color:rgba(0,0,0,0.5); letter-spacing:0.06em; transition:color 0.3s ease; }
.nav-links a:hover { color:#1a1a1a; }
.nav-links a.active { color:#1a1a1a; padding:0.4rem 1rem; border:1px solid rgba(0,0,0,0.12); border-radius:100px; }
.nav-links a.active:hover { border-color:#c8873a; color:#c8873a; }

.page-hero { margin-top:66px; background:linear-gradient(135deg,#0a1a18 0%,#1a3a34 100%); padding:5rem 2rem 4rem; text-align:center; position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; top:-40%; right:-10%; width:400px; height:400px; border-radius:50%; border:1px solid rgba(200,135,58,0.06); }
.page-hero h1 { font-size:clamp(2.2rem,4.5vw,3.2rem); font-weight:700; color:#fff; letter-spacing:-0.02em; margin-bottom:0.75rem; position:relative; z-index:1; }
.page-hero p { font-size:clamp(0.9375rem,1.4vw,1.125rem); color:rgba(255,255,255,0.5); max-width:540px; margin:0 auto; position:relative; z-index:1; }

.content { padding:4rem 2rem 5rem; }
.content-inner { max-width:860px; margin:0 auto; }

.stage { margin-bottom:3.5rem; }
.stage:last-child { margin-bottom:0; }
.stage-head { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.25rem; }
.stage-badge { width:48px; height:48px; min-width:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.125rem; font-weight:800; color:#fff; flex-shrink:0; }
.sh-text { padding-top:0.25rem; }
.sh-text h2 { font-size:1.25rem; font-weight:700; color:#1a1a1a; margin-bottom:0.15rem; }
.sh-text .sh-sub { font-size:0.8125rem; color:#999; font-weight:500; }

.stage-desc { background:#fff; border:1px solid #ebe6de; border-radius:12px; padding:1.25rem 1.5rem; margin-bottom:1.25rem; font-size:0.875rem; color:#666; line-height:1.85; }
.stage-desc strong { color:#c8873a; font-weight:600; }
.stage-desc .hl { color:#c8873a; font-weight:600; }
.stage-dotted { border:1px dashed #e0d8cc; background:transparent; padding:1rem 1.5rem; border-radius:12px; margin-bottom:1.25rem; font-size:0.875rem; color:#888; line-height:1.85; }
.stage-dotted strong { color:#c8873a; font-weight:600; }

.proj-list { display:flex; flex-direction:column; gap:0.75rem; }
.proj-item { background:#fff; border:1px solid #ebe6de; border-radius:12px; padding:1.125rem 1.25rem; display:flex; align-items:center; gap:1rem; transition:all 0.25s ease; }
.proj-item:hover { box-shadow:0 4px 16px rgba(0,0,0,0.03); border-color:#ddd6c8; }
.pi-tag { width:28px; height:28px; min-width:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.6875rem; font-weight:700; color:#fff; flex-shrink:0; }
.pi-body { flex:1; min-width:0; }
.pi-body .pi-name { font-size:0.9375rem; font-weight:700; color:#1a1a1a; }
.pi-body .pi-income { font-size:0.8125rem; color:#c8873a; font-weight:600; margin-top:0.05rem; }
.pi-body .pi-note { font-size:0.75rem; color:#aaa; margin-top:0.1rem; }
.money-tag { display:inline-block; font-size:10px; font-weight:600; padding:1px 7px; border-radius:8px; margin-left:6px; vertical-align:middle; }
.money-tag.money-big { background:#fef6e6; color:#c8873a; }
.money-tag.money-small { background:#e6f7ef; color:#36B37E; }
.pi-link { flex-shrink:0; font-size:0.75rem; font-weight:600; color:#36B37E; padding:0.35rem 1rem; border:1px solid rgba(54,179,126,0.2); border-radius:100px; transition:all 0.25s ease; white-space:nowrap; }
.pi-link:hover { background:rgba(54,179,126,0.06); border-color:#36B37E; }

.back-top { position:fixed; bottom:2rem; right:2rem; z-index:99; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.85); backdrop-filter:blur(12px); border:1px solid rgba(0,0,0,0.08); box-shadow:0 2px 12px rgba(0,0,0,0.06); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:#888; cursor:pointer; transition:all 0.3s ease; opacity:0; pointer-events:none; }
.back-top.show { opacity:1; pointer-events:auto; }
.back-top:hover { color:#c8873a; border-color:#c8873a; transform:translateY(-3px); }

.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-toggle span { display:block; width:22px; height:1.5px; background:#1a1a1a; transition:all 0.3s ease; border-radius:1px; }
.nav-links.open { display:flex !important; flex-direction:column; position:fixed; top:66px; left:0; right:0; background:rgba(255,255,255,0.98); backdrop-filter:blur(16px); padding:1rem 1.5rem; box-shadow:0 4px 20px rgba(0,0,0,0.06); gap:1.25rem; align-items:flex-start; }
.nav-links.open a { color:#1a1a1a; }

@media (max-width:768px) {
.nav-toggle { display:flex; }
.nav { padding:0.875rem 1.25rem; }
.nav-links { display:none; }
.page-hero { padding:2.5rem 1.25rem; margin-top:54px; }
.page-hero h1 { font-size:1.5rem; }
.content { padding:1.5rem 1.25rem; }
.stage-head h2 { font-size:1.125rem; }
.stage-desc { font-size:0.8125rem; padding:1rem 1.125rem; }
.proj-item { flex-wrap:wrap; padding:0.875rem 1rem; }
.proj-item .pi-body .pi-name { font-size:0.875rem; }
.proj-item .pi-link { margin-left:auto; font-size:0.6875rem; padding:0.25rem 0.75rem; }
}
