/* =====================================================================
   theme: authoritative — 深宝蓝金 · 奠基碑式庄重权威
   站点：海思数智（北京）技术有限公司 · 政企云服务 / 密评合规一体机
   配色纪律：深宝蓝 #0A1F44 底 / 米金 #C9A227 强调（对比约 7:1，仅作
            强调与标题点缀，不作大面积正文色）/ 象牙白 #F5F1E6 正文。
   与既有主题的差异（除配色外）：
     - 栅格：instrument 是 48px 仪表方格、magazine 是 7:5 非对称双栏、
       swiss 是显形 12 栏蓝图；本主题是全页居中对称的"奠基碑"构图
       （居中刊头 + 居中导航 + 居中 hero + 居中区块标题），背景为
       repeating/conic-gradient 织出的极低透明度经纬金网与放射金线。
     - 导航：instrument 左侧固定轨道、magazine 水平双规则线目录、
       swiss 顶部单行加红方块；本主题是居中导航，当前项金色下划线
       + 上下细金线夹持，区块标题上下 1px 金线配菱形节点。
     - 动效：instrument 有读数呼吸、magazine 淡入 + 线展开、swiss 是
       steps(1) 硬落位；本主题只有 240ms 的金色边线实化与淡入，
       整体如碑刻般克制。
   类名严格对齐内核契约；刊头与首屏结构由本主题 partials/ 输出。
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. 设计令牌：颜色 / 间距 / 字号 / 动效全部集中于此
   --------------------------------------------------------------------- */
:root {
    /* —— 色板 —— */
    --navy:        #0A1F44;   /* 深宝蓝底 */
    --navy-panel:  #12295A;   /* 卡片面板 */
    --navy-deep:   #071633;   /* 页脚 / 凹陷底 */
    --gold:        #C9A227;   /* 米金强调（navy 上约 7:1，仅强调用） */
    --gold-line:   rgba(201, 162, 39, 0.32);   /* 细金线（装饰用） */
    --gold-faint:  rgba(201, 162, 39, 0.16);   /* 卡片描边 */
    --ivory:       #F5F1E6;   /* 正文象牙白（约 14:1） */
    --ivory-soft:  rgba(245, 241, 230, 0.72);  /* 次级文字（约 8:1） */
    --ivory-dim:   rgba(245, 241, 230, 0.58);  /* 注脚（约 6:1） */

    /* —— 字体栈（无外链，本地栈 + generic 兜底） —— */
    --font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC",
                  SimSun, Georgia, serif;
    --font-sans:  "PingFang SC", "Microsoft YaHei", "Noto Sans SC",
                  "Source Han Sans SC", sans-serif;

    /* —— 字号 —— */
    --fs-xs:   0.6875rem;
    --fs-sm:   0.8125rem;
    --fs-base: 1rem;
    --fs-md:   1.125rem;
    --fs-lg:   1.375rem;
    --fs-xl:   clamp(1.75rem, 3.5vw, 2.375rem);
    --fs-hero: clamp(2.25rem, 5.5vw, 4.25rem);
    --fs-stat: clamp(2.25rem, 4.5vw, 3.5rem);

    /* —— 间距 —— */
    --sp-xs: 0.5rem;
    --sp-sm: 1rem;
    --sp-md: 1.5rem;
    --sp-lg: 2.75rem;
    --sp-xl: 4.5rem;
    --sec-gap: clamp(4rem, 9vw, 7rem);

    /* —— 布局 —— */
    --wrap-w: 1180px;
    --pad-x:  clamp(1.25rem, 5vw, 3rem);

    /* —— 动效：只有金线实化与淡入 —— */
    --t-quick: 240ms ease;

    /* —— 焦点 —— */
    --focus-c: var(--gold);
}

/* ---------------------------------------------------------------------
   1. 基础 + 背景纹理：极低透明度经纬金网 + 顶部放射金线
   --------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font-sans);
    font-size: var(--fs-base);
    line-height: 1.8;
    color: var(--ivory);
    background: var(--navy);
    min-height: 100vh;
    text-align: center;               /* 整页居中对称，"奠基碑"式稳定感 */
}

/* 纹理层：经纬网格（repeating-linear）+ 放射金线（repeating-conic） */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        repeating-conic-gradient(
            from 180deg at 50% -12%,
            rgba(201, 162, 39, 0.05) 0deg 0.8deg,
            transparent 0.8deg 15deg
        ),
        repeating-linear-gradient(to right,
            rgba(201, 162, 39, 0.035) 0 1px, transparent 1px 110px),
        repeating-linear-gradient(to bottom,
            rgba(201, 162, 39, 0.035) 0 1px, transparent 1px 110px);
}

img, video, svg { display: block; max-width: 100%; height: auto; }

a { color: inherit; }

ul, ol { list-style: none; padding: 0; }

button, input, textarea, select { font: inherit; color: inherit; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);   /* 标题衬线栈 */
    font-weight: 700;
    line-height: 1.45;
    color: var(--ivory);
}

::selection { background: var(--gold); color: var(--navy); }

/* 可见焦点：无障碍验收项 */
:focus-visible {
    outline: 2px solid var(--focus-c);
    outline-offset: 3px;
    border-radius: 0;
}

.skip-link {
    position: absolute;
    top: -5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 200;
    padding: 0.65em 1.4em;
    background: var(--gold);
    color: var(--navy);
    font-size: var(--fs-sm);
    letter-spacing: 0.2em;
    text-decoration: none;
}
.skip-link:focus { top: var(--sp-xs); }

.site-header,
.site-main,
.site-footer { position: relative; z-index: 1; }

.page-wrap {
    max-width: var(--wrap-w);
    margin-inline: auto;
    padding-inline: var(--pad-x);
}

.site-main { min-height: 55vh; }

/* ---------------------------------------------------------------------
   2. 刊头（结构由 themes/authoritative/partials/header.php 输出）：
      居中品牌 + 居中导航，上下细金线夹持
   --------------------------------------------------------------------- */
.site-header {
    background: transparent;
    border-bottom: 1px solid var(--gold-line);
}

.masthead {
    width: min(var(--wrap-w), 100% - 2 * var(--pad-x));
    margin-inline: auto;
    padding-block: var(--sp-md) var(--sp-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.masthead-brand {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 700;
    letter-spacing: 0.14em;
}
.masthead-brand a { color: var(--ivory); text-decoration: none; }
.masthead-brand a:hover { color: var(--gold); }

.masthead-slogan {
    color: var(--gold);
    font-size: var(--fs-xs);
    letter-spacing: 0.42em;
    text-indent: 0.42em;              /* 抵消末字间距，保持视觉居中 */
}

.site-nav {
    border-top: 1px solid var(--gold-line);
    padding-block: 0.35rem;
}

/* 导航按钮 <720 显示，居中 */
.nav-toggle {
    display: none;
    margin: 0.35rem auto;
    padding: 0.55em 1.4em;
    background: transparent;
    border: 1px solid var(--gold-line);
    border-radius: 0;
    color: var(--gold);
    font-size: var(--fs-xs);
    letter-spacing: 0.3em;
    text-indent: 0.3em;
    cursor: pointer;
}
.nav-toggle:hover { border-color: var(--gold); }

.nav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;          /* 居中导航 */
    align-items: center;
    gap: var(--sp-xs);
    margin: 0 auto;
    padding: 0;
    width: min(var(--wrap-w), 100% - 2 * var(--pad-x));
}

.nav-item { position: relative; }

.nav-link {
    display: inline-block;
    padding: 0.65rem 1.1rem;
    color: var(--ivory-soft);
    font-size: var(--fs-sm);
    letter-spacing: 0.12em;
    text-decoration: none;
    border-radius: 0;
}
.nav-link:hover { color: var(--gold); background: transparent; }

.nav-link.is-active {
    color: var(--gold);
    font-weight: 700;
    box-shadow: inset 0 -2px 0 var(--gold);
}

/* 二级下拉：深蓝面板 + 细金边 */
.nav-item > .nav-list {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: none;
    flex-direction: column;
    min-width: 11rem;
    padding: var(--sp-xs);
    background: var(--navy-panel);
    border: 1px solid var(--gold-line);
    border-radius: 0;
    box-shadow: 0 0.75rem 2rem rgba(7, 22, 51, 0.65);
}
.nav-item:hover > .nav-list,
.nav-item:focus-within > .nav-list { display: flex; }
.nav-item > .nav-list .nav-link { padding: 0.6rem 0.9rem; }

/* ---------------------------------------------------------------------
   3. 主视觉（结构由 themes/authoritative/partials/hero.php 输出）：
      居中大标题 + 金色细线分隔的三个数据位 + 金色描边按钮
   --------------------------------------------------------------------- */
.hero {
    position: relative;
    padding-block: clamp(4rem, 10vw, 7.5rem) clamp(3.5rem, 8vw, 6rem);
    background: transparent;
    border-bottom: 1px solid var(--gold-line);
}

.hero-stage {
    width: min(var(--wrap-w), 100% - 2 * var(--pad-x));
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-md);
}

.hero-kicker {
    color: var(--gold);
    font-size: var(--fs-xs);
    letter-spacing: 0.5em;
    text-indent: 0.5em;
}

.hero-title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--fs-hero);
    font-weight: 700;
    letter-spacing: 0.08em;           /* 庄重标题字距 */
    line-height: 1.3;
    color: var(--ivory);
    max-width: 22em;
}

.hero-ornament {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    width: min(22rem, 72%);
}
.hero-ornament::before,
.hero-ornament::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--gold);
}
.ornament-diamond {
    width: 0.5rem;
    height: 0.5rem;
    background: var(--gold);
    transform: rotate(45deg);         /* CSS 画菱形节点，不用字符 */
    flex: none;
}

.hero-sub {
    max-width: 38em;
    margin: 0;
    font-size: var(--fs-md);
    color: var(--ivory-soft);
}

.hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-sm); margin: 0; }

/* 契约防御：若 hero 以 default 结构渲染（hero-slides / hero-slide /
   hero-body），同样落入本主题的居中奠基碑版式 */
.hero-slides { display: grid; }
.hero-slide {
    position: relative;
    display: grid;
    align-items: center;
    min-height: 26rem;
    border-bottom: 0;
}
.hero-slide + .hero-slide { border-top: 1px solid var(--gold-line); }
.hero-body {
    position: relative;
    width: min(var(--wrap-w), 100% - 2 * var(--pad-x));
    margin-inline: auto;
    padding: var(--sp-xl) var(--sp-sm);
    text-align: center;
}
.hero-slide .hero-title { font-family: var(--font-serif); font-size: var(--fs-hero); letter-spacing: 0.08em; }

/* hero 内三个数据位：金色细竖线分隔 */
.hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin: var(--sp-sm) 0 0;
    padding: 0;
}
.hero-stats li {
    padding: var(--sp-xs) clamp(1.25rem, 4vw, 2.75rem);
}
.hero-stats li + li { border-left: 1px solid var(--gold-line); }
.hero-stats .stat-num { color: var(--gold); }
.hero-stats .stat-label { color: var(--ivory-soft); }

/* ---------------------------------------------------------------------
   4. 区块：标题居中，上下 1px 金线 + 菱形节点（section-index 承载）
   --------------------------------------------------------------------- */
.section { padding-block: var(--sec-gap); }
.section + .section { padding-top: 0; }
.section-stats { padding-block: var(--sp-lg); }

.section-head {
    display: flex;
    flex-direction: column;           /* 与 default 的基线 flex 相反 */
    align-items: center;
    gap: 0.85rem;
    margin-bottom: var(--sp-lg);
    padding: 0;
    border: 0;
    text-align: center;
}

/* 上下 1px 金色细线：伪元素作为列向 flex 的首尾项 */
.section-head::before,
.section-head::after {
    content: "";
    width: min(20rem, 68%);
    height: 1px;
    background: linear-gradient(to right, transparent, var(--gold-line) 18%, var(--gold-line) 82%, transparent);
}

/* 菱形节点 + 序号：CSS 画菱形，序号金衬线小字 */
.section-index {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-family: var(--font-serif);
    font-size: var(--fs-xs);
    color: var(--gold);
    letter-spacing: 0.3em;
}
.section-index::before,
.section-index::after {
    content: "";
    width: 0.375rem;
    height: 0.375rem;
    background: var(--gold);
    transform: rotate(45deg);
    flex: none;
}

.section-title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--fs-xl);
    font-weight: 700;
    letter-spacing: 0.1em;
}

.section-more {
    margin-left: 0;
    font-size: var(--fs-sm);
    color: var(--gold);
    letter-spacing: 0.1em;
    white-space: nowrap;
}
.section-more:hover { color: var(--ivory); text-decoration: underline; text-underline-offset: 0.35em; }

/* ---------------------------------------------------------------------
   5. 栅格与卡片：深蓝面板 + 1px 低透明金边，四角 L 形金线角标，
      hover 金线变实
   --------------------------------------------------------------------- */
.grid { display: grid; gap: var(--sp-md); }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }

.card {
    --corner: var(--gold-line);
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--navy-panel);
    background-repeat: no-repeat;
    /* 四角 L 形金线角标：8 条短线（每角一横一竖） */
    background-image:
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner)),
        linear-gradient(var(--corner), var(--corner));
    background-size:
        1rem 1px, 1rem 1px, 1px 1rem, 1px 1rem,
        1rem 1px, 1rem 1px, 1px 1rem, 1px 1rem;
    background-position:
        left top, right top, left top, right top,
        left bottom, right bottom, left bottom, right bottom;
    border: 1px solid var(--gold-faint);
    border-radius: 0;
    padding: var(--sp-md);
    overflow: hidden;
    transition: border-color var(--t-quick), background-color var(--t-quick);
}
.card:hover { --corner: var(--gold); border-color: var(--gold); }

.card-media {
    display: block;
    aspect-ratio: 16 / 10;
    background: var(--navy-deep);
    border: 1px solid var(--gold-faint);
    overflow: hidden;
}
.card-media img { width: 100%; height: 100%; object-fit: cover; }

.card-body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
    padding: var(--sp-md) 0 0;
    flex: 1;
}

.card-title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--fs-md);
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.card-title a { color: var(--ivory); text-decoration: none; }
.card-title a:hover { color: var(--gold); }

.card-excerpt { margin: 0; color: var(--ivory-soft); font-size: var(--fs-sm); }

.card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-xs);
    margin: 0;
    margin-top: auto;
    padding-top: var(--sp-xs);
    color: var(--ivory-dim);
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
}

.card-tag {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 0.3rem;
    padding: 0.25em 0.9em;
    font-size: var(--fs-xs);
    color: var(--gold);
    border: 1px solid var(--gold-line);
    border-radius: 0;
    text-decoration: none;
    letter-spacing: 0.15em;
}
.card-tag.is-active { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.card-tag:hover { border-color: var(--gold); color: var(--gold); }

/* 图片占位：经纬金网纹理 */
.ph {
    width: 100%;
    height: 100%;
    background:
        repeating-linear-gradient(to right,
            rgba(201, 162, 39, 0.08) 0 1px, transparent 1px 22px),
        repeating-linear-gradient(to bottom,
            rgba(201, 162, 39, 0.08) 0 1px, transparent 1px 22px),
        var(--navy-deep);
}

/* ---------------------------------------------------------------------
   6. 按钮：金色为主，primary 金底蓝字，ghost 金描边
   --------------------------------------------------------------------- */
.btn {
    display: inline-block;
    padding: 0.8em 2.2em;
    font: inherit;
    font-size: var(--fs-sm);
    letter-spacing: 0.22em;
    text-indent: 0.22em;
    line-height: 1.4;
    border-radius: 0;
    border: 1px solid var(--gold);
    cursor: pointer;
    text-decoration: none;
    transition: background var(--t-quick), color var(--t-quick), border-color var(--t-quick);
}

.btn-primary { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.btn-primary:hover { background: transparent; color: var(--gold); }

.btn-ghost { background: transparent; color: var(--gold); border-color: var(--gold); }
.btn-ghost:hover { background: var(--gold); color: var(--navy); }

/* ---------------------------------------------------------------------
   7. 面包屑 / 分页：居中，金线框
   --------------------------------------------------------------------- */
.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sp-xs);
    margin: 0;
    padding: var(--sp-sm) 0;
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    color: var(--ivory-dim);
}
.breadcrumb li + li::before { content: "/"; margin-right: var(--sp-xs); color: var(--gold); }
.breadcrumb a { color: var(--ivory-soft); }
.breadcrumb a:hover { color: var(--gold); }

.pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--sp-xs);
    margin-top: var(--sp-lg);
}
.pager-item {
    display: inline-block;
    min-width: 2.75rem;
    padding: 0.5em 0.75em;
    text-align: center;
    border: 1px solid var(--gold-line);
    border-radius: 0;
    text-decoration: none;
    color: var(--ivory-soft);
    font-size: var(--fs-sm);
}
a.pager-item:hover { border-color: var(--gold); color: var(--gold); }
.pager-item.is-active { background: var(--gold); border-color: var(--gold); color: var(--navy); font-weight: 700; }
.pager-item.is-disabled { opacity: 0.45; border-style: dashed; cursor: not-allowed; }
.pager-ellipsis { border: 0; }
.post-neighbors { margin-top: var(--sp-lg); border-top: 1px solid var(--gold-line); padding-top: var(--sp-md); }
.post-neighbors .pager-item { max-width: 48%; }
.pager-label { display: block; font-size: var(--fs-xs); color: var(--ivory-dim); }

/* ---------------------------------------------------------------------
   8. 数据条（区块内）：金色衬线数字，居中
   --------------------------------------------------------------------- */
.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: var(--sp-md);
}

.stat-num {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--fs-stat);
    font-weight: 700;
    line-height: 1.15;
    color: var(--gold);
}

.stat-unit { font-size: 0.45em; margin-left: 0.15em; color: var(--ivory-soft); }

.stat-label {
    margin: var(--sp-xs) 0 0;
    color: var(--ivory-soft);
    font-size: var(--fs-sm);
    letter-spacing: 0.12em;
}

/* ---------------------------------------------------------------------
   9. 表单：深蓝面板底 + 金线框
   --------------------------------------------------------------------- */
.form-field { display: flex; flex-direction: column; gap: var(--sp-xs); margin-bottom: var(--sp-md); }
.form-label { font-size: var(--fs-sm); font-weight: 600; color: var(--ivory); letter-spacing: 0.08em; }

.form-input, .form-textarea {
    width: 100%;
    padding: 0.7em 1em;
    font: inherit;
    color: var(--ivory);
    background: var(--navy-panel);
    border: 1px solid var(--gold-line);
    border-radius: 0;
}
.form-input:focus-visible, .form-textarea:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 0;
}
.form-textarea { resize: vertical; min-height: 9rem; }

.form-error {
    margin: 0 0 var(--sp-md);
    padding: 0.75em 1em;
    border: 1px solid #F2B8B5;
    border-left: 4px solid #F2B8B5;
    border-radius: 0;
    color: #F2B8B5;
    background: rgba(242, 184, 181, 0.08);
}
.form-ok {
    margin: 0 0 var(--sp-md);
    padding: 0.75em 1em;
    border: 1px solid var(--gold);
    border-left: 4px solid var(--gold);
    border-radius: 0;
    color: var(--gold);
    background: rgba(201, 162, 39, 0.08);
}

.form-honey {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.search-form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--sp-sm); margin-bottom: var(--sp-md); }
.search-form .form-field { flex: 1 1 16rem; margin-bottom: 0; }

/* ---------------------------------------------------------------------
   10. 内页页头 / 正文
   --------------------------------------------------------------------- */
.page-head {
    padding-block: var(--sp-lg) var(--sp-md);
    border-bottom: 1px solid var(--gold-line);
    margin-bottom: var(--sp-lg);
    text-align: center;
}
.page-title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--fs-xl);
    font-weight: 700;
    letter-spacing: 0.12em;
}
.page-head-meta { margin: var(--sp-xs) 0 0; color: var(--ivory-dim); font-size: var(--fs-sm); }

.page-cover { margin: 0 0 var(--sp-md); border: 1px solid var(--gold-line); border-radius: 0; overflow: hidden; }

.post-extra {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: var(--sp-sm);
    margin: 0 0 var(--sp-md);
    padding: var(--sp-md);
    background: var(--navy-panel);
    border: 1px solid var(--gold-faint);
    border-radius: 0;
}
.post-extra div { display: flex; justify-content: center; gap: var(--sp-xs); margin: 0; }
.post-extra dt { color: var(--gold); }
.post-extra dd { margin: 0; font-weight: 600; }

.filter-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-xs); margin: 0 0 var(--sp-md); }

.empty-state { padding: var(--sp-xl) var(--sp-sm); text-align: center; color: var(--ivory-soft); }

/* 正文：象牙白，行距 1.9，引用块金线左框 */
.prose {
    font-size: var(--fs-md);
    line-height: 1.9;
    color: var(--ivory);
    max-width: 44em;
    margin-inline: auto;
}
.prose h1, .prose h2, .prose h3, .prose h4 {
    font-family: var(--font-serif);
    margin-top: var(--sp-lg);
    margin-bottom: var(--sp-sm);
    letter-spacing: 0.06em;
    text-align: center;
}
.prose h1 { font-size: var(--fs-xl); }
.prose h2 { font-size: var(--fs-lg); }
.prose h3, .prose h4 { font-size: var(--fs-md); }
.prose > * + * { margin-top: var(--sp-sm); }
.prose p { margin: 0; text-align: left; }
.prose a { color: var(--gold); text-decoration: underline; text-underline-offset: 0.25em; }
.prose a:hover { color: var(--ivory); }
.prose ul, .prose ol { margin: var(--sp-sm) auto; padding-left: var(--sp-lg); text-align: left; }
.prose li + li { margin-top: var(--sp-xs); }
.prose img { border: 1px solid var(--gold-faint); border-radius: 0; margin-inline: auto; }
.prose figure { margin: var(--sp-md) 0; }
.prose figcaption { margin-top: var(--sp-xs); text-align: center; font-size: var(--fs-xs); color: var(--ivory-dim); letter-spacing: 0.1em; }
.prose blockquote {
    margin: var(--sp-md) 0;
    padding: var(--sp-xs) var(--sp-md);
    border-left: 3px solid var(--gold);   /* 金线左框 */
    background: rgba(201, 162, 39, 0.06);
    border-radius: 0;
    color: var(--ivory-soft);
    text-align: left;
}
.prose blockquote p { margin: var(--sp-xs) 0; }
.prose hr { border: 0; border-top: 1px solid var(--gold-line); margin: var(--sp-lg) auto; width: 60%; }
.prose code, .prose kbd {
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.875em;
    padding: 0.125em 0.4em;
    background: var(--navy-deep);
    border: 1px solid var(--gold-faint);
    border-radius: 0;
}
.prose pre {
    padding: var(--sp-sm);
    overflow-x: auto;
    background: var(--navy-deep);
    border: 1px solid var(--gold-line);
    border-radius: 0;
    line-height: 1.7;
    text-align: left;
}
.prose pre code { padding: 0; background: transparent; border: 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.prose th, .prose td { padding: var(--sp-xs) var(--sp-sm); border: 1px solid var(--gold-faint); text-align: left; }
.prose thead th { background: var(--navy-panel); color: var(--gold); font-size: var(--fs-xs); letter-spacing: 0.1em; }
.prose tbody tr:nth-child(even) { background: rgba(201, 162, 39, 0.04); }

/* ---------------------------------------------------------------------
   11. 页脚：深蓝凹陷底 + 金线，居中对称
   --------------------------------------------------------------------- */
.site-footer {
    margin-top: var(--sec-gap);
    background: var(--navy-deep);
    border-top: 1px solid var(--gold);
    padding-block: var(--sp-lg) var(--sp-md);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: var(--sp-lg) var(--sp-md);
    text-align: center;
}

.footer-col { min-width: 0; text-align: center; }   /* 契约类：页脚列居中 */

.footer-title {
    margin: 0 0 var(--sp-sm);
    font-family: var(--font-serif);
    font-size: var(--fs-base);
    letter-spacing: 0.12em;
    color: var(--gold);
}
.footer-title a { color: var(--gold); text-decoration: none; }
.footer-title a:hover { color: var(--ivory); }

.footer-slogan { margin: 0 0 var(--sp-sm); color: var(--ivory-soft); font-size: var(--fs-sm); }
.footer-contact { font-style: normal; font-size: var(--fs-sm); color: var(--ivory-soft); }
.footer-contact p { margin: 0 0 var(--sp-xs); }
.footer-contact a { color: var(--ivory-soft); }
.footer-contact a:hover { color: var(--gold); }

.footer-links { list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); }
.footer-links li { margin-bottom: var(--sp-xs); }
.footer-links a { color: var(--ivory-soft); text-decoration: none; }
.footer-links a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: 0.3em; }

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;          /* 与 swiss 的左对齐相反：居中 */
    gap: var(--sp-xs) var(--sp-lg);
    margin-top: var(--sp-lg);
    padding-top: var(--sp-sm);
    border-top: 1px solid var(--gold-line);
    color: var(--ivory-dim);
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
}
.footer-bottom p { margin: 0; }
.footer-bottom a { color: var(--ivory-dim); }
.footer-bottom a:hover { color: var(--gold); }

/* ---------------------------------------------------------------------
   12. 动效：淡入 + 金线实化，克制如碑刻
   --------------------------------------------------------------------- */
html.js .reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity var(--t-quick), transform var(--t-quick);
}
html.js .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    html.js .reveal { opacity: 1; transform: none; transition: none; }
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ---------------------------------------------------------------------
   13. 断点：>=1080 / 720-1079 / <720 全覆盖
   --------------------------------------------------------------------- */

/* —— 桌面 >=1080：完整居中构图 —— */
@media (min-width: 1080px) {
    .hero { padding-block: clamp(5rem, 9vw, 7.5rem) clamp(4rem, 7vw, 6rem); }
    .nav-link { padding: 0.7rem 1.35rem; }
}

/* —— 平板 720-1079：卡片两列，纹理减弱 —— */
@media (min-width: 720px) and (max-width: 1079px) {
    body::before { opacity: 0.75; }
    .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .hero-stats li { padding-inline: clamp(1rem, 3vw, 2rem); }
}

/* —— 手机 <720：单列，菜单折叠，数据位改纵向金线分隔 —— */
@media (max-width: 719px) {
    body::before { opacity: 0.5; }

    .nav-toggle { display: inline-flex; align-items: center; }
    .site-nav .nav-list {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        padding-block: var(--sp-xs);
    }
    .site-nav.is-open .nav-list { display: flex; }
    .nav-link { display: block; width: 100%; padding: 0.75rem 0.5rem; text-align: center; }
    .nav-item > .nav-list {
        position: static;
        transform: none;
        display: flex;
        border: 0;
        border-left: 1px solid var(--gold-line);
        box-shadow: none;
        margin: 0 var(--sp-sm);
        padding: 0;
        background: transparent;
    }
    .nav-item:hover > .nav-list,
    .nav-item:focus-within > .nav-list { display: flex; }

    .hero-title { font-size: clamp(1.75rem, 8vw, 2.5rem); }
    .hero-stats { flex-direction: column; }
    .hero-stats li { padding: var(--sp-sm) 0; width: 100%; }
    .hero-stats li + li { border-left: 0; border-top: 1px solid var(--gold-line); }

    .section-head::before, .section-head::after { width: 55%; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; align-items: center; }
    .prose { font-size: var(--fs-base); }
}
