/*
 * @file        common.css
 * @description 公共样式 - CSS 变量、布局栅格、顶部导航、移动端抽屉、底部、按钮、面包屑、分页
 * @author      zhuowebuqun
 * @date        2026-05-01
 * @notes       响应式断点 1200/992/768/576；与 reset.css 配合使用
 *              调色板：东方人文 × 当代艺术张力（朱砂 / 黛紫 / 鎏金 / 青瓷 / 紫藤 / 朝橙）
 */

/* ================ 字体引入（本地 @font-face）================
 * 全部采用 SIL Open Font License 1.1（OFL）开源字体，免费商用、可嵌入、可分发，零版权风险
 * 字体文件位于 assets/fonts/，可通过 assets/fonts/download-fonts.ps1 自动下载
 *  - Playfair Display ：装饰英文（Logo 副标、HUMANITIES·ARTS·CULTURE、装饰大字）
 *  - Ma Shan Zheng    ：中文书法（Hero 主标、Logo 中文、水印）
 *  - Noto Serif SC    ：中文衬线标题
 *  - Noto Sans SC     ：中文正文
 *  - Inter            ：西文正文 / fallback
 */

/* ---- Playfair Display ---- */
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-900-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-400-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/playfair-display-latin-700-italic.woff2') format('woff2');
}

/* ---- Ma Shan Zheng ---- */
@font-face {
    font-family: 'Ma Shan Zheng';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ma-shan-zheng-chinese-simplified-400-normal.woff2') format('woff2');
}

/* ---- Noto Serif SC ---- */
@font-face {
    font-family: 'Noto Serif SC';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/noto-serif-sc-chinese-simplified-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Serif SC';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/noto-serif-sc-chinese-simplified-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Serif SC';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/noto-serif-sc-chinese-simplified-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Serif SC';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../fonts/noto-serif-sc-chinese-simplified-900-normal.woff2') format('woff2');
}

/* ---- Noto Sans SC ---- */
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/noto-sans-sc-chinese-simplified-300-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/noto-sans-sc-chinese-simplified-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/noto-sans-sc-chinese-simplified-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/noto-sans-sc-chinese-simplified-700-normal.woff2') format('woff2');
}

/* ---- Inter ---- */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/inter-latin-300-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter-latin-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/inter-latin-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/inter-latin-700-normal.woff2') format('woff2');
}

/* ================ CSS 变量：色彩、间距、阴影、过渡 ================ */
:root {
    /* 主调：东方人文 + 当代艺术张力 */
    --c-vermilion:    #E63946; /* 朱砂：主色调，热烈、艺术张力 */
    --c-vermilion-d:  #C12A37; /* 朱砂深 */
    --c-vermilion-l:  #FF5A6A; /* 朱砂浅 */
    --c-indigo:       #1A1B3A; /* 黛紫：深色背景 */
    --c-indigo-soft:  #2D2E5C; /* 黛紫软 */
    --c-gilt:         #F4B942; /* 鎏金：传统金箔 */
    --c-gilt-d:       #D89826; /* 鎏金深 */
    --c-celadon:      #2D9596; /* 青瓷：东方雅致 */
    --c-celadon-d:    #1F6F70;
    --c-wisteria:     #7B5EA7; /* 紫藤：人文浪漫 */
    --c-wisteria-d:   #5A3F82;
    --c-sunrise:      #FF8C42; /* 朝霞：青春活力 */
    --c-sunrise-d:    #E0691E;

    /* 中性色 */
    --c-paper:        #FAF7F2; /* 宣纸底色 */
    --c-cream:        #F8F0E3; /* 乳黄 */
    --c-ivory:        #F5F1E8; /* 象牙 */
    --c-bg:           #FFFFFF;
    --c-ink:          #1A1A2E; /* 墨：文字主色 */
    --c-ink-soft:     #2D2E5C;
    --c-text:         #2D2E48;
    --c-text-muted:   #6B6F8A;
    --c-border:       #E8E0D4;
    --c-divider:      #F0E8D8;

    /* 兼容别名（避免老变量名破坏现有样式） */
    --c-gold:         var(--c-gilt);
    --c-gold-deep:    var(--c-gilt-d);
    --c-cinnabar:     var(--c-vermilion);

    /* 阴影：加入一丝色彩偏移 */
    --shadow-sm: 0 2px 12px rgba(26, 27, 58, .08);
    --shadow-md: 0 8px 28px rgba(26, 27, 58, .12);
    --shadow-lg: 0 20px 60px rgba(26, 27, 58, .18);
    --shadow-art: 0 16px 40px rgba(230, 57, 70, .22); /* 朱砂彩色阴影 */

    --radius-sm: 4px;
    --radius-md: 10px;
    --radius-lg: 20px;

    --t-fast: .2s cubic-bezier(.4, 0, .2, 1);
    --t-base: .35s cubic-bezier(.4, 0, .2, 1);
    --t-slow: .6s cubic-bezier(.4, 0, .2, 1);

    --header-h: 92px;
    --header-h-sm: 84px;
    --topbar-h: 34px;

    /* 字体栈：所有装饰西文统一使用 Playfair Display（与 Hero "HUMANITIES · ARTS · CULTURE" 一致） */
    --font-serif:  "Noto Serif SC", "Playfair Display", "Source Han Serif SC", "STSong", serif;
    --font-sans:   "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    --font-display:"Ma Shan Zheng", "Playfair Display", "Noto Serif SC", serif;  /* 中文装饰书法 + 英文 fallback */
    --font-classic:"Playfair Display", "Noto Serif SC", serif;                     /* 装饰西文（统一标准） */
    --font-art:    "Playfair Display", "Noto Serif SC", serif;                     /* 别名：与 classic 一致 */
}

/* 全局默认字体、背景底色 */
body {
    font-family: var(--font-sans);
    color: var(--c-text);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ================ 通用容器 ================ */
.container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.section {
    padding: 80px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
}
.section-title h2 {
    font-family: var(--font-serif);
    font-size: 42px;
    color: var(--c-ink);
    letter-spacing: 6px;
    font-weight: 700;
    position: relative;
    display: inline-block;
}
.section-title h2::before {
    content: attr(data-deco);
    position: absolute;
    left: 50%;
    top: -28px;
    transform: translateX(-50%);
    font-family: var(--font-classic);
    font-style: italic;
    font-weight: 700;
    font-size: 64px;
    line-height: 1;
    background: linear-gradient(135deg, var(--c-vermilion) 0%, var(--c-sunrise) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: .12;
    pointer-events: none;
    white-space: nowrap;
    letter-spacing: 4px;
}
.section-title p {
    margin-top: 10px;
    font-size: 13px;
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 8px;
    font-family: var(--font-classic);
    font-style: italic;
    font-weight: 400;
}
.section-title::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, var(--c-vermilion) 0%, var(--c-gilt) 50%, var(--c-celadon) 100%);
    margin: 18px auto 0;
    border-radius: 2px;
}

/* ================ 按钮 ================ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 999px;
    font-size: 14px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all var(--t-base);
}
.btn-primary {
    background: linear-gradient(135deg, var(--c-vermilion) 0%, var(--c-sunrise) 100%);
    color: #fff;
    border: 0;
    box-shadow: 0 4px 16px rgba(230, 57, 70, .25);
}
.btn-primary:hover {
    background: linear-gradient(135deg, var(--c-vermilion-d) 0%, var(--c-vermilion) 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-art);
}
.btn-ghost {
    border-color: var(--c-vermilion);
    color: var(--c-vermilion);
}
.btn-ghost:hover {
    background: var(--c-vermilion);
    color: #fff;
}
.btn-arrow::after {
    content: "→";
    transition: transform var(--t-base);
}
.btn-arrow:hover::after {
    transform: translateX(4px);
}

/* ================ 顶部导航 ================ */
/* 顶部快捷条：人才招聘 / 党群等入口
 * 当前暂隐藏（HTML 结构保留，若需启用只需移除 display: none）
 */
.top-bar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--topbar-h);
    z-index: 1001;
    background: transparent;
    font-size: 13px;
    color: rgba(255, 255, 255, .9);
    transition: background var(--t-base), color var(--t-base), box-shadow var(--t-base);
}
.top-bar .container {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.top-bar-links {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.top-bar-links li {
    display: flex;
    align-items: center;
    position: relative;
}
.top-bar-links li + li::before {
    content: '';
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, .35);
    margin: 0 18px;
    transition: background var(--t-base);
}
.top-bar-links a {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
    letter-spacing: 2px;
    padding: 4px 2px;
    transition: color var(--t-base);
}
.top-bar-links a:hover {
    color: var(--c-vermilion);
}
/* 上滑后、内页白底：白底 + 深色文字 */
.top-bar.is-scrolled,
.top-bar.is-inner {
    background: rgba(255, 255, 255, .96);
    color: var(--c-ink);
    box-shadow: 0 1px 0 rgba(26, 27, 58, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.top-bar.is-scrolled .top-bar-links li + li::before,
.top-bar.is-inner .top-bar-links li + li::before {
    background: rgba(26, 27, 58, .18);
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-h);
    z-index: 999;
    background: rgba(255, 255, 255, 0);
    transition: background var(--t-base), height var(--t-base), box-shadow var(--t-base);
}
.site-header.is-scrolled,
.site-header.is-inner {
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--shadow-sm);
    height: var(--header-h-sm);
    backdrop-filter: blur(8px);
}
.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

/* 站点 Logo：彩色 logo 图 + 侧私中英文标题
 * 透明 header（首页顶部）：文字白色
 * 滚动后 / 内页白底：文字改黛紫 / logo 图尺寸略缩
 */
.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    color: #fff;
    transition: color var(--t-base);
}
.site-logo .logo-img {
    height: 64px;
    width: auto;
    display: block;
    transition: height var(--t-base);
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .15));
}
.site-logo .logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    text-align: left;
}
.site-logo .logo-text strong {
    /* 统一使用“展览与赛事”栏目标题同款衬线宋体（.section-title h2） */
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 4px;
    display: block;
}
.site-logo .logo-text .logo-text-en {
    /* 英文副标：与 Hero "HUMANITIES · ARTS · CULTURE" 一致 */
    font-family: var(--font-classic);
    font-style: italic;
    font-size: 12px;
    letter-spacing: 2px;
    opacity: .88;
    margin-top: 4px;
    font-weight: 400;
    text-transform: none;
}
/* 滚动后、内页白底：文字变黛紫；logo 图略缩 */
.site-header.is-scrolled .site-logo,
.site-header.is-inner .site-logo {
    color: var(--c-indigo);
    padding: 10px 0;
}
.site-header.is-scrolled .site-logo .logo-img,
.site-header.is-inner .site-logo .logo-img {
    height: 54px;
    filter: drop-shadow(0 2px 6px rgba(230, 57, 70, .18));
}

/* 主导航 */
.main-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}
.main-nav > li {
    position: relative;
}
.main-nav > li > a {
    display: block;
    padding: 0 18px;
    line-height: var(--header-h);
    font-size: 15px;
    color: #fff;
    position: relative;
    transition: line-height var(--t-base), color var(--t-base);
}
.site-header.is-scrolled .main-nav > li > a,
.site-header.is-inner .main-nav > li > a {
    color: var(--c-ink);
    line-height: var(--header-h-sm);
}
.main-nav > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 22px;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--c-vermilion), var(--c-gilt));
    border-radius: 2px;
    transition: width var(--t-base), left var(--t-base);
}
.main-nav > li:hover > a::after,
.main-nav > li.is-active > a::after {
    width: 28px;
    left: calc(50% - 14px);
}
.main-nav > li:hover > a,
.main-nav > li.is-active > a {
    color: var(--c-vermilion);
}

/* 子菜单 */
.sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: 160px;
    background: #fff;
    box-shadow: var(--shadow-md);
    border-radius: var(--radius-md);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--t-base), transform var(--t-base), visibility var(--t-base);
}
.main-nav > li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    color: var(--c-text);
    white-space: nowrap;
    text-align: center;
}
.sub-menu li a:hover {
    background: linear-gradient(90deg, rgba(230,57,70,.08), rgba(244,185,66,.08));
    color: var(--c-vermilion);
}

/* 移动端汉堡按钮 */
.nav-toggle {
    display: none;
    width: 32px;
    height: 32px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    transition: transform var(--t-base), opacity var(--t-base), background var(--t-base);
    margin: 0 auto;
}
.site-header.is-scrolled .nav-toggle span,
.site-header.is-inner .nav-toggle span {
    background: var(--c-ink);
}
.nav-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.nav-toggle.is-open span:nth-child(2) {
    opacity: 0;
}
.nav-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ================ 移动端抽屉菜单 ================ */
.mobile-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background: var(--c-ink);
    color: #fff;
    z-index: 998;
    padding: 100px 32px 40px;
    overflow-y: auto;
    transition: right var(--t-base);
    box-shadow: -8px 0 24px rgba(0, 0, 0, .2);
}
.mobile-drawer.is-open {
    right: 0;
}
.mobile-drawer ul li {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.mobile-drawer ul li > a {
    display: block;
    padding: 16px 0;
    font-size: 16px;
    color: #fff;
}
.mobile-drawer ul li > a:hover {
    color: var(--c-gold);
}
.mobile-drawer .sub-menu-mb {
    padding-left: 16px;
    display: none;
}
.mobile-drawer .sub-menu-mb.is-open {
    display: block;
}
.mobile-drawer .sub-menu-mb a {
    padding: 10px 0;
    font-size: 14px;
    color: rgba(255, 255, 255, .75);
}

.drawer-mask {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 997;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--t-base), visibility var(--t-base);
}
.drawer-mask.is-open {
    opacity: 1;
    visibility: visible;
}

/* ================ 内页 Banner ================ */
.inner-banner {
    height: 380px;
    margin-top: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(244, 185, 66, .35) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(123, 94, 167, .4) 0%, transparent 50%),
        linear-gradient(135deg, var(--c-indigo) 0%, var(--c-vermilion-d) 60%, var(--c-sunrise) 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    overflow: hidden;
}
.inner-banner::before,
.inner-banner::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(244, 185, 66, .35) 0%, transparent 70%);
    pointer-events: none;
}
.inner-banner::before {
    width: 520px;
    height: 520px;
    top: -140px;
    right: -140px;
    background: radial-gradient(circle, rgba(244, 185, 66, .4) 0%, transparent 70%);
}
.inner-banner::after {
    width: 380px;
    height: 380px;
    bottom: -100px;
    left: -100px;
    background: radial-gradient(circle, rgba(45, 149, 150, .35) 0%, transparent 70%);
}
.inner-banner h1 {
    /* 统一使用侧栏栏目标题同款衬线宋体（与 .side-nav-head h3一致） */
    font-family: var(--font-serif);
    font-size: 56px;
    font-weight: 600;
    letter-spacing: 8px;
    position: relative;
    z-index: 1;
    color: #fff;
}
.inner-banner p {
    margin-top: 16px;
    font-size: 13px;
    letter-spacing: 6px;
    text-transform: uppercase;
    opacity: .85;
    position: relative;
    z-index: 1;
    font-family: var(--font-classic);
    font-style: italic;
}

/* ================ 面包屑 ================ */
.crumb-bar {
    border-bottom: 1px solid var(--c-border);
    background: #fff;
}
.crumb {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-size: 13px;
    color: var(--c-text-muted);
}
.crumb a:hover {
    color: var(--c-vermilion);
}
.crumb .sep {
    opacity: .4;
}
.crumb .here {
    color: var(--c-ink);
}

/* ================ 分页 ================ */
.pager {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
    flex-wrap: wrap;
}
.pager a,
.pager span {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    color: var(--c-text);
    font-size: 13px;
    transition: all var(--t-fast);
}
.pager a:hover {
    border-color: var(--c-vermilion);
    color: var(--c-vermilion);
}
.pager .is-current {
    background: linear-gradient(135deg, var(--c-vermilion) 0%, var(--c-sunrise) 100%);
    border-color: transparent;
    color: #fff;
}
.pager .is-disabled {
    color: #cbd0d8;
    cursor: not-allowed;
}

/* ================ 底部 ================ */
.site-footer {
    background:
        radial-gradient(ellipse at 20% 0%, rgba(230, 57, 70, .12) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 100%, rgba(123, 94, 167, .15) 0%, transparent 50%),
        var(--c-indigo);
    color: rgba(255, 255, 255, .7);
    padding: 72px 0 24px;
    margin-top: 80px;
}
.foot-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 48px;
}
.foot-block h4 {
    color: #fff;
    font-size: 15px;
    margin-bottom: 18px;
    letter-spacing: 3px;
    font-family: var(--font-serif);
    font-weight: 700;
    position: relative;
    padding-bottom: 10px;
}
.foot-block h4::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 32px;
    height: 2px;
    background: linear-gradient(90deg, var(--c-vermilion), var(--c-gilt));
    border-radius: 2px;
}
.foot-block ul li {
    margin-bottom: 10px;
    font-size: 13px;
}
.foot-block ul li a {
    transition: all var(--t-fast);
}
.foot-block ul li a:hover {
    color: var(--c-gilt);
    padding-left: 6px;
}
.foot-intro p {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 12px;
}
.foot-qr {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}
.foot-qr .qr-item {
    width: 96px;
    height: 96px;
    background: rgba(255, 255, 255, .08);
    border: 1px dashed rgba(255, 255, 255, .2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .4);
    font-size: 12px;
    border-radius: var(--radius-sm);
}
.foot-bottom {
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding-top: 24px;
    text-align: center;
    font-size: 12px;
    color: rgba(255, 255, 255, .5);
}

/* ================ 回顶按钮 ================ */
.back-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--c-ink);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all var(--t-base);
    z-index: 100;
}
.back-top.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-top:hover {
    background: var(--c-gold);
    transform: translateY(-4px);
}

/* ================ 响应式断点 ================ */
@media (max-width: 1199px) {
    .section { padding: 64px 0; }
    .section-title h2 { font-size: 32px; }
    .section-title h2::before { font-size: 48px; top: -22px; }
}

@media (max-width: 991px) {
    .main-nav { display: none; }
    .nav-toggle { display: flex; }
    .foot-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 767px) {
    :root { --header-h: 68px; }
    .top-bar { display: none; }
    .site-header { top: 0; }
    /* =========================================================
       移动端间距统一标准 (≤7 67 px)
       - 容器左右 padding：16px
       - 大区块上下 padding：48px (.section / .home-section / .stats)
       - 章节标题下方间距：32px
       - 面包屑导航上下：12px
       - 面包间距统一按 8 的倍数控制
       ========================================================= */
    .container { padding: 0 16px; }
    .section { padding: 48px 0; }
    .section-title { margin-bottom: 32px; }
    .section-title h2 { font-size: 24px; letter-spacing: 2px; }
    .section-title h2::before { font-size: 36px; top: -16px; opacity: .08; }
    .section-title p { font-size: 12px; letter-spacing: 4px; }
    .inner-banner { height: 260px; }
    .inner-banner h1 { font-size: 36px; letter-spacing: 4px; }
    .inner-banner p { margin-top: 12px; font-size: 11px; letter-spacing: 2px; }
    .crumb-bar .crumb { padding: 12px 0; font-size: 12px; }
    .site-logo { gap: 10px; }
    .site-logo .logo-img { height: 46px; }
    .site-header.is-scrolled .site-logo .logo-img,
    .site-header.is-inner .site-logo .logo-img { height: 42px; }
    .site-logo .logo-text strong { font-size: 22px; letter-spacing: 3px; }
    .site-logo .logo-text .logo-text-en { display: block; font-size: 10px; letter-spacing: 1px; margin-top: 2px; opacity: .8; }
    .foot-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .site-footer { padding: 40px 0 16px; margin-top: 48px; }
    .back-top { width: 40px; height: 40px; right: 16px; bottom: 16px; }
}
