:root{
  --primary:#ea580c;
  --accent:#d97706;
  --bg:#fffbf5;
  --ink:#1c1917;
  --border-w:3px;
  --shadow-hard:6px 6px 0 var(--ink);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  background: var(--bg);
  color: var(--ink);
  font-family: "Inter", "思源黑体", system-ui, -apple-system, sans-serif;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0.01em;
  overflow-x:hidden;
}
/* 思源宋体标题 */
h1,h2,h3,.font-song{
  font-family: "Source Han Serif SC", "思源宋体", Georgia, 'Times New Roman', serif;
  font-weight:700;
}
/* 极简单列居中长卷 */
.container-narrow{
  max-width: 880px;
  margin-left:auto;
  margin-right:auto;
  padding-left:1.25rem;
  padding-right:1.25rem;
}
/* 全直角硬朗风 */
.edge{
  border-radius:0 !important;
  border:var(--border-w) solid var(--ink);
  box-shadow:var(--shadow-hard);
}
.no-shadow{box-shadow:none !important;}
/* 粗边框通用 */
.border-hard{
  border:3px solid var(--ink);
}
/* 块状硬阴影 */
.hard-shadow{box-shadow:6px 6px 0 var(--ink);}
/* 几何色块背景 */
.geo-bg{
  position: relative;
}
.geo-bg::before,.geo-bg::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  opacity:0.15;
}
.geo-bg::before{
  width:180px;height:180px;
  background: var(--accent);
  top:5%;left:-60px;
  clip-path:polygon(0 0, 100% 0, 0 100%);
}
.geo-bg::after{
  width:130px;height:130px;
  background: var(--primary);
  bottom:-30px;right:-40px;
  clip-path:polygon(50% 0, 100% 100%, 0 100%);
}
/* 顶部导航 */
.navbar-hard{
  background: var(--bg);
  border-bottom: 3px solid var(--ink);
  box-shadow: 0 4px 0 var(--ink);
}
.navbar-brand{
  font-weight:900;
  font-size:1.8rem;
  letter-spacing:-0.02em;
  color:var(--primary) !important;
}
.nav-link-custom{
  font-weight:600;
  color:var(--ink);
  border-bottom:2px solid transparent;
  margin:0 0.25rem;
  text-transform: uppercase;
  font-size:0.9rem;
}
.nav-link-custom:hover{
  border-bottom-color: var(--primary);
  color:var(--primary);
}
/* hero 大数字 */
.hero-stat{
  font-size:6rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-0.04em;
  color:var(--primary);
}
.hero-sub{
  font-size:1.4rem;
  font-weight:500;
}
/* 时间线 */
.timeline-wrap{
  position:relative;
  padding-left:2.2rem;
}
.timeline-wrap::before{
  content:"";
  position:absolute;
  left:8px;top:8px;bottom:8px;
  width:3px;
  background:var(--ink);
}
.timeline-item{
  position:relative;
  margin-bottom:2.2rem;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:-2.2rem;top:6px;
  width:18px;height:18px;
  background:var(--primary);
  border:3px solid var(--ink);
  z-index:2;
}
.timeline-item .tl-title{
  font-weight:700;
  font-size:1.1rem;
  color:var(--primary);
}
/* 特色标签页 */
.nav-pills-hard .nav-link{
  border-radius:0;
  border:3px solid var(--ink);
  background:transparent;
  color:var(--ink);
  font-weight:600;
  margin-right:0.5rem;
  margin-bottom:0.5rem;
  padding:0.5rem 1rem;
}
.nav-pills-hard .nav-link.active{
  background: var(--primary);
  border-color:var(--ink);
  box-shadow:4px 4px 0 var(--ink);
  color:#fff;
}
.tab-content-hard .tab-pane{
  border:3px solid var(--ink);
  padding:1.8rem 1.5rem;
  background: #ffffffd8;
  box-shadow:4px 4px 0 var(--ink);
}
/* 卡片 hover */
.card-hover{
  transition: transform 0.15s ease, border-color 0.15s, box-shadow 0.15s;
  border:3px solid var(--ink);
  border-radius:0;
  background: #fff;
  box-shadow:4px 4px 0 var(--ink);
  padding:1.5rem 1.2rem;
  height:100%;
}
.card-hover:hover{
  transform: scale(1.01);
  border-color: var(--primary);
  box-shadow:6px 6px 0 var(--primary);
}
/* 滚动显现 */
.reveal{
  opacity:0;
  transform: translateY(14px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.in-view{
  opacity:1;
  transform: translateY(0);
}
/* 回到顶部 */
#toTop{
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 52px;
  height: 52px;
  background: var(--primary);
  border: 3px solid var(--ink);
  box-shadow:4px 4px 0 var(--ink);
  color: white;
  font-size: 1.6rem;
  z-index: 999;
  display: none;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s;
}
#toTop.show{display:flex;}
#toTop:hover{background:var(--accent);}
/* 通用小几何点缀 */
.shape-deco{
  position:relative;
}
.shape-deco .dot-circle{
  width: 34px;height:34px;
  background:var(--accent);
  clip-path: circle(50% at 50% 50%);
  opacity:0.3;
  position:absolute;
}
.shape-deco .square{
  width:24px;height:24px;background:var(--primary);
  opacity:0.25;position:absolute;
}
/* 友情链接 */
.friend-link{
  border-top:3px solid var(--ink);
  border-bottom:3px solid var(--ink);
  padding:1.2rem 0;
  margin:2rem 0;
}
.friend-link a{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:4px;
  font-weight:500;
}
.friend-link a:hover{color:var(--primary);}
footer{
  border-top:3px solid var(--ink);
  margin-top:3rem;
  padding:2rem 0;
  background:#f3ede4;
}
/* 直角时间线 */
.faq-q{
  font-weight:700;
  font-size:1.2rem;
  border-left:6px solid var(--primary);
  padding-left:1rem;
  margin-top:1.8rem;
}

/* --- 子页面追加 --- */
/* 页面专属样式 */
        .about-hero {
            position: relative;
            overflow: hidden;
            background: var(--bg);
            padding: 80px 0 60px;
            border-bottom: var(--border-w) solid var(--ink);
        }
.about-hero .badge-sticker {
            display: inline-block;
            background: var(--primary);
            color: #fff;
            font-weight: 700;
            font-size: 0.85rem;
            padding: 6px 18px;
            border: var(--border-w) solid var(--ink);
            box-shadow: var(--shadow-hard);
            transform: rotate(-2deg);
            margin-bottom: 24px;
        }
.about-hero h1 {
            font-size: clamp(2.2rem, 5vw, 3.8rem);
            font-weight: 900;
            line-height: 1.15;
            color: var(--ink);
            margin-bottom: 20px;
        }
.about-hero .hero-sub {
            font-size: 1.2rem;
            color: #57534e;
            max-width: 720px;
        }
.section-title {
            font-size: clamp(1.6rem, 3vw, 2.4rem);
            font-weight: 800;
            color: var(--ink);
            margin-bottom: 30px;
            position: relative;
            display: inline-block;
        }
.section-title::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60px;
            height: var(--border-w);
            background: var(--primary);
        }
.about-card {
            background: var(--bg);
            border: var(--border-w) solid var(--ink);
            border-radius: 0;
            box-shadow: var(--shadow-hard);
            padding: 28px;
            transition: transform 0.2s ease;
        }
.about-card:hover {
            transform: translate(-3px, -3px);
            box-shadow: 9px 9px 0 var(--ink);
        }
.about-card .icon-wrap {
            width: 56px;
            height: 56px;
            background: var(--primary);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            border: 2px solid var(--ink);
            box-shadow: 3px 3px 0 var(--ink);
            margin-bottom: 20px;
        }
.about-card h3 {
            font-weight: 800;
            font-size: 1.25rem;
            color: var(--ink);
            margin-bottom: 12px;
        }
.about-card p {
            color: #57534e;
            line-height: 1.7;
            margin-bottom: 0;
        }
.timeline-custom {
            position: relative;
            padding-left: 32px;
        }
.timeline-custom::before {
            content: '';
            position: absolute;
            left: 8px;
            top: 0;
            bottom: 0;
            width: var(--border-w);
            background: var(--ink);
        }
.timeline-custom .tl-item {
            position: relative;
            padding: 0 0 36px 20px;
        }
.timeline-custom .tl-item::before {
            content: '';
            position: absolute;
            left: -30px;
            top: 6px;
            width: 16px;
            height: 16px;
            background: var(--primary);
            border: 3px solid var(--ink);
            border-radius: 50%;
            z-index: 1;
        }
.timeline-custom .tl-year {
            font-weight: 900;
            font-size: 1.3rem;
            color: var(--primary);
            display: block;
            margin-bottom: 6px;
        }
.timeline-custom .tl-text {
            color: #57534e;
            line-height: 1.6;
        }
.quote-block {
            border-left: 6px solid var(--primary);
            padding: 20px 24px;
            background: rgba(234, 88, 12, 0.06);
            margin: 30px 0;
            font-style: italic;
            font-size: 1.1rem;
            color: #44403c;
        }
.stat-box {
            text-align: center;
            padding: 30px 20px;
            border: var(--border-w) solid var(--ink);
            background: var(--bg);
            box-shadow: var(--shadow-hard);
        }
.stat-box .num {
            font-size: 2.6rem;
            font-weight: 900;
            color: var(--primary);
            line-height: 1.1;
        }
.stat-box .label {
            font-weight: 600;
            color: var(--ink);
            margin-top: 8px;
            font-size: 0.95rem;
        }
.value-item {
            padding: 24px;
            border: 3px solid var(--ink);
            background: var(--bg);
            box-shadow: var(--shadow-hard);
            height: 100%;
        }
.value-item .value-icon {
            font-size: 2rem;
            color: var(--primary);
            margin-bottom: 14px;
        }
.value-item h4 {
            font-weight: 800;
            color: var(--ink);
            margin-bottom: 10px;
            font-size: 1.1rem;
        }
.value-item p {
            color: #57534e;
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 0;
        }

/* --- 子页面追加 --- */
/* 本页专属样式 */
        .privacy-section {
            padding: 4rem 0;
        }
.privacy-section:nth-child(even) {
            background: rgba(234, 88, 12, 0.03);
        }
.privacy-heading {
            font-size: 2rem;
            font-weight: 800;
            color: var(--ink);
            border-left: 5px solid var(--primary);
            padding-left: 1.2rem;
            margin-bottom: 1.5rem;
        }
.privacy-card {
            background: var(--bg);
            border: var(--border-w) solid var(--ink);
            border-radius: 12px;
            padding: 1.8rem;
            box-shadow: var(--shadow-hard);
            margin-bottom: 1.5rem;
            transition: transform 0.2s ease;
        }
.privacy-card:hover {
            transform: translate(-3px, -3px);
            box-shadow: 9px 9px 0 var(--ink);
        }
.privacy-card h3 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
.privacy-card h3 i {
            font-size: 1.2rem;
        }
.privacy-card p, .privacy-card ul {
            color: var(--ink);
            line-height: 1.8;
            font-size: 0.95rem;
        }
.privacy-card ul {
            padding-left: 1.2rem;
            list-style-type: square;
        }
.privacy-card ul li {
            margin-bottom: 0.5rem;
        }
.privacy-badge {
            display: inline-block;
            background: var(--primary);
            color: #fff;
            padding: 0.3rem 1rem;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            border: 2px solid var(--ink);
            margin-right: 0.5rem;
        }
.last-updated {
            font-style: italic;
            color: var(--ink);
            opacity: 0.7;
            font-size: 0.9rem;
        }
.privacy-heading {
                font-size: 1.5rem;
            }
.privacy-card {
                padding: 1.2rem;
            }

/* --- 子页面追加 --- */
/* 本页专属微调——仅补充,不覆盖站点全局 */
    .guideline-section { border: 3px solid var(--ink); box-shadow: var(--shadow-hard); background: var(--bg); padding: 2rem; margin-bottom: 2.5rem; }
.guideline-section h2 { font-weight: 900; font-size: 1.75rem; margin-bottom: 1rem; border-bottom: 3px solid var(--ink); padding-bottom: .5rem; display: inline-block; }
.guideline-section h3 { font-weight: 700; font-size: 1.3rem; margin-top: 1.5rem; margin-bottom: .5rem; }
.rule-list { list-style: none; padding-left: 0; }
.rule-list li { padding: .6rem 0 .6rem 2rem; position: relative; border-bottom: 1px dashed rgba(28,25,23,.2); }
.rule-list li::before { content: "✦"; position: absolute; left: 0; color: var(--primary); font-weight: 700; }
.rule-list li:last-child { border-bottom: none; }
.tag-badge { display: inline-block; background: var(--primary); color: #fff; font-weight: 700; font-size: .8rem; padding: .2rem .8rem; border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); margin-right: .5rem; }
.warning-box { background: rgba(234,88,12,.08); border-left: 6px solid var(--primary); padding: 1rem 1.5rem; margin: 1.5rem 0; }
.toc-box { background: rgba(217,119,6,.06); border: 2px dashed var(--accent); padding: 1.2rem 1.5rem; margin-bottom: 2rem; }
.toc-box a { color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--primary); }
.toc-box a:hover { background: var(--primary); color: #fff; }
.toc-list { columns: 2; column-gap: 2rem; list-style: none; padding-left: 0; margin-bottom: 0; }
.toc-list li { padding: .25rem 0; }
.toc-list { columns: 1; }
.guideline-section { padding: 1.25rem; }