:root {--bg:#efe5d3;--paper:#f7f1e5;--paper2:#fbf7ef;--ink:#2d241d;--sub:#6f5a49;--line:rgba(84,61,41,.12);--brown:#4d3528;--brown2:#6a4a37;--gold:#c7a263;--gold2:#ead7af;--red:#8d2d23;--red2:#b23d2f;--shadow:0 14px 35px rgba(51,34,20,.10);--radius:22px;--max:1180px;}
* {box-sizing:border-box}
html,body {margin:0;padding:0;scroll-behavior:smooth}
body {font-family:"Microsoft YaHei","PingFang SC","Noto Serif SC",serif;color:var(--ink);line-height:1.75;background:radial-gradient(circle at top,rgba(255,255,255,.45),transparent 30%),linear-gradient(180deg,#f4ecde 0%,#eadcc6 100%);}
a {text-decoration:none;color:inherit}
img {display:block;max-width:100%}
.wrap {width:min(var(--max),calc(100% - 28px));margin:0 auto}
.hero {position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(36,23,16,.78),rgba(61,40,27,.88)),radial-gradient(circle at 20% 30%,rgba(226,196,132,.13),transparent 30%),#39281d;color:#f5ead6;padding:38px 0 50px;}
.hero::before {content:"氏";position:absolute;right:4vw;top:50%;transform:translateY(-50%);font-size:220px;line-height:1;font-weight:700;color:rgba(255,255,255,.04);pointer-events:none;}
.hero-inner {position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;min-height:560px;}
.eyebrow {display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid rgba(234,215,175,.28);background:rgba(255,255,255,.06);color:#f0dba8;font-size:14px;}
.hero h1 {margin:5px 0 12px;font-size:clamp(38px,6vw,72px);line-height:1.08;letter-spacing:1px;color:#f7e2ae;text-shadow:0 4px 18px rgba(0,0,0,.26);}
.hero h1 small {display:block;margin-top:0px;font-size:clamp(18px,2.2vw,28px);color:#f6efe1;font-weight:500;margin-bottom:20px;}
.hero-desc {margin:18px 0 24px;max-width:690px;font-size:18px;color:rgba(255,247,232,.92);}
.hero-tags {display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.hero-tags span {padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#f7efe2;font-size:14px;}
.hero-cta {display:flex;flex-wrap:wrap;gap:14px;}
.btn {display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:14px;font-size:17px;font-weight:700;transition:.22s ease;cursor:pointer;}
.btn:hover {transform:translateY(-2px)}
.btn-primary {color:#fff8ef;background:linear-gradient(180deg,var(--red2),var(--red));box-shadow:0 10px 26px rgba(0,0,0,.18);}
.btn-secondary {color:#f6ebd6;background:rgba(255,255,255,.07);border:1px solid rgba(234,215,175,.3);}
.hero-panel {background:linear-gradient(180deg,rgba(251,246,238,.98),rgba(240,228,206,.98));border:1px solid rgba(199,162,99,.28);border-radius:26px;padding:22px;box-shadow:0 22px 55px rgba(0,0,0,.16);color:var(--ink);}
.hero-panel-title {margin:0 0 16px;font-size:24px;color:var(--brown);}
.hero-stats {display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.hero-stat {background:#fffaf1;border:1px solid var(--line);border-radius:18px;padding:16px 14px;min-height:108px;}
.hero-stat span {display:block;margin-bottom:8px;font-size:13px;color:#8a705b;}
.hero-stat strong {display:block;font-size:24px;line-height:1.2;color:var(--red);}
.hero-stat em {display:block;margin-top:6px;font-style:normal;font-size:14px;color:#644f40;}
.hero-buy-note {margin-top:16px;background:linear-gradient(180deg,#fff8ea,#f4e6c9);border:1px solid rgba(129,92,56,.14);border-radius:18px;padding:16px;}
.hero-buy-note b {display:block;margin-bottom:6px;color:var(--brown);font-size:18px;}
.hero-buy-note p {margin:0;color:#6b5544;font-size:14px;}
.section {padding:68px 0}
.section-title {margin:0 0 12px;text-align:center;font-size:clamp(28px,4vw,42px);color:var(--brown);line-height:1.25;}
.section-subtitle {max-width:860px;margin:0 auto 36px;text-align:center;font-size:17px;color:#755f4d;}
.intro {margin-top:-26px;position:relative;z-index:2;}
.intro-box {background:linear-gradient(180deg,#fbf6ec,#f3e7d4);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;}
.intro-box p {margin:0;font-size:17px}
.intro-mini {display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.intro-mini-card {background:#fffaf1;border:1px solid var(--line);border-radius:16px;padding:16px;}
.intro-mini-card strong {display:block;margin-bottom:4px;font-size:20px;color:var(--red);}
.intro-mini-card span {font-size:14px;color:#715b49;}
.features-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.feature {background:linear-gradient(180deg,#fff9ef,#f5e8d2);border:1px solid var(--line);border-radius:22px;padding:26px 22px;box-shadow:0 10px 25px rgba(65,45,26,.05);}
.feature-icon {width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(180deg,#d9b16a,#bd8f48);color:#fff7ea;font-size:22px;margin-bottom:16px;}
.feature h3 {margin:0 0 10px;font-size:22px;color:var(--brown);}
.feature p {margin:0;color:#6f5848}
.preview-box {background:linear-gradient(180deg,#fff9ef,#f3e5cf);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px;}
.common-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.common-item {display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(84,61,41,.12);background:#fff;box-shadow:0 8px 20px rgba(65,45,26,.06);cursor:zoom-in;}
.common-item img {width:100%;aspect-ratio:3 / 4.2;object-fit:cover;transition:transform .3s ease;}
.common-item:hover img {transform:scale(1.03)}
.preview-tip {margin:12px 0 0;text-align:center;color:#7a6553;font-size:14px;}
.files-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.file-card {display:block;background:linear-gradient(180deg,#fffdf7,#f2e6d0);border:1px solid rgba(84,61,41,.12);border-radius:22px;overflow:hidden;box-shadow:0 12px 28px rgba(65,45,26,.08);cursor:zoom-in;transition:transform .22s ease,box-shadow .22s ease;}
.file-card:hover {transform:translateY(-3px);box-shadow:0 16px 34px rgba(65,45,26,.12);}
.file-shot-top {padding:14px 14px 0;}
.file-shot-top img {width:100%;aspect-ratio:1.9 / 1;object-fit:contain;background:#fff;border:1px solid rgba(84,61,41,.10);border-radius:14px;padding:8px;}
.file-shot-bottom {padding:14px 16px 16px;}
.file-shot-bottom h3 {margin:0 0 6px;font-size:20px;color:var(--brown);}
.file-shot-bottom p {margin:0;font-size:14px;color:#6f5948;}
.split {display:grid;grid-template-columns:.95fr 1.05fr;gap:26px;align-items:center;}
.mock-card,.paper {background:linear-gradient(180deg,#fff9ef,#f3e5cf);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:26px;}
/* 整体卡片 */.surname-encyclopedia-card {margin:40px 0;}
.surname-encyclopedia {display:grid;grid-template-columns:140px 1fr;gap:20px;padding:28px;border-radius:26px;background:linear-gradient(180deg,#f3e7d4,#eadcc6);border:1px solid rgba(84,61,41,.10);}
/* 左侧按钮 */.surname-tabs {display:flex;flex-direction:column;gap:14px;}
.surname-tab {border:none;cursor:pointer;padding:16px 10px;border-radius:18px;font-size:18px;font-weight:700;color:#4b3426;background:linear-gradient(180deg,#e5d8c5,#d9cbb4);transition:.2s;}
.surname-tab:hover {transform:translateY(-2px);}
.surname-tab.is-active {background:linear-gradient(180deg,#6a4733,#3f2b1f);color:#fff;}
/* 右侧内容 */.surname-panel {display:none;padding:24px;border-radius:20px;background:#fff9ef;border:1px solid rgba(84,61,41,.08);}
.surname-panel.is-active {display:block;}
.surname-panel h4 {margin:0 0 12px;font-size:26px;color:#3d2a1d;}
/* 文字截断 */.surname-panel-text {font-size:14px;line-height:1.8;color:#6b5544;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:11;max-height:calc(1.8em * 11);}
/* 移动端 */@media (max-width:768px) {.surname-encyclopedia {grid-template-columns:1fr;}
.surname-tabs {flex-direction:row;flex-wrap:wrap;}
.surname-tab {flex:1 1 45%;font-size:15px;padding:12px;}
}
.mock-screen {background:linear-gradient(180deg,#5e4332,#35241b);border-radius:22px;padding:18px;}
.mock-inner {background:#f6eddc;border-radius:16px;min-height:300px;padding:18px;display:grid;grid-template-columns:100px 1fr;gap:14px;}
.mock-left {display:grid;gap:10px;}
.mock-left div {border-radius:10px;min-height:52px;background:rgba(92,63,36,.08);border:1px solid rgba(92,63,36,.12);}
.mock-right {border-radius:14px;background:rgba(255,255,255,.52);border:1px solid rgba(92,63,36,.12);padding:18px;}
.mock-right h4 {margin:0 0 10px;color:var(--brown2);font-size:18px;}
.mock-right p {margin:0;color:#6f5948;font-size:14px;}
.paper h2 {margin:0 0 12px;font-size:34px;line-height:1.25;color:var(--brown);}
.paper > p {margin:0;color:#715949;font-size:17px;}
.list {display:grid;gap:14px;margin-top:18px;}
.list-item {display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:#fffaf1;border:1px solid var(--line);}
.list-item b {width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#e8ce9f;color:var(--brown);flex:0 0 28px;font-size:14px;}
.cta-band {position:relative;overflow:hidden;background:linear-gradient(180deg,#4b3225,#2e1f17);color:#f5ebd8;padding:68px 0;}
.cta-band::before {content:"X氏族谱";position:absolute;right:4vw;top:50%;transform:translateY(-50%);font-size:72px;font-weight:700;color:rgba(255,255,255,.04);pointer-events:none;}
.surname-knowledge-wrap {width:min(var(--max),calc(100% - 28px));margin:0 auto}
.surname-knowledge-card {background:linear-gradient(180deg,#f8f0df,#efe2cb);border:1px solid rgba(84,61,41,.10);border-radius:28px;box-shadow:var(--shadow);padding:28px;}
.surname-knowledge-inner {background:linear-gradient(180deg,#ede2cd,#e6d9c1);border:1px solid rgba(110,84,57,.10);border-radius:26px;padding:32px;display:grid;grid-template-columns:140px 1fr;gap:22px;}
.surname-tab-list {display:grid;grid-template-columns:1fr;gap:14px;}
.surname-tab-btn {appearance:none;border:1px solid rgba(110,84,57,.12);background:linear-gradient(180deg,#e1d4bf,#dacbb4);color:#3f2d21;border-radius:20px;min-height:50px;padding:18px 14px;font-size:18px;font-weight:700;line-height:1.4;text-align:center;cursor:pointer;transition:.24s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 4px 12px rgba(65,45,26,.04);}
.surname-tab-btn:hover {transform:translateY(-2px);background:linear-gradient(180deg,#e6d8c2,#decfb8);}
.surname-tab-btn.is-active {background:linear-gradient(180deg,#7a533a,#593b2b);color:#fff4df;border-color:rgba(84,61,41,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(65,45,26,.16);}
.surname-tab-panels {min-width:0}
.surname-tab-panel {display:none;min-height:298px;background:rgba(255,255,255,.35);border:1px solid rgba(84,61,41,.10);border-radius:24px;padding:30px 34px;}
.surname-tab-panel.is-active {display:block}
.surname-tab-panel h3 {margin:0 0 16px;font-size:16px;line-height:1.2;color:var(--brown);}
.surname-tab-panel p {margin:0;color:#6d5746;font-size:14px;line-height:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:13;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}
.cta-box {position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;}
.cta-box h2 {margin:0 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.2;color:#f5dfab;}
.cta-box p {margin:0;font-size:18px;color:rgba(247,239,226,.88);}
.faq {display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.faq-item {background:#fff9f0;border:1px solid var(--line);border-radius:18px;padding:20px 22px;}
.faq-item h3 {margin:0 0 8px;color:var(--brown);font-size:19px;}
.faq-item p {margin:0;color:#6c5546;}
.buy-box {background:linear-gradient(180deg,#fff8eb,#f0dfc2);border:1px solid rgba(129,92,56,.16);border-radius:26px;box-shadow:var(--shadow);padding:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;}
.buy-badge {display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff7ea;border:1px solid rgba(129,92,56,.18);color:#8a6540;font-size:14px;}
.buy-box h2 {margin:16px 0 0;font-size:42px;line-height:1.2;color:var(--brown);}
.price {display:flex;align-items:baseline;gap:10px;margin:12px 0 16px;color:var(--red);}
.price strong {font-size:52px;line-height:1;}
.price small {font-size:18px;color:#7b5f4b;}
.buy-box p {margin:0;color:#6f5747;font-size:17px;}
.buy-note {margin-top:10px;font-size:14px;color:#7b6554;}
.buy-side {background:rgba(255,255,255,.56);border:1px solid rgba(129,92,56,.12);border-radius:18px;padding:20px;}
.buy-side h3 {margin:0 0 12px;font-size:24px;color:var(--brown);}
.buy-side ul {margin:0;padding-left:18px;color:#6a5243;}
.buy-side li+li {margin-top:8px}
.lightbox {position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.86);}
.lightbox.is-open {display:flex}
.lightbox-inner {position:relative;max-width:min(1200px,96vw);max-height:92vh;display:flex;align-items:center;justify-content:center;}
.lightbox img {max-width:100%;max-height:92vh;width:auto;height:auto;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.4);background:#fff;}
.lightbox-close {position:absolute;top:-14px;right:-14px;width:42px;height:42px;border:0;border-radius:999px;background:#fff;color:#222;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28);}
footer {padding:24px 0 38px;text-align:center;color:#7c6553;font-size:14px;}
@media (max-width:1100px) {.common-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px) {.hero-inner,.intro-box,.split,.cta-box,.buy-box {grid-template-columns:1fr}
.features-grid,.faq {grid-template-columns:1fr}
.hero {padding-top:26px}
.hero-inner {min-height:auto}
.hero::before {font-size:150px;right:14px}
.surname-knowledge-inner {grid-template-columns:1fr;}
.surname-tab-list {grid-template-columns:repeat(2,1fr);}
.surname-tab-btn {min-height:86px;font-size:18px;border-radius:18px;}
.surname-tab-panel {min-height:360px;padding:24px 22px;}
.surname-tab-panel h3 {font-size:28px}
.surname-tab-panel p {font-size:12px;-webkit-line-clamp:10;}
}
@media (max-width:640px) {.wrap {width:min(var(--max),calc(100% - 20px))}
.section {padding:52px 0}
.hero-desc {font-size:16px}
.hero-cta {align-items:stretch}
.btn {width:100%}
.hero-stats,.intro-mini,.files-grid {grid-template-columns:1fr}
.common-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.common-item img {aspect-ratio:3 / 4.6}
.mock-inner {grid-template-columns:1fr}
.cta-band::before {font-size:42px;right:12px}
.buy-box h2 {font-size:34px}
.price strong {font-size:44px}
.surname-knowledge-card {padding:18px}
.surname-knowledge-inner {padding:18px;gap:14px}
.surname-tab-list {grid-template-columns:repeat(2,1fr);gap:10px}
.surname-tab-btn {min-height:72px;padding:12px 8px;font-size:16px;border-radius:16px;}
.surname-tab-panel {min-height:260px;border-radius:18px;padding:18px 16px;}
.surname-tab-panel h3 {margin-bottom:10px;font-size:20px;}
.surname-tab-panel p {font-size:12px;line-height:1.9;-webkit-line-clamp:8;}
}