.timeline-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#111 0%,#232323 48%,#0f0f0f 100%);color:#fff}
.timeline-hero:before{content:"";position:absolute;left:-120px;top:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,104,.24),transparent 66%)}
.timeline-hero:after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(104,174,150,.18),transparent 66%)}
.timeline-hero .container{position:relative;z-index:2}
.timeline-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:center;padding:88px 0 54px}
.timeline-hero-copy h1{margin:14px 0 16px;font-size:clamp(42px,5.6vw,74px);line-height:1.08;letter-spacing:-.04em}
.timeline-hero-copy p{max-width:720px;color:#e2e2e2;font-size:17px;line-height:1.95}
.timeline-hero-copy .eyebrow{color:var(--gold2)}
.timeline-year-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.timeline-year-strip span{display:flex;align-items:center;justify-content:center;padding:14px 10px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(244,210,138,.15);color:#fff;font-weight:800;font-size:14px;backdrop-filter:blur(8px)}
.timeline-hero-card{position:relative;overflow:hidden;border-radius:34px;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(244,210,138,.18);box-shadow:var(--shadow-dark)}
.timeline-hero-card img{display:block;width:100%;height:560px;object-fit:cover;border-radius:24px}
.timeline-hero-note{position:absolute;left:28px;right:28px;bottom:28px;padding:20px 22px;border-radius:22px;background:linear-gradient(180deg,rgba(17,17,17,.18),rgba(17,17,17,.78));border:1px solid rgba(244,210,138,.15);backdrop-filter:blur(8px)}
.timeline-hero-note strong{display:block;color:var(--gold2);font-size:22px;line-height:1.4}
.timeline-hero-note span{display:block;margin-top:8px;color:#f2f2f2;font-size:14px;line-height:1.75;font-weight:700}
.timeline-summary{background:#fff}
.timeline-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.timeline-summary-grid article{padding:28px;border-radius:28px;background:#fbf7ef;border:1px solid #f0e1c3;box-shadow:var(--shadow)}
.timeline-summary-grid strong{display:block;color:#9a6814;font-size:34px;line-height:1.1}
.timeline-summary-grid h3{margin:12px 0 10px;font-size:18px;color:#1f1f1f}
.timeline-summary-grid p{margin:0;color:#6a5d52;font-size:14px;line-height:1.8}

/* ===== 时间轴页高级优化 ===== */
.about-timeline-intro{padding-top:84px;padding-bottom:42px;background:linear-gradient(180deg,#fff 0%,#fcfaf4 100%)}
.about-timeline-intro .intro-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:28px;align-items:stretch}
.about-timeline-intro .intro-copy,.about-timeline-intro .intro-photo{position:relative}
.about-timeline-intro .intro-copy{padding:42px;border-radius:34px;background:linear-gradient(180deg,#fffdf8 0%,#fff 100%);border:1px solid #f0e1c3;box-shadow:var(--shadow)}
.about-timeline-intro .intro-copy:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;border-radius:34px 34px 0 0;background:linear-gradient(90deg,#d8ad5c 0%,#f4d28a 45%,rgba(244,210,138,0) 100%)}
.about-timeline-intro .intro-copy h2{margin:14px 0 18px;font-size:clamp(28px,3.7vw,48px);line-height:1.22;color:#171717;letter-spacing:-.03em}
.about-timeline-intro .intro-copy p:last-child{margin-bottom:0;color:#66584c;font-size:16px;line-height:2}
.about-timeline-intro .intro-photo{overflow:hidden;border-radius:34px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8));border:1px solid #f0e1c3;box-shadow:0 24px 60px rgba(55,35,0,.1)}
.about-timeline-intro .intro-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:24px}
.about-timeline-intro .intro-note{position:absolute;left:32px;right:32px;bottom:30px;padding:22px 24px;border-radius:24px;background:linear-gradient(180deg,rgba(17,17,17,.16),rgba(17,17,17,.76));border:1px solid rgba(244,210,138,.18);backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(0,0,0,.18)}
.about-timeline-intro .intro-note strong{display:block;color:var(--gold2);font-size:24px;line-height:1.45}
.about-timeline-intro .intro-note span{display:block;margin-top:8px;color:#efefef;font-size:14px;line-height:1.85}

.timeline-nav-band{position:sticky;top:76px;z-index:18;padding:16px 0 8px;background:linear-gradient(180deg,rgba(251,247,239,.96) 0%,rgba(251,247,239,.88) 100%);backdrop-filter:blur(14px);border-top:1px solid rgba(240,225,195,.75);border-bottom:1px solid rgba(240,225,195,.8)}
.timeline-nav-band .container{position:relative}
.timeline-anchor-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.timeline-anchor-grid a{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 10px;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fffaf1 100%);border:1px solid #ead8b5;color:#7d633f;font-weight:900;letter-spacing:.04em;box-shadow:0 10px 26px rgba(55,35,0,.06);transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.timeline-anchor-grid a:before{content:"";position:absolute;left:50%;bottom:8px;width:18px;height:3px;border-radius:999px;background:rgba(216,173,92,.0);transform:translateX(-50%);transition:.22s}
.timeline-anchor-grid a:hover{transform:translateY(-4px);background:#171717;color:var(--gold2);border-color:#171717;box-shadow:0 18px 38px rgba(0,0,0,.16)}
.timeline-anchor-grid a:hover:before{background:var(--gold2)}

.timeline-page{position:relative;background:radial-gradient(circle at 20% 0%,rgba(244,210,138,.08),transparent 28%),radial-gradient(circle at 85% 16%,rgba(216,173,92,.08),transparent 24%),linear-gradient(180deg,#fbf7ef 0%,#fffaf3 46%,#fbf7ef 100%)}
.timeline-page .container{position:relative;z-index:1}
.timeline-page:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;border-radius:999px;background:linear-gradient(180deg,rgba(216,173,92,.08),rgba(216,173,92,.48) 14%,rgba(216,173,92,.55) 52%,rgba(216,173,92,.1));transform:translateX(-50%);box-shadow:0 0 0 16px rgba(216,173,92,.045)}
.timeline-page:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:24px;transform:translateX(-50%);background-image:radial-gradient(circle,rgba(216,173,92,.2) 0,rgba(216,173,92,.2) 2px,transparent 2.5px);background-size:24px 34px;opacity:.28;pointer-events:none}
.timeline-year-block{position:relative;margin:0 auto 52px;display:grid;grid-template-columns:1fr 108px 1fr;gap:32px;align-items:start}
.timeline-year-block:before{content:"";position:absolute;left:calc(50% - 28px);top:44px;width:56px;height:1px;background:linear-gradient(90deg,rgba(216,173,92,0),rgba(216,173,92,.65),rgba(216,173,92,0));opacity:.7}
.timeline-year-block .year-pin{position:relative;z-index:2;display:grid;place-items:center;width:108px;height:108px;border-radius:34px;background:linear-gradient(180deg,#202020 0%,#101010 100%);color:var(--gold2);font-size:26px;font-weight:900;letter-spacing:.04em;box-shadow:0 24px 54px rgba(0,0,0,.18),0 0 0 8px rgba(255,255,255,.64),0 0 0 10px rgba(216,173,92,.12)}
.timeline-year-block .year-pin:before{content:"";position:absolute;inset:1px;border-radius:33px;border:1px solid rgba(244,210,138,.16)}
.timeline-year-block .year-card,.timeline-year-block .entries-card{padding:34px;border-radius:32px;border:1px solid #f0e1c3;background:#fff;box-shadow:0 18px 50px rgba(55,35,0,.08);position:relative;overflow:hidden}
.timeline-year-block .year-card:before,.timeline-year-block .entries-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#d8ad5c 0%,#f4d28a 42%,rgba(244,210,138,0) 100%)}
.timeline-year-block .year-card{position:sticky;top:154px;background:linear-gradient(180deg,#fffdf8 0%,#fff 100%)}
.timeline-year-block .year-card h2{margin:0 0 14px;font-size:clamp(28px,3.2vw,38px);color:#21150d;line-height:1.2;letter-spacing:-.03em}
.timeline-year-block .year-card p{margin:0;color:#625449;line-height:1.95;font-size:15px}
.timeline-year-block .year-card .year-tag{display:inline-flex;margin-bottom:14px;padding:8px 14px;border-radius:999px;background:#fff6e2;color:#9a6814;font-size:12px;font-weight:900;letter-spacing:.14em;box-shadow:inset 0 0 0 1px rgba(216,173,92,.18)}
.timeline-year-block .entries-card{background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)}
.timeline-year-block .entries-card ul{list-style:none;margin:0;padding:2px 0 0;display:grid;gap:16px;position:relative}
.timeline-year-block .entries-card ul:before{content:"";position:absolute;left:18px;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,rgba(216,173,92,.18),rgba(216,173,92,.38),rgba(216,173,92,.12))}
.timeline-year-block .entries-card li{position:relative;padding:18px 18px 18px 52px;border:1px solid #f4e8cb;border-radius:22px;background:linear-gradient(180deg,#fffdf8 0%,#fffaf2 100%);box-shadow:0 12px 30px rgba(55,35,0,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.timeline-year-block .entries-card li:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(55,35,0,.09);border-color:#ebd7ab}
.timeline-year-block .entries-card li:last-child{padding-bottom:18px;border-bottom:1px solid #f4e8cb}
.timeline-year-block .entries-card li:before{content:"";position:absolute;left:12px;top:22px;width:13px;height:13px;border-radius:50%;background:linear-gradient(180deg,var(--gold2) 0%,var(--gold) 100%);box-shadow:0 0 0 6px rgba(216,173,92,.14)}
.timeline-year-block .entries-card strong{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid rgba(216,173,92,.24);box-shadow:0 4px 14px rgba(216,173,92,.08);color:#2c2116;font-size:15px;line-height:1.7;font-weight:900}
.timeline-year-block .entries-card p{margin:12px 0 0;color:#6a5d52;line-height:1.92;font-size:15px}
.timeline-link-card{margin-top:34px;padding:34px;border-radius:30px;background:linear-gradient(135deg,#171717 0%,#202020 54%,#111 100%);border:1px solid rgba(244,210,138,.16);box-shadow:var(--shadow-dark);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;overflow:hidden;position:relative}
.timeline-link-card:before{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(244,210,138,.16),transparent 62%)}
.timeline-link-card strong{display:block;font-size:28px;color:var(--gold2);position:relative;z-index:1}
.timeline-link-card p{margin:12px 0 0;color:#ded7ce;line-height:1.95;position:relative;z-index:1}
.timeline-link-card a{display:inline-flex;padding:14px 24px;border-radius:999px;background:#171717;color:var(--gold2);font-weight:800;flex-shrink:0}
.timeline-empty-card{padding:30px;border-radius:28px;background:#fff;border:1px solid #f0e1c3;box-shadow:var(--shadow)}
.timeline-empty-card strong{display:block;font-size:24px;color:#21150d}
.timeline-empty-card p{margin:10px 0 0;color:#6a5d52;line-height:1.9}
.cms-managed-year .entries-card li p{word-break:break-word}

@media (max-width:1180px){
  .timeline-hero-grid,.timeline-closing-wrap,.about-timeline-intro .intro-grid{grid-template-columns:1fr}
  .timeline-summary-grid{grid-template-columns:repeat(2,1fr)}
  .timeline-anchor-grid{grid-template-columns:repeat(4,1fr)}
  .timeline-page:before,.timeline-page:after{left:44px;transform:none}
  .timeline-year-block{grid-template-columns:92px 1fr;gap:22px}
  .timeline-year-block:before{left:44px;top:52px;width:44px;transform:translateX(0)}
  .timeline-year-block .year-card,.timeline-year-block .entries-card{grid-column:2}
  .timeline-year-block .year-card{position:static}
  .about-timeline-intro .intro-photo img{min-height:380px}
}
@media (max-width:760px){
  .timeline-hero-grid{padding:68px 0 30px;gap:24px}
  .timeline-hero-card img{height:430px}
  .timeline-year-strip,.timeline-summary-grid{grid-template-columns:1fr 1fr}
  .about-timeline-intro{padding-top:66px;padding-bottom:28px}
  .about-timeline-intro .intro-copy,.about-timeline-intro .intro-photo{padding:24px;border-radius:26px}
  .about-timeline-intro .intro-photo{padding:10px}
  .about-timeline-intro .intro-photo img{min-height:280px;border-radius:18px}
  .about-timeline-intro .intro-note{left:18px;right:18px;bottom:18px;padding:16px 16px;border-radius:18px}
  .about-timeline-intro .intro-note strong{font-size:18px}
  .timeline-nav-band{top:76px;padding:12px 0 6px}
  .timeline-anchor-grid{display:flex;gap:10px;overflow:auto;padding-bottom:6px;scrollbar-width:none}
  .timeline-anchor-grid::-webkit-scrollbar{display:none}
  .timeline-anchor-grid a{min-width:88px;min-height:48px;padding:10px 14px;border-radius:14px;flex:0 0 auto}
  .timeline-page:before,.timeline-page:after{left:28px;top:0}
  .timeline-year-block{grid-template-columns:56px 1fr;gap:14px;margin-bottom:26px}
  .timeline-year-block:before{left:28px;top:27px;width:24px}
  .timeline-year-block .year-pin{width:56px;height:56px;border-radius:18px;font-size:16px;box-shadow:0 12px 28px rgba(0,0,0,.14),0 0 0 5px rgba(255,255,255,.64),0 0 0 7px rgba(216,173,92,.12)}
  .timeline-year-block .year-card,.timeline-year-block .entries-card,.timeline-link-card{padding:22px;border-radius:24px}
  .timeline-year-block .year-card h2{font-size:26px}
  .timeline-year-block .entries-card li{padding:16px 14px 16px 44px;border-radius:18px}
  .timeline-year-block .entries-card ul:before{left:14px}
  .timeline-year-block .entries-card li:before{left:8px;top:20px;width:11px;height:11px;box-shadow:0 0 0 5px rgba(216,173,92,.14)}
  .timeline-year-block .entries-card strong{font-size:14px;min-height:30px;padding:0 12px}
  .timeline-link-card{flex-direction:column;align-items:flex-start}
  .timeline-link-card strong{font-size:24px}
  .timeline-closing-wrap{padding:22px;border-radius:26px}
  .timeline-closing-photo{min-height:280px}
}

/* 时间轴嵌入关于同德会栏目 */
body[data-page="about.html"] .about-timeline-embed{padding-bottom:12px;}
body[data-page="about.html"] .about-timeline-nav{margin-top:22px;}
body[data-page="about.html"] .about-timeline-page{padding-top:8px;background:transparent;}
body[data-page="about.html"] .about-timeline-page:before,body[data-page="about.html"] .about-timeline-page:after{top:16px;bottom:120px;}
body[data-page="about.html"] .about-summary-card{margin-top:12px;}
@media (max-width:1180px){body[data-page="about.html"] .about-timeline-page:before,body[data-page="about.html"] .about-timeline-page:after{left:44px;}}
@media (max-width:760px){body[data-page="about.html"] .about-timeline-page:before,body[data-page="about.html"] .about-timeline-page:after{left:28px;top:8px;}}

/* 后台可控时间轴：源数据隐藏，前台由 timeline-cms.js 自动按年份生成 */
.timeline-cms-source-hidden{display:none!important}
.timeline-cms-output{position:relative;z-index:1}
