/* === Reset === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Source Han Serif SC','Source Han Serif SC',sans-serif;background:#FAF8F5;color:#1A1A1A;line-height:1.6;overflow-x:hidden}

/* === Nav === */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,248,245,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,0.06)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{width:34px;height:34px;background:#8B6914;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;text-decoration:none;font-family:serif}
.nav-links{display:flex;gap:32px}
.nav-links a{color:#5A5A5A;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:#8B6914}
.nav-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:#333}

/* === Hero === */
.hero{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;padding:108px 24px 72px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#FAF8F5 0%,#F0E8D8 50%,#E8DCC8 100%);z-index:0}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(139,105,20,0.04) 0%,transparent 60%),radial-gradient(circle at 70% 60%,rgba(139,105,20,0.03) 0%,transparent 50%)}
.hero-content{position:relative;z-index:1;width:min(100%,880px);text-align:center}
.hero-insignia{font-size:80px;font-family:serif;color:#8B6914;opacity:0.15;margin-bottom:-28px;font-weight:900}
.hero-content h1{font-family:"STKaiti","KaiTi","楷体",serif;font-size:clamp(54px,7vw,76px);font-weight:700;color:#171512;letter-spacing:.16em;line-height:1.12;margin:0 0 24px;padding-left:.16em}
.hero-sub{font-family:"FangSong","STFangsong","仿宋",serif;font-size:clamp(15px,2vw,18px);color:#806116;font-weight:600;letter-spacing:.24em;margin-bottom:16px}
.hero-desc{font-size:15px;color:#746E65;max-width:560px;margin:0 auto 52px;letter-spacing:.04em}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:min(100%,720px);margin:0 auto;padding:24px 0 0;border-top:1px solid rgba(139,105,20,.28)}
.stat{position:relative;display:flex;min-height:86px;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}
.stat+.stat{border-left:1px solid rgba(139,105,20,.22)}
.stat-num{display:block;font-family:"Songti SC","STSong","SimSun","宋体",serif;font-size:34px;font-weight:600;color:#211E19;line-height:1.12}
.stat-origin{min-width:132px}
.stat-num.stat-place{font-size:28px;line-height:1.15;white-space:nowrap}
.stat-place-note{display:block;margin-top:3px;color:#766D61;font-family:"FangSong","STFangsong","仿宋",serif;font-size:13px;line-height:1.2;letter-spacing:.08em}
.stat-label{display:block;margin-top:10px;font-size:12px;color:#928A7D;letter-spacing:.26em;text-transform:uppercase;padding-left:.26em}

/* === Section Shared === */
.section-label{font-size:11px;letter-spacing:3px;color:#aaa;margin-bottom:8px;font-weight:500}
section{padding:100px 24px}
section h2{font-family:serif;font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:12px}
.section-desc{font-size:15px;color:#888;margin-bottom:48px}

/* === 辈分 === */
.beifen-section{background:#fff;padding:80px 24px}
.beifen-scroll{width:100%;padding-bottom:12px;text-align:center}
.beifen-scroll::-webkit-scrollbar{height:4px}
.beifen-scroll::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}
.beifen-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(55px,1fr));gap:18px 0;width:min(100%,1200px);margin:0 auto}
.beifen-item{min-width:0;padding:0 12px;text-align:center;position:relative}
.beifen-item::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:#E0D8CC}
.beifen-item:last-child::after{display:none}
.beifen-gen{font-size:12px;color:#aaa;margin-bottom:4px;letter-spacing:1px}
.beifen-char{font-family:serif;font-size:36px;font-weight:700;color:#1A1A1A;display:block}

/* === Tree === */
.tree-section{background:#FAF8F5}
.tree-controls{display:flex;gap:16px;align-items:center;justify-content:center;margin-bottom:48px;flex-wrap:wrap}
.search-box input{padding:10px 16px;border:1.5px solid #E0D8CC;border-radius:8px;font-size:14px;width:260px;background:#fff;outline:none;transition:border .2s;font-family:inherit}
.search-box input:focus{border-color:#8B6914}
.gen-jump{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.gen-btn{padding:6px 12px;border:1px solid #E0D8CC;border-radius:6px;background:#fff;font-size:12px;color:#666;cursor:pointer;transition:all .2s;font-family:inherit}
.gen-btn:hover{border-color:#8B6914;color:#8B6914}
.gen-btn.active{background:#8B6914;color:#fff;border-color:#8B6914}

.tree-container{max-width:1200px;margin:0 auto}

.gen-row{display:flex;flex-direction:column;align-items:center;margin-bottom:40px;position:relative}
.gen-row:last-child{margin-bottom:0}
.gen-header{width:100%;text-align:center;margin-bottom:20px;position:relative}
.gen-header h3{font-family:serif;font-size:24px;font-weight:700;color:#1A1A1A}
.gen-header .gen-info{font-size:13px;color:#999;margin-top:4px}
.gen-header .gen-line{width:40px;height:2px;background:#D4C5A9;margin:12px auto 0;border-radius:1px}

.gen-members{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}
.person-card{background:#fff;border:1px solid #EDE8E0;border-radius:10px;padding:12px 6px;cursor:pointer;transition:all .25s ease;width:60px;min-height:70px;text-align:center;position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center}
.person-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.06);border-color:#D4C5A9}
.person-card .p-name{font-size:14px;line-height:1.4;font-weight:600;color:#1A1A1A;display:block}
.person-card .p-spouse{font-size:11px;color:#aaa;display:block;margin-top:2px}
.person-card.has-spouse{border-color:#D4C5A9}
.person-card .p-count-badge{position:absolute;top:-6px;right:-6px;background:#8B6914;color:#fff;font-size:10px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}

.gen-connector{width:2px;height:24px;background:linear-gradient(to bottom,#D4C5A9,transparent);margin:0 auto}

/* === History === */
.history-section{background:#fff}
.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:800px;margin:0 auto}
.history-card{background:#FAF8F5;border:1px solid #EDE8E0;border-radius:12px;padding:32px;transition:all .25s}
.history-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.04)}
.history-icon{font-size:32px;margin-bottom:12px}
.history-card h3{font-family:serif;font-size:18px;font-weight:600;margin-bottom:8px}
.history-card p{font-size:14px;color:#666}
.history-detail{color:#8B6914!important;margin-top:8px;font-weight:500}

/* === Materials === */
.materials-section{background:#FAF8F5}
.materials-list{max-width:800px;margin:0 auto;display:grid;gap:12px}
.material-item{background:#fff;border:1px solid #EDE8E0;border-radius:10px;padding:20px 24px;display:flex;gap:16px;align-items:flex-start;transition:all .2s}
.material-item:hover{border-color:#D4C5A9}
.material-icon{font-size:20px;color:#8B6914;flex-shrink:0;margin-top:2px}
.material-info{flex:1}
.material-title{font-family:serif;font-weight:600;font-size:15px;color:#1A1A1A}
.material-detail{font-size:13px;color:#888;margin-top:4px}
.material-meta{font-size:12px;color:#aaa;margin-top:2px}

/* === Footer === */
.footer{background:#1A1A1A;color:#fff;padding:60px 24px;text-align:center}
.footer-mono{font-family:serif;font-size:48px;color:rgba(255,255,255,0.08);margin-bottom:8px}
.footer p{font-size:14px;color:rgba(255,255,255,0.6);margin-bottom:4px}
.footer-small{font-size:12px;color:rgba(255,255,255,0.35)}

/* === Modal === */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:90%;position:relative;animation:modalIn .3s ease}
@keyframes modalIn{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;color:#999;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}
.modal-close:hover{background:#f0f0f0;color:#333}
.modal-content{text-align:center}
.modal-name{font-family:serif;font-size:28px;font-weight:700;margin-bottom:8px}
.modal-gen{font-size:14px;color:#8B6914;font-weight:500;margin-bottom:4px}
.modal-char{font-size:13px;color:#aaa;margin-bottom:20px}
.modal-spouse-label{font-size:12px;color:#999;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px}
.modal-spouse{font-size:20px;font-family:serif;color:#1A1A1A}
.modal-spouse.none{color:#ccc}
.modal-divider{width:40px;height:2px;background:#D4C5A9;margin:20px auto;border-radius:1px}
.modal-bio{font-size:13px;color:#888;line-height:1.8}
.modal-bio span{color:#1A1A1A;font-weight:500}

/* === Animations === */
.gen-row{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}
.gen-row.visible{opacity:1;transform:translateY(0)}

/* === Responsive === */
@media(max-width:768px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:rgba(250,248,245,0.98);backdrop-filter:blur(12px);padding:16px 24px;gap:16px;border-bottom:1px solid rgba(0,0,0,0.06)}
  .hero-stats{gap:24px}
  .stat-num{font-size:28px}
  .beifen-item{padding:0 14px}
  .beifen-char{font-size:28px}
  section{padding:60px 16px}
  .modal{padding:24px;max-width:340px}
}
@media(max-width:480px){
  .hero-content h1{letter-spacing:4px}
  .person-card{padding:8px 10px;min-width:70px}
  .person-card .p-name{font-size:13px}
}

/* === Connection Lines === */
.person-card.has-connection{border-color:#8B6914}
.tree-section .tree-container{position:relative}

.conn-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;}
.person-card{margin-right:24px}
.p-name{letter-spacing:0;line-height:1.1;font-size:14px}
.p-spouse{font-size:11px;color:#aaa;margin-top:4px}
.p-spouse-none{font-size:11px;color:#ccc;margin-top:4px;font-style:italic}

/* Beifen hover/click */
.beifen-item{cursor:pointer;transition:transform 0.2s}
.beifen-item:hover{transform:scale(1.15)}
.beifen-item:hover .beifen-char{color:#8B6914}

/* Hero reduced */
.hero{min-height:560px}
.hero-insignia{font-size:60px}

/* Footer email */
.footer-email{font-size:13px;color:rgba(255,255,255,0.5);margin-top:8px}

/* Modal feedback */
.feedback-btn{background:none;border:1px solid #D4C5A9;border-radius:6px;padding:6px 16px;font-size:13px;color:#8B6914;cursor:pointer;font-family:inherit;margin-top:12px}
.feedback-btn:hover{background:#8B6914;color:#fff}

/* Tighter spacing */
.gen-row{margin-bottom:20px}
section{padding:60px 24px}
.gen-header{margin-bottom:12px}
.gen-members{gap:6px}


/* Hero floating 篆体 characters */
.hero{position:relative;overflow:hidden}
.hero-floating{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;font-family:"STKaiti","KaiTi","楷体",serif}
.float-char{position:absolute;font-size:clamp(42px,5.6vw,56px);color:#8B6914;opacity:0.12;animation:floatUp 8s linear infinite;user-select:none;font-family:'STZhuan','华文篆书','KaiTi','楷体','LiSu','隶书',serif;pointer-events:none}
@keyframes floatUp{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:0.1}50%{opacity:0.08}90%{opacity:0.1}100%{transform:translateY(-20vh) rotate(10deg);opacity:0}}
.float-char:nth-child(3n){font-size:49px}.float-char:nth-child(3n+1){font-size:42px}.float-char:nth-child(3n+2){font-size:56px}

/* Password button hover */
#pwBtn:hover{background:#8B6914;color:#fff!important}

/* Footer email */
.footer-email{font-size:13px;color:rgba(255,255,255,0.5);margin-top:8px}

/* Card spacing for vertical names */
.person-card{padding:8px 6px;min-width:36px}
.p-name{font-size:14px;line-height:1.4;display:block}

/* Reduced spacing */
section{padding:70px 24px}
.gen-row{margin-bottom:32px}
.gen-header{margin-bottom:16px}
.gen-members{gap:10px}
.hero{min-height:560px;padding:108px 20px 72px}
.hero-content h1{font-size:clamp(36px,6vw,60px)}
.hero-stats{gap:30px}
.stat-num{font-size:28px}

.beifen-section{text-align:center}

.p-spouse,.p-spouse-none{display:none}
.p-candle{display:block;font-size:16px;margin-top:4px;cursor:pointer;animation:candleFlick 1.8s ease-in-out infinite;text-align:center;user-select:none;line-height:1}
@keyframes candleFlick{0%,100%{opacity:1;transform:scale(1)}20%{opacity:0.5;transform:scale(0.95)}40%{opacity:0.9;transform:scale(1.02)}60%{opacity:0.4;transform:scale(0.97)}80%{opacity:0.8;transform:scale(1)}}

.card-group{display:flex;flex-direction:column;align-items:center}
.card-group .person-card{width:80px}
.candle-wrap{text-align:center;margin-top:2px;width:80px}
.p-candle{font-size:16px;cursor:pointer;animation:candleFlick 1.8s ease-in-out infinite;display:inline-block;line-height:1}
@keyframes candleFlick{0%,100%{opacity:1;transform:scale(1)}20%{opacity:0.5;transform:scale(0.95)}40%{opacity:0.9;transform:scale(1.02)}60%{opacity:0.4;transform:scale(0.97)}80%{opacity:0.8;transform:scale(1)}}
.modal-content{text-align:left}
.modal-field{display:flex;padding:8px 0;border-bottom:1px solid #f0f0f0;align-items:flex-start}
.modal-field:last-child{border-bottom:none}
.modal-label{font-size:14px;color:#888;min-width:80px;flex-shrink:0}
.modal-value{font-size:14px;color:#1A1A1A;flex:1}
.modal-biography .modal-value{line-height:1.8;white-space:pre-wrap;word-break:break-word}

/* New page additions: reuse the existing visual system without changing its tokens. */
.intro-heading{text-align:center;margin-bottom:42px}
.intro-heading .section-label{font-family:"FangSong","STFangsong","仿宋",serif;color:#9B865B}
.intro-heading h2{position:relative;margin-bottom:0;font-family:"STKaiti","KaiTi","楷体",serif;font-weight:600;letter-spacing:.18em}
.intro-heading h2::after{content:"";display:block;width:52px;height:1px;margin:16px auto 0;background:#B8A276}
.source-copy{max-width:880px;margin:0 auto;padding:38px 52px;color:#342F28;background:#FFFDF9;border-top:1px solid #D8CBAF;border-bottom:1px solid #D8CBAF;font-family:"Songti SC","STSong","SimSun","宋体",serif;font-size:17px;line-height:2.15;letter-spacing:.035em;text-align:justify;text-justify:inter-ideograph}
.source-copy>p{margin-bottom:24px;text-indent:2em}
.source-copy>p:first-child::first-letter{font-family:"STKaiti","KaiTi","楷体",serif;font-size:1.8em;font-weight:600;color:#8B6914;line-height:1}
.source-copy>p:last-child{margin-bottom:0}
.source-copy .source-wish{margin-top:30px;padding-top:22px;border-top:1px solid #D8CBAF;font-family:"FangSong","STFangsong","仿宋",serif;font-weight:600;color:#5E4B26}
.source-teaching{position:relative;margin:28px 0 30px;padding:26px 32px 20px;background:#FAF6ED;border-left:3px solid #B39A65}
.source-teaching::before{content:"家训";position:absolute;top:-15px;left:26px;padding:2px 12px;background:#8B6914;color:#fff;font-family:"STKaiti","KaiTi","楷体",serif;font-size:14px;letter-spacing:.2em}
.source-teaching>p:first-child{margin-bottom:16px;text-indent:2em}
.source-copy .source-principle{padding-left:2em;text-indent:-2em;margin:10px 0;font-family:"FangSong","STFangsong","仿宋",serif;font-size:16px;line-height:2}
.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.document-card{display:block;overflow:hidden;background:#fff;border:1px solid #EDE8E0;border-radius:12px;color:inherit;text-decoration:none;transition:all .25s}
.document-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.05);border-color:#D4C5A9}
.document-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top}
.document-meta{display:flex;flex-direction:column;padding:14px;background:linear-gradient(135deg,#FAF8F5,#F0E8D8)}
.document-meta strong{font-size:14px;color:#8B6914}.document-meta span{font-size:12px;color:#888;margin-top:2px}
.beifen-section{text-align:center}
.beifen-scroll{display:block;width:100%}
.beifen-track{margin:0 auto}
.beifen-item{border:0;background:transparent;font-family:inherit}
.search-status{text-align:center;color:#8B6914;font-size:13px;margin:-30px 0 24px}
.empty-state{text-align:center;padding:48px 16px;color:#888}
.data-loading,.data-error{display:block;width:100%;padding:28px;text-align:center;color:#8B7A59;font-size:14px;white-space:nowrap}
.data-error{color:#9A4A3A}
.modal-input{width:100%;margin:10px 0 4px;padding:11px;border:1px solid #D4C5A9;border-radius:8px;font:inherit;text-align:center;outline:none}
.modal-input:focus{border-color:#8B6914;box-shadow:0 0 0 3px rgba(139,105,20,.1)}
.modal-submit{display:block;margin:16px auto 0;padding:9px 28px;border:0;border-radius:8px;background:#8B6914;color:#fff;font:inherit;cursor:pointer}
.form-error{min-height:20px;color:#A33;font-size:12px;text-align:center}
@media(max-width:768px){.document-grid{grid-template-columns:1fr}.source-copy{padding:28px 20px;font-size:15px;line-height:2}.source-teaching{padding:24px 18px 16px}.source-copy .source-principle{font-size:14px}.document-card img{aspect-ratio:16/10}.search-status{margin-top:-20px}}

/* Center and enlarge genealogy names while preserving the existing cards. */
.gen-members{align-items:stretch}
.person-card{width:52px;min-width:52px;min-height:112px;margin-right:0;padding:10px 4px;text-align:center}
.person-card .p-name,.p-name{width:100%;font-size:21px;line-height:1.28;text-align:center;letter-spacing:0}
@media(max-width:480px){.beifen-track{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));row-gap:16px}.beifen-item{padding:0 8px}.person-card{width:44px;min-width:44px;min-height:96px;padding:9px 3px}.person-card .p-name,.p-name{font-size:18px}}

/* External reference cards */
.references-section{background:#F4EFE5;text-align:center}
.combined-references{padding-top:84px;padding-bottom:92px}
.reference-group-title{max-width:1000px;margin:8px auto 28px;color:#4A4032;font-family:"STKaiti","KaiTi","楷体",serif;font-size:24px;font-weight:600;letter-spacing:.12em;text-align:left}
.reference-group-title::after{content:"";display:block;width:100%;height:1px;margin-top:12px;background:#D8CBAF}
.network-group-title{margin-top:62px}
.merged-document-grid{max-width:1000px;margin-bottom:26px}
.document-annotation{max-width:1000px;margin:26px auto 30px;padding:28px 32px;background:#FFFDF9;border-left:3px solid #A98A45;color:#494035;font-family:"FangSong","STFangsong","仿宋",serif;font-size:16px;line-height:2;text-align:justify}
.document-annotation-title{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;text-align:left}
.document-annotation-title span{padding:3px 9px;background:#8B6914;color:#fff;font-size:12px;letter-spacing:.12em}
.document-annotation-title strong{font-family:"STKaiti","KaiTi","楷体",serif;font-size:20px;font-weight:600}
.document-annotation p{margin:0 0 10px;text-indent:2em}.document-annotation p:last-child{margin-bottom:0}.document-annotation p strong{color:#765A18}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1000px;margin:0 auto}
.reference-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:-16px auto 30px}
.reference-index a{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:rgba(255,255,255,.72);border:1px solid #DED2BC;border-radius:9px;color:#2E2921;text-decoration:none;transition:border-color .2s,background .2s}
.reference-index a:hover{background:#fff;border-color:#B9A375}
.reference-index span{color:#978B78;font-size:12px;letter-spacing:.08em}
.reference-index strong{font-family:"STKaiti","KaiTi","楷体",serif;font-size:18px;font-weight:600}
.reference-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;background:#fff;border:1px solid #E2D7C2;border-radius:12px;color:#28231C;text-align:left;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.reference-card:hover{transform:translateY(-3px);border-color:#BDAA80;box-shadow:0 12px 30px rgba(70,55,28,.08)}
.reference-card img{display:block;width:100%;height:220px;object-fit:cover;object-position:top;background:#F8F5EF}
.reference-body{display:flex;padding:18px 20px 20px;flex-direction:column;gap:5px}
.reference-body strong{font-family:"STKaiti","KaiTi","楷体",serif;font-size:18px;font-weight:600}
.reference-body small{overflow:hidden;color:#918777;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.reference-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);overflow:hidden;max-width:1000px;margin:28px auto 0;background:#fff;border:1px solid #D8CBAF;border-radius:12px;color:#302A21;text-align:left;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.reference-feature:hover{border-color:#B49A61;box-shadow:0 14px 34px rgba(70,55,28,.09)}
.reference-feature>img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center}
.reference-feature-copy{display:flex;padding:30px 28px;flex-direction:column;justify-content:center}
.reference-feature-meta{margin-bottom:10px;color:#927B4A;font-size:12px;letter-spacing:.08em}
.reference-feature-copy>strong{margin-bottom:16px;font-family:"STKaiti","KaiTi","楷体",serif;font-size:24px;font-weight:600}
.reference-feature-copy>span:not(.reference-feature-meta){color:#554D41;font-family:"FangSong","STFangsong","仿宋",serif;font-size:15px;line-height:1.9;text-align:justify}
.reference-feature-copy>span strong{color:#7A5C18;font-weight:700}
.reference-feature-copy small{margin-top:18px;color:#917F5D;font-size:12px}
@media(max-width:768px){.beifen-track{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.reference-group-title{font-size:21px}.reference-index{grid-template-columns:1fr}.reference-grid,.merged-document-grid{grid-template-columns:1fr;max-width:520px}.document-annotation{padding:24px 20px;font-size:15px}.document-annotation-title{align-items:flex-start;flex-direction:column;gap:8px}.reference-card{display:grid;grid-template-columns:120px minmax(0,1fr)}.reference-card img{height:128px}.reference-body{justify-content:center}.reference-feature{grid-template-columns:1fr;max-width:520px}.reference-feature>img{height:auto;min-height:0}.reference-feature-copy{padding:24px 22px}}

/* Closing editorial note */
.editor-note-section{background:#FFFDF9;padding:84px 24px 88px}
.editor-note-inner{max-width:880px;margin:0 auto;text-align:center}
.editor-note-inner h2{position:relative;margin-bottom:38px;font-family:"STKaiti","KaiTi","楷体",serif;font-weight:600;letter-spacing:.18em;padding-left:.18em}
.editor-note-inner h2::after{content:"";display:block;width:48px;height:1px;margin:16px auto 0;background:#B8A276}
.editor-note-copy{padding:36px 44px;border-top:1px solid #D8CBAF;border-bottom:1px solid #D8CBAF;color:#40392F;font-family:"FangSong","STFangsong","仿宋",serif;font-size:17px;line-height:2.15;letter-spacing:.035em;text-align:justify;text-justify:inter-ideograph}
.editor-note-copy p{margin:0 0 22px;text-indent:2em}
.editor-note-copy p:last-child{margin-bottom:0}
.editor-contact{display:block;margin-top:20px;color:#765B1B;font-family:"Songti SC","STSong","SimSun","宋体",serif;font-size:15px;font-weight:600;letter-spacing:.06em;text-align:right;text-indent:0}
@media(max-width:768px){.editor-note-section{padding:64px 18px 68px}.editor-note-inner h2{margin-bottom:30px}.editor-note-copy{padding:28px 20px;font-size:15px;line-height:2}.editor-note-copy p{margin-bottom:18px}.editor-contact{font-size:14px;text-align:left}}

/* Larger generation navigation below the family-tree heading. */
.tree-controls .gen-jump{gap:4px}
.tree-controls .gen-jump .gen-btn{padding:6px 10px;font-size:12px;border-radius:6px}
.tree-controls .password-trigger{padding:10px 18px;font-size:16px}
.history-documents{text-align:center}
.history-documents .document-meta{text-align:left}
@media(max-width:768px){.hero{min-height:520px;padding:92px 18px 56px}.hero-content h1{font-size:clamp(42px,13vw,58px)}.hero-sub{font-size:14px;letter-spacing:.14em}.hero-desc{margin-bottom:38px}.hero-stats{width:100%;padding-top:20px}.stat{min-height:78px}.stat-num{font-size:28px}.stat+.stat{border-left-color:rgba(139,105,20,.18)}.tree-controls .gen-jump .gen-btn{padding:6px 9px;font-size:12px}.stat-origin{min-width:0}.stat-num.stat-place{font-size:22px}.stat-place-note{font-size:11px}}
@media(max-width:480px){.hero{min-height:500px}.hero-stats{gap:0}.stat-num{font-size:25px}.stat-label{font-size:11px;letter-spacing:.14em;padding-left:.14em}.stat-place-note{font-size:10px}}

/* 2026 unified manuscript system — option 1 */
:root{--paper:#f6f1e7;--paper-light:#fbf8f0;--ink:#25251f;--muted:#797569;--pine:#263b32;--pine-soft:#66766a;--ochre:#9a7627;--rule:#d8ccb3;--red:#8d392e}
body{background:var(--paper);color:var(--ink);font-family:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC","SimSun",serif;line-height:1.85}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("reference-1.png");background-size:700px auto;background-position:top right;background-repeat:no-repeat;opacity:.012;filter:sepia(1)}
#nav{height:58px;background:rgba(38,59,50,.97);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.nav-inner{max-width:1380px;height:58px}.nav-logo{width:auto;height:auto;padding:0;background:none;border-radius:0;color:#eadcb9;font-family:"STKaiti","KaiTi","FangSong",serif;font-size:21px;font-weight:500;letter-spacing:.13em}
.nav-links{gap:28px}.nav-links a{color:rgba(255,255,255,.74);font-family:"FangSong","STFangsong",serif;font-size:15px;letter-spacing:.08em}.nav-links a:hover{color:#f1d997}
.reading-tools{display:flex;gap:1px;margin-left:24px;border:1px solid rgba(234,220,185,.34)}.reading-tools button{min-width:48px;padding:6px 10px;border:0;background:transparent;color:#e8ddc2;font:14px "FangSong","STFangsong",serif;cursor:pointer}.reading-tools button+button{border-left:1px solid rgba(234,220,185,.28)}.reading-tools button:hover,.reading-tools button[aria-pressed="true"]{background:#9a7627;color:#fff}
.hero{min-height:470px;padding:112px 24px 58px;border-bottom:1px solid var(--rule)}.hero-bg{background:var(--paper)}.hero-bg::before{background:radial-gradient(circle at 18% 20%,rgba(154,118,39,.08),transparent 28%),radial-gradient(circle at 82% 70%,rgba(38,59,50,.05),transparent 28%)}
.hero-content{max-width:980px}.hero-kicker{margin-bottom:8px;color:var(--ochre);font:14px "FangSong","STFangsong",serif;letter-spacing:.34em}.hero-content h1{margin-bottom:16px;padding-left:.12em;color:#181b18;font:500 clamp(50px,6vw,72px)/1.15 "STKaiti","KaiTi","FangSong",serif;letter-spacing:.12em}.hero-sub{margin-bottom:12px;color:var(--ochre);font-size:18px;letter-spacing:.22em}.hero-desc{margin-bottom:32px;color:var(--muted)}
.hero-stats{max-width:620px;padding-top:18px}.stat{min-height:72px}.stat-num{font-size:28px;font-weight:500}.stat-label{margin-top:7px}.float-char{font-size:34px!important;color:var(--ochre);opacity:.07}
section{padding:82px 24px}section h2{font:500 clamp(30px,3.6vw,42px)/1.3 "STKaiti","KaiTi","FangSong",serif;letter-spacing:.12em}.section-label{color:#9a855d;font:12px "FangSong","STFangsong",serif;letter-spacing:.22em}
.history-section{background:var(--paper-light)}.intro-heading{margin-bottom:34px}.source-copy{max-width:900px;padding:44px 58px;background:transparent;border-color:var(--rule);font-size:17px;line-height:2.15}.source-copy>p:first-child::first-letter{font-size:1em;font-weight:400;color:inherit}.source-teaching{background:rgba(154,118,39,.055);border-left:2px solid var(--ochre)}
.vertical-reading .source-copy{display:block;overflow-x:auto;max-width:1180px;height:680px;padding:44px 54px;writing-mode:vertical-rl;text-orientation:upright;line-height:2.2}.vertical-reading .source-copy p{margin:0 0 0 1.8em;text-indent:2em}.vertical-reading .source-teaching{margin:0 0 0 2em;padding:28px 24px;border-left:0;border-top:2px solid var(--ochre)}
.beifen-section{background:var(--paper);border-block:1px solid var(--rule)}.beifen-track{grid-template-columns:repeat(10,minmax(72px,1fr));max-width:1280px;gap:18px 0}.beifen-item{border:0;background:transparent}.beifen-item:hover{transform:translateY(-2px)}.beifen-gen{display:block;color:#958c7d}.beifen-char{font:500 29px "STKaiti","KaiTi",serif}.beifen-item:hover .beifen-char{color:var(--ochre)}
.tree-section{background:var(--paper-light)}.tree-controls{max-width:1280px;margin:0 auto 28px;padding:16px 0;border-block:1px solid var(--rule)}.search-box input{border:1px solid var(--rule);border-radius:2px;background:transparent}.gen-btn{border:1px solid var(--rule);border-radius:2px;background:transparent}.gen-btn:hover{border-color:var(--ochre);color:var(--ochre)}.tree-container{max-width:1280px;padding:16px 0}.gen-row{margin-bottom:34px;padding:0 16px}.gen-header{width:auto;border:0;background:transparent;text-align:center;font-family:inherit;cursor:default}.gen-header h3{font:500 18px "STKaiti","KaiTi",serif}.gen-header .gen-line{height:1px;background:var(--ochre)}.gen-members{gap:9px}.person-card{width:54px;min-width:54px;min-height:104px;border:1px solid #cfc4ae;border-radius:2px;background:rgba(255,255,255,.34);box-shadow:none}.person-card:hover{transform:translateY(-2px);border-color:var(--ochre);box-shadow:0 6px 16px rgba(69,55,28,.06)}.person-card .p-name,.p-name{font:500 18px/1.28 "STKaiti","KaiTi","FangSong",serif}.gen-connector{height:28px;background:var(--ochre);opacity:.62}.direct-line .person-card{border-width:2px;border-color:#8b713d}
.archive-section{background:var(--paper);border-block:1px solid var(--rule)}.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;max-width:1280px;margin:0 auto 28px}.archive-heading h2{margin:0}.archive-heading>p{max-width:420px;color:var(--muted);font-size:14px;text-align:right}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1280px;margin:auto;background:var(--rule);border:1px solid var(--rule)}.archive-item{position:relative;display:block;min-width:0;background:var(--paper-light);color:var(--ink);text-decoration:none}.archive-item img{display:block;width:100%;height:210px;object-fit:cover;object-position:top;filter:sepia(.2) saturate(.75)}.archive-item span{display:flex;padding:14px 16px;flex-direction:column}.archive-item strong{font:500 18px "STKaiti","KaiTi",serif}.archive-item small{color:var(--muted);font-size:12px}.archive-item:hover img{filter:sepia(0) saturate(.9)}
.references-section{background:#eee7d9}.document-card,.reference-card,.reference-feature{border-radius:2px;box-shadow:none}.document-meta{background:#f4efe5}.document-annotation{background:rgba(255,255,255,.45)}
.editor-note-section{background:var(--paper-light)}.editor-note-copy{background:transparent}.footer{background:var(--pine);padding:48px 24px}.footer-mono{display:none}
.modal-overlay{background:rgba(20,26,23,.58)}.modal{max-width:560px;max-height:86vh;overflow:auto;padding:34px 40px;border:1px solid #c8b998;border-radius:2px;background:var(--paper-light);box-shadow:0 20px 70px rgba(0,0,0,.24)}.person-sheet-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;padding:0 34px 15px 0;border-bottom:1px solid var(--rule)}.person-sheet-heading span{color:var(--ochre);font-size:13px}.person-sheet-heading strong{font:500 23px "STKaiti","KaiTi",serif;letter-spacing:.08em}.modal-field{padding:9px 0;border-color:#e0d7c5}.modal-label{min-width:112px;color:#847b6d}.modal-value{font-size:15px}.modal-close{border-radius:0}.modal-submit{border-radius:2px;background:var(--pine)}
@media(max-width:1024px){.nav-links{gap:16px}.nav-links a{font-size:13px}.beifen-track{grid-template-columns:repeat(5,minmax(68px,1fr))}.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){#nav{height:56px}.nav-inner{height:56px;padding:0 16px}.nav-logo{font-size:18px}.nav-toggle{display:block;color:#eadcb9;font-size:0}.nav-toggle::after{content:"目录";font:14px "FangSong",serif}.reading-tools{margin-left:auto;margin-right:8px}.reading-tools button{min-width:42px;padding:5px 7px}.nav-links.open{top:56px;background:rgba(38,59,50,.98);border-color:rgba(255,255,255,.1)}.hero{min-height:450px;padding:100px 18px 54px}.hero-content h1{font-size:46px}.hero-sub{font-size:14px;letter-spacing:.12em}.hero-desc{font-size:14px}.hero-stats{gap:0}.source-copy{padding:30px 18px;font-size:15.5px;line-height:2}.vertical-reading .source-copy{height:560px;padding:28px 20px}.beifen-track{grid-template-columns:repeat(4,minmax(64px,1fr));row-gap:22px}.beifen-item::after{display:none}.tree-controls{align-items:stretch;flex-direction:column}.search-box input{width:100%}.gen-jump{display:none}.gen-header{display:grid;width:100%;grid-template-columns:1fr auto;align-items:center;padding:12px 2px;text-align:left;cursor:pointer}.gen-header .gen-info{text-align:right}.gen-header .gen-line{grid-column:1/-1;width:100%;margin-top:8px}.gen-members{padding:12px 0 18px}.gen-members.mobile-collapsed{display:none}.gen-row{margin-bottom:4px;padding:0;border-bottom:1px solid var(--rule)}.gen-connector{display:none}.person-card{width:48px;min-width:48px;min-height:90px}.person-card .p-name,.p-name{font-size:17px}.archive-heading{align-items:flex-start;flex-direction:column;gap:10px}.archive-heading>p{text-align:left}.archive-grid{grid-template-columns:1fr 1fr}.archive-item img{height:150px}.modal{padding:30px 22px}.modal-label{min-width:96px}.references-section{padding-inline:16px}}
@media(max-width:420px){.reading-tools button{min-width:38px;font-size:12px}.hero-content h1{font-size:40px}.hero-stats{width:100%}.stat-num{font-size:23px}.stat-num.stat-place{font-size:19px}.beifen-track{grid-template-columns:repeat(4,1fr)}.archive-grid{grid-template-columns:1fr}.archive-item{display:grid;grid-template-columns:120px 1fr}.archive-item img{height:110px}.archive-item span{justify-content:center}}

/* Scoped content revisions */
.ancestor-seal{display:inline-block;width:34px;height:34px;margin-left:8px;vertical-align:middle;object-fit:cover;mix-blend-mode:multiply}
.source-copy,.source-copy .source-wish,.source-copy .source-principle{font-family:"STKaiti","KaiTi","FangSong",serif}
.source-copy{letter-spacing:0;text-align:justify;text-justify:inter-ideograph}
.source-copy>p:first-child{text-indent:0}
.opening-character{display:inline-block;margin:0 .16em 0 0;font-family:inherit;font-size:2.15em;font-weight:400;line-height:.9;vertical-align:-.08em;color:var(--ink)}
.editor-note-copy{font-size:20.4px}
.editor-contact-line{margin-top:30px!important;padding-top:20px;border-top:1px solid var(--rule);text-align:right;text-indent:0!important}
.editor-contact-line a{color:var(--ochre);text-decoration:none;border-bottom:1px solid rgba(154,118,39,.45)}
@media(max-width:700px){.ancestor-seal{width:28px;height:28px;margin-left:4px}.editor-note-copy{font-size:18px}.editor-contact-line{text-align:left}}

.source-note-ref{position:relative;top:-.35em;margin-left:.12em;color:#8b6914;font-family:"Songti SC","STSong",serif;font-size:.58em;font-weight:600;line-height:0;vertical-align:super}
.editor-footnote{max-width:880px;margin:18px auto 0;color:#786f62;font-family:"FangSong","STFangsong","Songti SC",serif;font-size:10.2px;line-height:1.9;letter-spacing:.015em;text-align:justify}
.editor-footnote>span{margin-right:.35em;color:#8b6914;font-weight:700}.editor-footnote strong{color:#66501f;font-weight:700}
@media(max-width:700px){.editor-footnote{margin-top:14px;font-size:9px;line-height:1.9}}

/* Distinguish names recorded as 聂门 without over-emphasizing them. */
.person-card.in-law-name{border-style:dashed;background:rgba(154,118,39,.035)}
.person-card.in-law-name .p-name{color:#6f675b;font-family:"FangSong","STFangsong","STSong",serif;font-size:16px;font-weight:400}

/* Genealogy name annotations */
.person-card.unknown-birth::after{content:"*";position:absolute;top:3px;right:5px;color:#9a7627;font:400 13px/1 "Songti SC","STSong",serif}
.p-name{display:flex!important;flex-direction:column;align-items:center;justify-content:center}
.p-name>span{display:block;min-height:1.28em}
.p-name .name-spacer{height:1.28em;color:transparent;user-select:none}

/* Pending-generation module */
.pending-generation{margin-top:54px;padding-top:34px;border-top:1px solid var(--rule)}
.pending-header{display:block;width:100%}
.pending-content{display:flex;justify-content:center;width:100%;padding:18px 0 8px}
.pending-unlock{padding:11px 22px;color:var(--ochre)}
.pending-person{border-style:dashed}

/* Integrated regional evidence within historical references */
.tree-guidance{margin-bottom:8px;text-align:center}
.tree-caveat{margin:0 0 40px;text-align:center;color:#765b1b;font-size:14px;letter-spacing:.02em}
.regional-evidence{max-width:1000px;margin:42px auto 48px;padding-top:34px;border-top:1px solid var(--rule);text-align:left}
.regional-evidence-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}.regional-evidence-heading span{color:#966f35;font-size:12px;letter-spacing:.18em}.regional-evidence-heading h3{margin:0;font:500 24px "STKaiti","KaiTi","FangSong",serif;letter-spacing:.1em;color:#40372b}
.regional-source{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:#807465;font-size:12px}.regional-source span{padding-right:12px;border-right:1px solid #c8b99e;letter-spacing:.12em}.regional-source a{color:#6e5938;text-decoration:none}.regional-source a:hover{color:#923a2d;text-decoration:underline}.map-source{justify-content:flex-end;margin-top:14px}.extension-heading{margin-top:42px}
.regional-evidence-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.regional-evidence figure{grid-column:span 6;margin:0;min-width:0;overflow:hidden;background:rgba(255,255,255,.48);border:1px solid #d8ccb3;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.regional-evidence figure:nth-child(3n){grid-column:span 7}.regional-evidence figure:nth-child(3n+1):not(:first-child){grid-column:span 5}.regional-evidence figure:hover{transform:translateY(-3px);border-color:#b9a47d;box-shadow:0 12px 28px rgba(73,56,31,.1)}
.regional-image{height:230px;overflow:hidden;background:#d8c6a4}.regional-evidence img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transition:transform .55s ease,filter .4s ease;filter:sepia(.08) contrast(1.03)}.regional-evidence figure:hover img{transform:scale(1.1);filter:sepia(0) contrast(1.08)}
.regional-evidence figcaption{padding:14px 16px 16px;color:#554d41;font-family:"FangSong","STFangsong","STSong",serif;font-size:14px;line-height:1.8;text-align:justify}.regional-evidence figcaption strong{display:block;margin-bottom:4px;color:#6f301f;font:600 17px "STKaiti","KaiTi","FangSong",serif;letter-spacing:.08em}
.network-group-title+.reference-grid{gap:12px}
.network-group-title+.reference-grid .reference-card{display:block;border-radius:2px;background:rgba(255,255,255,.58)}
.network-group-title+.reference-grid .reference-body{padding:18px 20px}
@media(max-width:700px){
  .tree-guidance{max-width:330px;margin-left:auto;margin-right:auto;line-height:1.8}
  .tree-caveat{max-width:330px;margin:0 auto 30px;font-size:13px;line-height:1.7}
  .regional-evidence{margin-top:32px;padding-top:28px}
  .regional-evidence-heading{justify-content:center;align-items:center;flex-direction:column;gap:5px}.regional-evidence-heading h3{font-size:21px;line-height:1.5;text-align:center}.regional-source,.map-source{justify-content:center;flex-wrap:wrap;text-align:center}.extension-heading{margin-top:34px}
  .regional-evidence-grid{grid-template-columns:1fr;gap:18px}.regional-evidence figure,.regional-evidence figure:nth-child(3n),.regional-evidence figure:nth-child(3n+1):not(:first-child){grid-column:auto}
  .regional-image{height:210px}
  .regional-evidence figcaption{font-size:13px;line-height:1.75}
  .network-group-title+.reference-grid .reference-card{display:block;grid-template-columns:none}
}

/* Secure access dialog: restrained, readable and touch-friendly. */
body.modal-open{overflow:hidden}
.modal-close{top:12px;right:12px;width:44px;height:44px;color:#6f6a61}
.password-panel{max-width:400px;margin:0 auto;padding-top:6px;text-align:left}
.password-panel .modal-name{text-align:center;font:500 25px "STKaiti","KaiTi",serif;letter-spacing:.08em}
.password-help{margin:0 0 20px;color:#766e61;font-size:14px;line-height:1.7;text-align:center}
.password-label{display:block;margin-bottom:8px;color:#4b463f;font-size:14px}
.password-input-row{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:8px;align-items:stretch}
.password-input-row .modal-input{width:100%;min-height:46px;margin:0;padding:11px 12px;border-color:#b9aa8c;border-radius:2px;background:#fffdf8;text-align:left}
.password-visibility{min-height:46px;border:1px solid #b9aa8c;border-radius:2px;background:#f3eee3;color:#49443d;font:inherit;cursor:pointer}
.modal-submit{width:100%;min-height:46px;margin-top:18px;padding:10px 28px}
.modal-submit:disabled,.password-visibility:disabled{cursor:wait;opacity:.55}
.form-error{min-height:22px;margin:8px 0 0;color:#9b3028;font-size:13px;line-height:1.6}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(139,105,20,.38);outline-offset:3px}
@media(max-width:480px){
  .modal-overlay{align-items:flex-end}
  .modal{width:100%;max-height:88vh;margin:0;border-width:1px 0 0;padding:28px 18px 22px}
  .password-input-row{grid-template-columns:minmax(0,1fr) 60px}
  .person-sheet-heading{padding-right:36px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-floating{display:none}
}

/* Historical sources — unified archival plate layout (2 + 3 + 3). */
.references-section .merged-document-grid{
  gap:16px;
  margin-bottom:30px;
  padding:0;
  background:transparent;
}
.references-section .document-card{
  display:flex;
  min-height:0;
  flex-direction:column-reverse;
  border:1px solid #cfc1a6;
  border-radius:0;
  background:rgba(255,253,248,.62);
  box-shadow:none;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.references-section .document-card:hover{
  transform:translateY(-3px);
  border-color:#a98d56;
  box-shadow:0 10px 24px rgba(69,52,27,.08);
}
.references-section .document-card img{
  width:100%;
  height:210px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 24%;
  background:#cfba91;
  filter:sepia(.12) saturate(.9) contrast(1.03);
  transition:transform .5s ease,filter .4s ease;
}
.references-section .document-card:hover img{transform:scale(1.045);filter:sepia(0) saturate(1) contrast(1.06)}
.references-section .document-meta{
  min-height:66px;
  box-sizing:border-box;
  justify-content:center;
  padding:12px 15px;
  border-top:1px solid #d8cbb3;
  background:rgba(255,253,248,.92);
}
.references-section .document-meta strong{color:#493e30;font:500 17px "STKaiti","KaiTi","FangSong",serif}
.references-section .document-meta span{color:#887b67;font-size:11px;letter-spacing:.04em}
.references-section .reference-feature{
  grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr);
  min-height:330px;
  border:1px solid #cfc1a6;
  border-radius:0;
  background:rgba(255,253,248,.65);
  box-shadow:none;
}
.references-section .reference-feature>img{
  height:330px;
  min-height:330px;
  object-fit:cover;
  object-position:center;
  background:#cfba91;
  filter:sepia(.1) saturate(.92) contrast(1.04);
  transition:transform .55s ease,filter .4s ease;
}
.references-section .reference-feature:hover>img{transform:scale(1.035);filter:sepia(0) saturate(1) contrast(1.07)}
.references-section .reference-feature-copy{padding:26px 28px;border-left:1px solid #d8cbb3}
.regional-evidence{max-width:1000px;margin-top:48px;padding-top:38px}
.regional-evidence-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.regional-evidence figure,
.regional-evidence figure:nth-child(3n),
.regional-evidence figure:nth-child(3n+1):not(:first-child){
  display:grid;
  grid-column:span 2;
  grid-template-rows:218px minmax(92px,auto);
  border:1px solid #cfc1a6;
  border-radius:0;
  background:rgba(255,253,248,.62);
  box-shadow:none;
}
.origin-grid figure:nth-child(-n+2){
  grid-column:span 3;
  grid-template-rows:255px minmax(88px,auto);
}
.regional-image{height:auto;min-height:0;background:#cfba91}
.regional-evidence img{transform:none;object-position:center;filter:sepia(.1) saturate(.92) contrast(1.04)}
.regional-evidence figure:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(69,52,27,.08)}
.regional-evidence figure:hover img{transform:scale(1.055);filter:sepia(0) saturate(1) contrast(1.07)}
.regional-evidence figcaption{
  display:flex;
  min-height:0;
  box-sizing:border-box;
  flex-direction:column;
  justify-content:center;
  padding:14px 16px;
  border-top:1px solid #d8cbb3;
  background:rgba(255,253,248,.94);
  font-size:13px;
  line-height:1.65;
}
.regional-evidence figcaption strong{font-size:16px}
.regional-source{margin-bottom:20px}.map-source{margin-top:16px}.extension-heading{margin-top:46px}
@media(max-width:700px){
  .references-section .merged-document-grid{gap:14px}
  .references-section .document-card{display:grid;grid-template-columns:42% 58%;grid-template-areas:"image meta"}
  .references-section .document-card img{grid-area:image;height:128px}
  .references-section .document-meta{grid-area:meta;min-height:128px;border-top:0;border-left:1px solid #d8cbb3}
  .references-section .reference-feature{grid-template-columns:1fr;min-height:0}
  .references-section .reference-feature>img{height:220px;min-height:220px}
  .references-section .reference-feature-copy{padding:22px 20px;border-top:1px solid #d8cbb3;border-left:0}
  .regional-evidence-grid{grid-template-columns:1fr;gap:15px}
  .regional-evidence figure,.regional-evidence figure:nth-child(3n),.regional-evidence figure:nth-child(3n+1):not(:first-child),.origin-grid figure:nth-child(-n+2){grid-column:auto;grid-template-rows:210px auto}
  .regional-evidence figcaption{min-height:84px}
}
