/*
Theme Name: 古武养生 - GuWu YangSheng
Theme URI: https://www.bsysgw.cn
Author: 百岁养生功官网
Author URI: https://www.bsysgw.cn
Description: 专为古武内功·养生文化网站设计的 WordPress 主题，融合传统中国武道美学与现代网页设计，适用于武术培训、养生功法、内功修炼等相关网站。
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: guwu-yangsheng
Tags: chinese, martial-arts, wellness, traditional, full-width-template, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =============================================
   CSS 变量 - 主题色彩系统
   ============================================= */
:root {
    /* 主色调 - 中国红 */
    --color-primary:        #9B1B1B;
    --color-primary-dark:   #6B0F0F;
    --color-primary-light:  #C42626;

    /* 辅助色 - 武道金 */
    --color-gold:           #C9A84C;
    --color-gold-dark:      #A07830;
    --color-gold-light:     #E8C96A;

    /* 背景色 - 古卷色 */
    --color-bg:             #E4D2BF;
    --color-bg-dark:        #CDB39A;
    --color-bg-paper:       #F5EBDD;

    /* 文字色 */
    --color-text:           #35170E;
    --color-text-muted:     #735842;
    --color-text-light:     #A48368;

    /* 历史变量兼容别名 */
    --primary-color:        var(--color-primary);
    --secondary-color:      var(--color-dark);
    --accent-color:         var(--color-gold);
    --text-color:           var(--color-text);

    /* 深色背景 */
    --color-dark:           #360806;
    --color-dark-secondary: #260504;

    /* 墨色 */
    --color-ink:            #360806;
    --color-ink-soft:       #4A0C09;

    /* 边框色 */
    --color-border:         #BFA284;
    --color-border-gold:    #C9A84C;

    /* 字体 */
    --font-serif:           'Noto Serif SC', 'Source Han Serif SC', '思源宋体', 'STSong', '宋体', Georgia, serif;
    --font-sans:            'Noto Sans SC', 'Source Han Sans SC', '思源黑体', 'Microsoft YaHei', '微软雅黑', sans-serif;
    --font-display:         'Ma Shan Zheng', 'ZCOOL XiaoWei', 'STKaiti', '楷体', var(--font-serif);

    /* 尺寸 */
    --max-width:            1280px;
    --bsys-shell-width: min(100% - 4rem, 1320px);
    --bsys-shell-padding: var(--spacing-md);
    --bsys-header-content-width: var(--bsys-shell-width);
    --bsys-header-content-padding: var(--bsys-shell-padding);
    --content-width:        860px;
    --sidebar-width:        300px;
    --border-radius:        4px;

    /* 间距 */
    --spacing-xs:           0.5rem;
    --spacing-sm:           1rem;
    --spacing-md:           2rem;
    --spacing-lg:           4rem;
    --spacing-xl:           6rem;

    /* 阴影 */
    --shadow-sm:            0 2px 8px rgba(155, 27, 27, 0.1);
    --shadow-md:            0 4px 20px rgba(155, 27, 27, 0.15);
    --shadow-lg:            0 8px 40px rgba(155, 27, 27, 0.2);

    /* 过渡 */
    --transition:           all 0.3s ease;
}

/* =============================================
   重置与基础样式
   ============================================= */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 18px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.8;
    color: var(--color-text);
    background-color: var(--color-bg);
    overflow-x: hidden;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--color-gold);
}

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

ul, ol {
    list-style: none;
}

/* =============================================
   排版
   ============================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    font-weight: 600;
    line-height: 1.4;
    color: var(--color-dark);
    margin-bottom: 0.75em;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

p {
    margin-bottom: 1.25em;
    color: var(--color-text);
}

blockquote {
    border-left: 4px solid var(--color-gold);
    padding: 1rem 1.5rem;
    margin: 2rem 0;
    background: var(--color-bg-paper);
    font-family: var(--font-serif);
    font-style: italic;
    color: var(--color-text-muted);
    position: relative;
}

blockquote::before {
    content: '❝';
    font-size: 3rem;
    color: var(--color-gold);
    opacity: 0.3;
    position: absolute;
    top: -0.5rem;
    left: 0.5rem;
    font-style: normal;
}

/* =============================================
   布局容器
   ============================================= */
.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.container-narrow {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.section {
    padding: var(--spacing-xl) 0;
}

.section-sm {
    padding: var(--spacing-lg) 0;
}

/* =============================================
   装饰性元素 - 传统纹样
   ============================================= */
.section-title {
    text-align: center;
    margin-bottom: var(--spacing-lg);
    position: relative;
}

.section-title h2 {
    font-family: var(--font-display);
    font-size: 2.2rem;
    color: var(--color-dark);
    display: inline-block;
    position: relative;
    padding: 0 2rem;
}

.section-title h2::before,
.section-title h2::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--color-gold));
    transform: translateY(-50%);
}

.section-title h2::before {
    right: calc(100% - 1.5rem);
    background: linear-gradient(to left, transparent, var(--color-gold));
}

.section-title h2::after {
    left: calc(100% - 1.5rem);
}

.section-title p {
    color: var(--color-text-muted);
    font-family: var(--font-serif);
    font-size: 1rem;
    margin-top: 0.5rem;
}

/* 传统云纹分割线 */
.divider-cloud {
    text-align: center;
    margin: 2rem 0;
    position: relative;
    height: 24px;
}

.divider-cloud::before {
    content: '❧ ✦ ❧';
    color: var(--color-gold);
    font-size: 1rem;
    letter-spacing: 0.5em;
    background: var(--color-bg);
    position: relative;
    z-index: 1;
    padding: 0 1rem;
}

.divider-cloud::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--color-border);
}

/* 传统边框装饰 */
.border-ornament {
    border: 1px solid var(--color-border-gold);
    position: relative;
    padding: 2rem;
}

.border-ornament::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    border: 1px solid var(--color-gold);
    opacity: 0.5;
    pointer-events: none;
}

/* =============================================
   按钮
   ============================================= */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border: 2px solid transparent;
    border-radius: var(--border-radius);
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    line-height: 1;
}

.btn-primary {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.btn-primary:hover {
    background: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-gold {
    background: linear-gradient(135deg, var(--color-gold-dark), var(--color-gold), var(--color-gold-light));
    color: var(--color-dark);
    border-color: var(--color-gold);
    font-weight: 600;
}

.btn-gold:hover {
    background: linear-gradient(135deg, var(--color-gold), var(--color-gold-light), var(--color-gold));
    color: var(--color-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(201, 168, 76, 0.4);
}

.btn-outline {
    background: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-outline:hover {
    background: var(--color-primary);
    color: #fff;
}

.btn-outline-gold {
    background: transparent;
    color: var(--color-gold);
    border-color: var(--color-gold);
}

.btn-outline-gold:hover {
    background: var(--color-gold);
    color: var(--color-dark);
}

.btn-lg {
    padding: 1rem 2.5rem;
    font-size: 1.1rem;
}

/* =============================================
   徽章/标签
   ============================================= */
.badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 2px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.badge-primary {
    background: var(--color-primary);
    color: #fff;
}

.badge-gold {
    background: var(--color-gold);
    color: var(--color-dark);
}

/* =============================================
   顶部公告栏
   ============================================= */
.site-sticky-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

#top-bar {
    background: var(--color-dark);
    color: #ccc;
    font-size: 0.85rem;
    padding: 0.4rem 0;
    letter-spacing: 0.05em;
}

#top-bar .container,
.site-brand-banner__inner,
#masthead .site-header-inner {
    width: var(--bsys-header-content-width);
    max-width: var(--bsys-header-content-width);
    margin-left: auto;
    margin-right: auto;
}

#top-bar .container {
    padding-left: 0;
    padding-right: 0;
}

#top-bar .top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1.15rem, 2.7vw, 2.25rem);
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

#top-bar .top-bar-text {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    white-space: nowrap;
}

#top-bar .top-bar-icons {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
}

#top-bar .top-bar-text-copy {
    min-width: 0;
}

#top-bar .top-bar-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(0.72rem, 1.45vw, 1.1rem);
    min-width: 0;
    white-space: nowrap;
}

#top-bar .top-bar-links {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.85rem;
    white-space: nowrap;
}

#top-bar .top-bar-phone {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

#top-bar .top-bar-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 0.85rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--color-gold-dark), var(--color-gold), var(--color-gold-light));
    color: var(--color-dark);
    font-weight: 700;
    letter-spacing: 0.03em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

#top-bar .top-bar-cta:hover {
    color: var(--color-dark);
    filter: brightness(1.06);
}

#top-bar .top-bar-links a {
    position: relative;
}

#top-bar .top-bar-links a + a::before {
    content: '';
    position: absolute;
    left: -0.45rem;
    top: 50%;
    width: 1px;
    height: 0.75rem;
    background: rgba(201, 168, 76, 0.35);
    transform: translateY(-50%);
}

#top-bar a {
    color: var(--color-gold-light);
}

#top-bar a:hover {
    color: #fff;
}

.site-brand-banner {
    background: #fbecd6;
    border-bottom: 1px solid rgba(120, 24, 43, 0.18);
}

.site-brand-banner__inner {
    padding: 0.34rem 0;
}

.site-brand-banner__link {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: clamp(0.55rem, 1.1vw, 1rem);
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    min-height: 58px;
    text-decoration: none;
}

.site-brand-banner__link:hover {
    text-decoration: none;
}

.site-brand-banner__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(48px, 3.8vw, 54px);
    flex: 0 0 auto;
}

.site-brand-banner__logo img {
    display: block;
    width: 100%;
    height: auto;
    transform: translateX(-3px);
}

.site-brand-banner__title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    gap: 0;
    min-width: 0;
    max-width: 100%;
    color: #9d1b27;
    font-family: "Zhi Mang Xing", "Ma Shan Zheng", var(--font-display);
    font-size: clamp(1.2rem, 2.06vw, 1.95rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.34);
}

.site-brand-banner__space {
    display: inline-block;
    flex: 0 0 auto;
}

.site-brand-banner__space--main {
    width: 1em;
}

.site-brand-banner__space--half {
    width: 0.5em;
}

/* =============================================
   顶部导航栏 - 三端自适应
   ============================================= */
#masthead {
    background: var(--color-dark);
    position: relative;
    z-index: 1;
    box-shadow: 0 2px 20px rgba(0,0,0,0.5);
    border-bottom: 2px solid var(--color-gold);
}

.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 72px;
    gap: 1.15rem;
    overflow: visible;
}

/* ── Logo ─────────────────────────────────── */
.site-branding {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    flex-shrink: 0;
    margin-right: 0.5rem;
    width: 64px;
}

.site-branding:hover {
    text-decoration: none;
}

.site-brand-emblem {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(255, 251, 245, 0.96) 0%, rgba(243, 229, 200, 0.96) 100%);
    border: 1px solid rgba(201, 168, 76, 0.42);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
    flex-shrink: 0;
}

.site-brand-emblem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-brand-fallback {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    border: 2px solid var(--color-gold);
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--color-gold);
}

/* ── 主导航 ──────────────────────────────── */
#primary-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    min-width: 0;
}

#primary-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.95rem, 2.05vw, 2.05rem);
    width: auto;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

#primary-menu > li {
    position: relative;
    flex: 0 1 auto;
    min-width: 0;
    text-align: center;
}

#primary-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72px;
    padding: 0 0.14rem;
    color: #d8cdb8;
    font-size: 1.04rem;
    font-family: var(--font-sans);
    font-weight: 400;
    letter-spacing: 0.04em;
    white-space: nowrap;   /* ← 核心：禁止换行 */
    transition: var(--transition);
    position: relative;
    text-decoration: none;
}

#primary-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--color-gold);
    transition: width 0.3s ease;
}

#primary-menu > li > a:hover,
#primary-menu > li.current-menu-item > a,
#primary-menu > li.current_page_item > a {
    color: var(--color-gold);
}

#primary-menu > li > a:hover::after,
#primary-menu > li.current-menu-item > a::after,
#primary-menu > li.current_page_item > a::after {
    width: 70%;
}

#primary-menu > li.menu-item-has-children > a {
    gap: 0.35rem;
}

#primary-menu > li.menu-item-has-children > a::before {
    content: '▾';
    font-size: 0.7em;
    opacity: 0.8;
}

/* ── 下拉菜单 ────────────────────────────── */
#primary-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 160px;
    background: var(--color-dark-secondary);
    border: 1px solid rgba(201,168,76,0.4);
    border-top: 2px solid var(--color-primary);
    padding: 0.4rem 0;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    z-index: 200;
    list-style: none;
    margin: 0;
}

#primary-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

#primary-menu .sub-menu li a {
    display: block;
    padding: 0.55rem 1.2rem;
    color: #ccc;
    font-size: 0.875rem;
    white-space: nowrap;
    border-left: 3px solid transparent;
    transition: var(--transition);
}

#primary-menu .sub-menu li a:hover {
    color: var(--color-gold);
    background: rgba(201, 168, 76, 0.08);
    border-left-color: var(--color-gold);
}

/* ── 汉堡按钮（平板/手机端） ─────────────── */
.menu-toggle {
    display: none;
    background: none;
    border: 1px solid var(--color-gold);
    color: var(--color-gold);
    padding: 0.45rem 0.65rem;
    cursor: pointer;
    border-radius: var(--border-radius);
    font-size: 1.1rem;
    flex-shrink: 0;
    line-height: 1;
}

/* ── 右侧操作区 ──────────────────────────── */
.header-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-shrink: 0;
    margin-left: 0.4rem;
}

.header-phone {
    color: var(--color-gold-light);
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

/* 报名按钮缩小 */
.header-actions .btn {
    padding: 0.62rem 1.2rem;
    font-size: 0.92rem;
    white-space: nowrap;
}

#primary-menu > li:last-child .sub-menu {
    left: auto;
    right: 0;
    transform: translateY(8px);
}

#primary-menu > li:last-child:hover > .sub-menu {
    transform: translateY(0);
}

@media (max-width: 1460px) {
    .site-branding {
        margin-right: 0.3rem;
        width: 64px;
    }

    .header-phone span {
        display: none;
    }

    #primary-menu > li > a {
        font-size: 0.94rem;
        padding: 0 0.48rem;
        letter-spacing: 0;
    }

    .header-actions {
        gap: 0.65rem;
        margin-left: 0.8rem;
    }

    .header-actions .btn {
        padding: 0.54rem 0.98rem;
        font-size: 0.86rem;
    }
}

/* ── 平板端 (≤1200px) ────────────────────── */
@media (max-width: 1200px) {
    .site-header-inner {
        padding: 0 1rem;
    }

    /* 隐藏电话号码文字，只显示图标 */
    .header-phone span {
        display: none;
    }

    /* 菜单项字体再缩小一档 */
    #primary-menu > li > a {
        font-size: 0.9rem;
        letter-spacing: 0;
        padding: 0 0.42rem;
    }
}

/* ── 小平板端 (≤960px)：切换汉堡菜单 ─────── */
@media (max-width: 960px) {
    #top-bar .top-bar-inner {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 0.5rem;
    }

    #top-bar .top-bar-text {
        white-space: normal;
    }

    #top-bar .top-bar-actions {
        justify-content: center;
        flex-wrap: wrap;
        white-space: normal;
    }

    #top-bar .top-bar-links {
        justify-content: center;
        white-space: normal;
    }

    .site-brand-banner__inner {
        padding: 0.29rem var(--spacing-md);
    }

    .site-brand-banner__link {
        min-height: 48px;
        gap: 0.5rem;
    }

    .site-brand-banner__logo {
        width: 44px;
    }

    .site-brand-banner__title {
        font-size: clamp(0.9rem, 1.99vw, 1.31rem);
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        order: 3;
        margin-left: 0.5rem;
    }

    .header-actions {
        order: 2;
    }

    /* 收起导航为侧滑抽屉 */
    #primary-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: min(300px, 85vw);
        height: 100vh;
        background: var(--color-dark);
        border-left: 2px solid var(--color-gold);
        flex-direction: column;
        align-items: stretch;
        padding: 70px 0 2rem;
        overflow-y: auto;
        transition: right 0.3s ease;
        z-index: 999;
        box-shadow: -4px 0 20px rgba(0,0,0,0.5);
    }

    #primary-navigation.active {
        right: 0;
    }

    /* 移动菜单：垂直列表 */
    #primary-menu {
        flex-direction: column;
        width: 100%;
    }

    #primary-menu > li {
        flex: none;
        text-align: left;
    }

    #primary-menu > li > a {
        height: auto;
        padding: 0.9rem 1.5rem;
        font-size: 1rem;
        justify-content: flex-start;
        border-bottom: 1px solid rgba(201, 168, 76, 0.1);
        white-space: nowrap;
    }

    #primary-menu > li > a::after {
        display: none;
    }

    /* 移动端下拉直接展开 */
    #primary-menu .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        border: none;
        border-top: none;
        padding-left: 1rem;
        background: rgba(255,255,255,0.03);
        min-width: auto;
    }

    /* 隐藏电话 */
    .header-phone {
        display: none;
    }

    /* 报名按钮保留 */
    .header-actions .btn {
        padding: 0.45rem 0.9rem;
        font-size: 0.8rem;
    }
}

/* ── 手机端 (≤480px) ─────────────────────── */
@media (max-width: 480px) {
    #top-bar {
        font-size: 0.78rem;
    }

    #top-bar .top-bar-links {
        gap: 0.7rem;
    }

    .site-brand-banner__inner {
        padding: 0.27rem 0.6rem;
    }

    .site-brand-banner__link {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 50px;
        gap: 0.14rem;
    }

    .site-brand-banner__logo {
        width: 34px;
    }

    .site-brand-banner__logo img {
        transform: none;
    }

    .site-brand-banner__title {
        width: 100%;
        font-size: clamp(0.44rem, 2.03vw, 0.57rem);
        text-align: center;
        white-space: nowrap;
    }

    .site-header-inner {
        padding: 0 0.875rem;
        height: 56px;
    }

    .site-logo {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }

    .site-title-wrap .site-title {
        font-size: 1rem;
    }

    .header-actions .btn {
        padding: 0.4rem 0.75rem;
        font-size: 0.78rem;
    }

    #primary-navigation {
        padding-top: 60px;
    }
}

/* =============================================
   英雄区域 (Hero Section)
   ============================================= */
/* ---- 轮播 Banner（导航栏下方，独立展示区） ---- */
#banner {
    position: relative;
    height: 560px; /* 固定 px，字体调节不影响背景图尺寸 */
    overflow: hidden;
    background: var(--color-dark);
}

.banner-carousel {
    position: relative;
    width: 100%;
    height: 100%;
}

.banner-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 0 var(--spacing-md) 3.5rem;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.banner-slide.active {
    opacity: 1;
    pointer-events: auto;
}

/* 幻灯片背景图（CSS background，不受 rem/font-size 影响） */
.banner-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.65;
}

/* 遮罩层 */
.banner-slide-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(26, 15, 10, 0.72) 0%,
        rgba(26, 15, 10, 0.45) 55%,
        rgba(26, 15, 10, 0.12) 100%
    );
}

/* 左侧书法文字区域 */
.banner-text {
    position: relative;
    z-index: 2;
    max-width: 55%;
}

.banner-calligraphy {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.8vw, 2.3rem);
    color: #fff;
    line-height: 1.9;
    margin-bottom: 2rem;
    letter-spacing: 0.08em;
    text-shadow: 2px 2px 15px rgba(0,0,0,0.6);
}

/* 课程入口卷轴按钮 */
.banner-course-btns {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.scroll-btn {
    display: inline-block;
    padding: 0.55rem 1.4rem;
    background: rgba(201, 168, 76, 0.15);
    border: 1px solid var(--color-gold);
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: 0.95rem;
    border-radius: 2px;
    text-decoration: none;
    transition: var(--transition);
    letter-spacing: 0.05em;
    backdrop-filter: blur(4px);
}

.scroll-btn:hover {
    background: var(--color-gold);
    color: var(--color-dark);
}

/* 右侧师傅人物照片（img 元素，不受字体调节影响） */
.banner-master-wrap {
    position: absolute;
    right: 8%;
    bottom: 0;
    z-index: 2;
    height: 95%;
    display: flex;
    align-items: flex-end;
}

.banner-master-img {
    height: 100%;
    width: auto;
    object-fit: contain;
    object-position: bottom;
    max-width: 380px;
    filter: drop-shadow(-4px 0 20px rgba(0,0,0,0.5));
}

/* 轮播指示点 */
.banner-dots {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 3;
}

.banner-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(201, 168, 76, 0.25);
    border: 1px solid var(--color-gold);
    cursor: pointer;
    transition: var(--transition);
}

.banner-dot.active {
    background: var(--color-gold);
    width: 24px;
    border-radius: 5px;
}

@media (max-width: 900px) {
    #banner { height: 420px; }
    .banner-calligraphy { font-size: 1.4rem; }
    .banner-master-img { max-width: 260px; }
    .banner-master-wrap { right: 3%; }
}
@media (max-width: 600px) {
    #banner { height: 300px; }
    .banner-calligraphy { font-size: 1.1rem; }
    .banner-master-wrap { display: none; }
    .scroll-btn { font-size: 0.85rem; padding: 0.4rem 0.9rem; }
}

/* ---- Hero 内容区（轮播下方，暗色金色调） ---- */
#hero {
    position: relative;
    background: var(--color-dark);
    overflow: hidden;
    min-height: 600px;
    display: flex;
    align-items: center;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center top;
    opacity: 0.65;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(26, 15, 10, 0.78) 0%,
        rgba(26, 15, 10, 0.50) 55%,
        rgba(26, 15, 10, 0.18) 100%
    );
}

/* 水墨毛笔字装饰背景 */
.hero-ink-text {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-display);
    font-size: 18rem;
    color: rgba(201, 168, 76, 0.04);
    line-height: 1;
    writing-mode: vertical-rl;
    pointer-events: none;
    z-index: 1;
    letter-spacing: 0.1em;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 6rem var(--spacing-md);
    width: 100%;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(201, 168, 76, 0.15);
    border: 1px solid var(--color-gold);
    color: var(--color-gold);
    padding: 0.4rem 1rem;
    border-radius: 2px;
    font-size: 0.85rem;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
}

.hero-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 20px rgba(0,0,0,0.5);
}

.hero-title span {
    color: var(--color-gold);
    display: block;
}

.hero-subtitle {
    font-family: var(--font-serif);
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: rgba(255,255,255,0.75);
    margin-bottom: 2rem;
    max-width: 550px;
    line-height: 2;
}

.hero-quote {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--color-gold-light);
    opacity: 0.8;
    margin-bottom: 2.5rem;
    letter-spacing: 0.15em;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

.hero-stats {
    display: flex;
    gap: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(201, 168, 76, 0.3);
}

.hero-stat-item {
    text-align: center;
}

.hero-stat-number {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-gold);
    line-height: 1;
    display: block;
}

.hero-stat-label {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.1em;
    margin-top: 0.25rem;
    display: block;
}

/* 英雄区域右侧功法列表 */
.hero-features {
    position: absolute;
    right: var(--spacing-md);
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 280px;
}

.hero-feature-item {
    background: rgba(26, 15, 10, 0.8);
    border: 1px solid rgba(201, 168, 76, 0.3);
    border-left: 3px solid var(--color-gold);
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    backdrop-filter: blur(10px);
    transition: var(--transition);
}

.hero-feature-item:hover {
    border-color: var(--color-gold);
    background: rgba(155, 27, 27, 0.3);
}

.hero-feature-item h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-gold);
    margin-bottom: 0.25rem;
}

.hero-feature-item p {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.6);
    margin: 0;
    line-height: 1.6;
}

/* =============================================
   功法特色区域 (Features Section)
   ============================================= */
#features {
    background: var(--color-dark-secondary);
    color: #fff;
    padding: var(--spacing-xl) 0;
    position: relative;
    overflow: hidden;
}

#features::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to right, transparent, var(--color-gold), var(--color-primary), var(--color-gold), transparent);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin-top: var(--spacing-lg);
}

.feature-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(201, 168, 76, 0.2);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to right, var(--color-primary), var(--color-gold));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.feature-card:hover::before {
    transform: scaleX(1);
}

.feature-card:hover {
    background: rgba(201, 168, 76, 0.08);
    border-color: rgba(201, 168, 76, 0.5);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.feature-icon {
    width: 70px;
    height: 70px;
    background: radial-gradient(circle, rgba(155, 27, 27, 0.4), rgba(155, 27, 27, 0.1));
    border: 2px solid var(--color-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2rem;
}

.feature-card h3 {
    font-family: var(--font-display);
    font-size: 1.3rem;
    color: var(--color-gold);
    margin-bottom: 0.75rem;
}

.feature-card p {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.8;
}

/* =============================================
   课程/功法课程区域 (Courses Section)
   ============================================= */
#courses {
    background: var(--color-bg);
    padding: var(--spacing-xl) 0;
}

.courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

.course-card {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    overflow: hidden;
    position: relative;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
}

.course-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    border-color: var(--color-gold);
}

.course-thumbnail {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: var(--color-dark);
}

.course-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.course-card:hover .course-thumbnail img {
    transform: scale(1.05);
}

.course-level {
    position: absolute;
    top: 1rem;
    left: 1rem;
}

.course-body {
    padding: 1.5rem;
}

.course-category {
    font-size: 0.8rem;
    color: var(--color-primary);
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    display: block;
}

.course-body h3 {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--color-dark);
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.course-body p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.course-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--color-text-light);
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
    flex-wrap: wrap;
}

.course-meta span {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.course-footer {
    padding: 1rem 1.5rem;
    background: var(--color-bg-dark);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--color-border);
}

.course-price {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-primary);
}

.course-price .original {
    font-size: 0.85rem;
    color: var(--color-text-light);
    text-decoration: line-through;
    margin-left: 0.5rem;
    font-weight: 400;
}

.card-stretched-link::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}

.card-stretched-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}

.card-stretched-link:focus-visible::after {
    outline: 2px solid rgba(169, 34, 24, 0.72);
    outline-offset: -4px;
}

.card-secondary-link {
    position: relative;
    z-index: 2;
}

/* =============================================
   师傅介绍区域 (Master/Instructor Section)
   ============================================= */
#master {
    background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-secondary) 100%);
    color: #fff;
    padding: var(--spacing-xl) 0;
    position: relative;
    overflow: hidden;
}

/* 水墨背景装饰 */
#master::before {
    content: '道';
    position: absolute;
    right: -2rem;
    bottom: -2rem;
    font-family: var(--font-display);
    font-size: 30rem;
    color: rgba(255,255,255,0.02);
    line-height: 1;
    pointer-events: none;
}

.master-inner {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 5rem;
    align-items: center;
    position: relative;
    z-index: 1;
}

.master-portrait {
    position: relative;
}

.master-portrait-frame {
    position: relative;
    border: 3px solid var(--color-gold);
    padding: 8px;
    background: var(--color-dark);
}

.master-portrait-frame::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    border: 1px solid rgba(201, 168, 76, 0.3);
}

.master-portrait img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    filter: grayscale(20%);
}

.master-portrait-placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(139, 39, 24, 0.28), transparent 42%),
        linear-gradient(160deg, rgba(89, 18, 12, 0.95), rgba(53, 15, 10, 0.96));
    color: rgba(201, 168, 76, 0.42);
    font-family: var(--font-display);
    font-size: clamp(5rem, 8vw, 7rem);
    letter-spacing: 0.15em;
}

.master-seal {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    background: var(--color-primary);
    border: 2px solid var(--color-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 0.85rem;
    color: var(--color-gold);
    text-align: center;
    line-height: 1.4;
    writing-mode: vertical-rl;
}

.master-content .pre-title {
    font-family: var(--font-display);
    font-size: 0.9rem;
    color: var(--color-gold);
    letter-spacing: 0.3em;
    display: block;
    margin-bottom: 0.75rem;
}

.master-content h2 {
    font-family: var(--font-display);
    font-size: 3rem;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 1rem;
}

.master-content h2 span {
    color: var(--color-gold);
    font-size: 1.5rem;
    display: block;
}

.master-content .description {
    color: rgba(255,255,255,0.75);
    font-family: var(--font-serif);
    line-height: 2;
    margin-bottom: 1.5rem;
    font-size: 1rem;
}

.master-achievements {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

.master-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.master-actions .btn {
    min-width: 162px;
}

.achievement-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.achievement-icon {
    width: 36px;
    height: 36px;
    background: rgba(201, 168, 76, 0.15);
    border: 1px solid var(--color-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.achievement-text h4 {
    font-size: 0.95rem;
    color: var(--color-gold-light);
    margin-bottom: 0.2rem;
    font-family: var(--font-sans);
}

.achievement-text p {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.55);
    margin: 0;
}

/* =============================================
   功法体系区域 (System/Methods Section)
   ============================================= */
#methods {
    background: var(--color-bg-dark);
    padding: var(--spacing-xl) 0;
}

.methods-tabs {
    margin-top: var(--spacing-lg);
}

.tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    margin-bottom: 2rem;
    overflow-x: auto;
}

.tab-btn {
    padding: 0.75rem 1.5rem;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--color-text-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: var(--transition);
}

.tab-btn:hover,
.tab-btn.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.method-description h3 {
    font-family: var(--font-display);
    font-size: 1.8rem;
    color: var(--color-primary);
    margin-bottom: 1rem;
}

.method-description p {
    font-family: var(--font-serif);
    line-height: 2;
    color: var(--color-text-muted);
}

.method-steps {
    counter-reset: step-counter;
}

.method-step {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px dashed var(--color-border);
    position: relative;
}

.method-step:last-child {
    border-bottom: none;
}

.step-number {
    width: 40px;
    height: 40px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 0.9rem;
    font-weight: 700;
    flex-shrink: 0;
}

.step-content h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-dark);
    margin-bottom: 0.3rem;
}

.step-content p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin: 0;
    line-height: 1.7;
}

/* =============================================
   学员见证区域 (Testimonials Section)
   ============================================= */
#testimonials {
    background: var(--color-bg-paper);
    padding: var(--spacing-xl) 0;
    position: relative;
    overflow: hidden;
}

#testimonials::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, var(--color-primary), var(--color-gold), var(--color-primary));
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.5rem;
    margin-top: var(--spacing-lg);
}

.testimonial-card {
    background: #fff;
    border: 1px solid var(--color-border);
    padding: 2rem;
    position: relative;
    transition: var(--transition);
}

.testimonial-card::before {
    content: '❝';
    position: absolute;
    top: -0.5rem;
    left: 1.5rem;
    font-size: 4rem;
    color: var(--color-primary);
    opacity: 0.15;
    font-family: Georgia, serif;
    line-height: 1;
}

.testimonial-card:hover {
    border-color: var(--color-gold);
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.testimonial-text {
    font-family: var(--font-serif);
    font-size: 0.95rem;
    line-height: 2;
    color: var(--color-text);
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.testimonial-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color-gold);
}

.testimonial-author-info h4 {
    font-size: 1rem;
    color: var(--color-dark);
    margin-bottom: 0.1rem;
}

.testimonial-author-info span {
    font-size: 0.8rem;
    color: var(--color-text-light);
}

.testimonial-stars {
    margin-left: auto;
    color: var(--color-gold);
    font-size: 1rem;
    letter-spacing: 2px;
}

/* =============================================
   视频见证区域
   ============================================= */
#video-testimonials {
    background: var(--color-dark);
    padding: var(--spacing-xl) 0;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: var(--spacing-lg);
}

.video-card {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    cursor: pointer;
}

.video-thumbnail {
    aspect-ratio: 16/9;
    background: var(--color-dark-secondary);
    position: relative;
    overflow: hidden;
}

.video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.video-card:hover .video-thumbnail img {
    transform: scale(1.05);
}

.video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: rgba(155, 27, 27, 0.9);
    border: 2px solid var(--color-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    transition: var(--transition);
}

.video-card:hover .video-play-btn {
    background: var(--color-primary);
    transform: translate(-50%, -50%) scale(1.1);
}

.video-info {
    padding: 1rem;
    background: rgba(44, 26, 14, 0.95);
    border: 1px solid rgba(201, 168, 76, 0.2);
    border-top: none;
}

.video-info h4 {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    color: var(--color-gold-light);
    margin-bottom: 0.25rem;
}

.video-info p {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
    margin: 0;
}

/* =============================================
   新闻/文章区域 (Blog Section)
   ============================================= */
#latest-posts {
    background: var(--color-bg);
    padding: var(--spacing-xl) 0;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: var(--spacing-lg);
}

.post-card {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    overflow: hidden;
    position: relative;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.post-card:hover {
    border-color: var(--color-gold);
    box-shadow: var(--shadow-md);
}

.post-thumbnail {
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--color-dark);
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.post-card:hover .post-thumbnail img {
    transform: scale(1.05);
}

.post-body {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.post-category {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}

.post-body h3 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    line-height: 1.5;
    margin: 0;
}

.post-body h3 a {
    color: var(--color-dark);
}

.post-body h3 a:hover {
    color: var(--color-primary);
}

.post-excerpt {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    line-height: 1.7;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.post-excerpt--rich {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.post-excerpt--rich p {
    display: inline;
    margin: 0;
    color: inherit;
    line-height: inherit;
    text-indent: 0;
}

.post-excerpt--rich p + p,
.post-excerpt--rich ul,
.post-excerpt--rich ol {
    margin-top: 0;
}

.post-excerpt--rich ul,
.post-excerpt--rich ol {
    padding-left: 1.1rem;
}

body.guwu-copy-protection-enabled #content,
[data-guwu-copy-protected="1"] {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

body.guwu-copy-protection-enabled #content img,
body.guwu-copy-protection-enabled #content video,
[data-guwu-copy-protected="1"] img,
[data-guwu-copy-protected="1"] video {
    -webkit-user-drag: none;
    user-drag: none;
}

body.guwu-copy-protection-enabled #content input,
body.guwu-copy-protection-enabled #content textarea,
body.guwu-copy-protection-enabled #content select,
body.guwu-copy-protection-enabled #content button,
body.guwu-copy-protection-enabled #content a,
body.guwu-copy-protection-enabled #content [data-guwu-copy-allowed="1"],
[data-guwu-copy-protected="1"] input,
[data-guwu-copy-protected="1"] textarea,
[data-guwu-copy-protected="1"] select,
[data-guwu-copy-protected="1"] button,
[data-guwu-copy-protected="1"] a,
[data-guwu-copy-protected="1"] [data-guwu-copy-allowed="1"] {
    -webkit-user-select: auto;
    user-select: auto;
    -webkit-touch-callout: default;
}

.course-card-summary,
.course-hero-summary,
.related-video-summary {
    color: inherit;
    line-height: inherit;
}

.course-card-summary p,
.course-hero-summary p,
.related-video-summary p {
    margin: 0;
    text-indent: 0;
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--color-text-light);
    padding-top: 1rem;
    margin-top: auto;
    border-top: 1px solid var(--color-border);
}

.post-card--kungfu-detail-course,
.post-card--student-share {
    border: 1px solid rgba(201, 168, 76, 0.9);
    background: linear-gradient(180deg, rgba(251, 246, 238, 0.98) 0%, rgba(248, 241, 231, 0.98) 100%);
    box-shadow: 0 18px 38px rgba(60, 34, 19, 0.08);
}

.post-card--kungfu-detail-course:hover,
.post-card--student-share:hover {
    border-color: rgba(169, 34, 24, 0.52);
    box-shadow: 0 22px 44px rgba(60, 34, 19, 0.12);
}

.post-card--kungfu-detail-course .post-thumbnail,
.post-card--student-share .post-thumbnail {
    aspect-ratio: 16 / 10;
    background: #e9dcc7;
}

.post-card--kungfu-detail-course .post-body,
.post-card--student-share .post-body {
    padding: 1.8rem 1.55rem 1.45rem;
    gap: 1rem;
}

.post-card--kungfu-detail-course .post-body h3,
.post-card--kungfu-detail-course .post-body h3 a,
.post-card--student-share .post-body h3,
.post-card--student-share .post-body h3 a,
.post-card--success-case .post-body h3,
.post-card--success-case .post-body h3 a {
    font-family: var(--font-sans);
    font-size: clamp(1.16rem, 1.55vw, 1.38rem);
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: 0;
}

.post-card--success-case .post-excerpt,
.post-card--kungfu-detail-course .post-excerpt,
.post-card--student-share .post-excerpt {
    font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;
    font-size: 0.84rem;
    line-height: 1.92;
    color: rgba(102, 82, 67, 0.92);
    -webkit-line-clamp: 3;
}

.post-card--student-share .post-meta {
    padding-top: 1.15rem;
    border-top: 1px solid rgba(201, 168, 76, 0.6);
    font-size: 0.96rem;
    color: rgba(135, 113, 93, 0.95);
}

.post-card--student-share .post-meta span {
    align-items: center;
    gap: 0.55rem;
}

.course-card-action-row {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(201, 168, 76, 0.56);
}

.course-card-detail-btn {
    padding: 0.56rem 1rem;
    font-size: 0.84rem;
    letter-spacing: 0.04em;
    border-color: rgba(169, 34, 24, 0.2);
    color: #8d3026;
    background: rgba(255, 255, 255, 0.72);
}

.course-card-detail-btn:hover,
.course-card-detail-btn:focus-visible {
    border-color: rgba(169, 34, 24, 0.34);
    color: #7a241c;
    background: rgba(255, 248, 244, 0.92);
}

.course-card-price {
    margin-top: 0;
    margin-left: auto;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0;
    padding-top: 0;
    border-top: 0;
    text-align: right;
}

.course-card-price-value {
    color: #a53a2f;
    font-size: clamp(0.98rem, 1.35vw, 1.12rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.post-card--text-only {
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(250,244,235,0.96) 100%);
}

.post-card--text-only::before {
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg, rgba(201, 168, 76, 0.92) 0%, rgba(201, 168, 76, 0.12) 72%);
}

.post-card--text-only .post-body {
    padding-top: 1.25rem;
}

.post-card--text-only .post-excerpt {
    -webkit-line-clamp: 4;
}

.page-article--yangsheng .posts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.post-card--yangsheng-listing {
    border: 1px solid rgba(201, 168, 76, 0.9);
    background: linear-gradient(180deg, rgba(251, 246, 238, 0.98) 0%, rgba(248, 241, 231, 0.98) 100%);
    box-shadow: 0 18px 38px rgba(60, 34, 19, 0.08);
}

.post-card--yangsheng-listing:hover {
    border-color: rgba(169, 34, 24, 0.42);
    box-shadow: 0 22px 44px rgba(60, 34, 19, 0.12);
}

.post-card--yangsheng-listing::before,
.page-article--yangsheng .post-card--text-only::before {
    display: none;
}

.post-card--yangsheng-listing .post-body,
.page-article--yangsheng .post-card--text-only .post-body {
    padding: 1.8rem 1.55rem 1.45rem;
    gap: 1rem;
}

.post-card--yangsheng-listing .post-category {
    margin-bottom: 0.2rem;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #a92218;
}

.post-card--yangsheng-listing .post-body h3 {
    font-size: clamp(1.55rem, 2.15vw, 2.05rem);
    line-height: 1.48;
}

.post-card--yangsheng-listing .post-excerpt {
    font-size: 1rem;
    line-height: 1.85;
    color: rgba(70, 55, 44, 0.9);
    -webkit-line-clamp: 3;
}

.post-card--yangsheng-listing .post-meta {
    padding-top: 1.15rem;
    border-top: 1px solid rgba(201, 168, 76, 0.6);
    font-size: 0.96rem;
    color: rgba(135, 113, 93, 0.95);
}

.post-card--yangsheng-listing .post-meta span {
    align-items: center;
    gap: 0.55rem;
}

.page-article--success-cases .page-content-shell,
.page-article--student-sharing .page-content-shell {
    margin-bottom: 0.6rem;
}

.page-article--success-cases .page-intro-panel,
.page-article--student-sharing .page-intro-panel {
    padding: 0 0 0.5rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.page-article--success-cases .page-intro-panel h2,
.page-article--student-sharing .page-intro-panel h2 {
    margin-top: 0.35rem;
    font-size: clamp(2.15rem, 4vw, 3.2rem);
    line-height: 1.1;
}

.page-article--success-cases .page-intro-panel p,
.page-article--student-sharing .page-intro-panel p {
    max-width: 680px;
    font-size: 1.06rem;
    color: var(--color-text);
}

.page-article--success-cases .posts-grid,
.page-article--student-sharing .posts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.post-card--feature-archive {
    border: 1px solid rgba(201, 168, 76, 0.9);
    background: linear-gradient(180deg, rgba(251, 246, 238, 0.98) 0%, rgba(248, 241, 231, 0.98) 100%);
    box-shadow: 0 18px 38px rgba(60, 34, 19, 0.08);
}

.post-card--feature-archive:hover {
    border-color: rgba(169, 34, 24, 0.52);
    box-shadow: 0 22px 44px rgba(60, 34, 19, 0.12);
}

.post-card--feature-archive .post-thumbnail {
    aspect-ratio: 16 / 10;
    background: #e9dcc7;
}

.post-card--feature-archive .post-body {
    padding: 1.8rem 1.55rem 1.45rem;
    gap: 1rem;
}

.post-card--feature-archive .post-category {
    margin-bottom: 0.2rem;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #a92218;
}

.post-card--feature-archive .post-body h3 {
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    line-height: 1.42;
}

.post-card--feature-archive.post-card--student-share .post-body h3,
.post-card--feature-archive.post-card--student-share .post-body h3 a,
.post-card--feature-archive.post-card--success-case .post-body h3,
.post-card--feature-archive.post-card--success-case .post-body h3 a {
    font-family: var(--font-sans);
    font-size: clamp(1.16rem, 1.55vw, 1.38rem);
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: 0;
}

.post-card--feature-archive.post-card--success-case .post-body h3 a,
.post-card--feature-archive.post-card--student-share .post-body h3 a,
.post-card--kungfu-detail-course .post-body h3 a {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

.post-card--success-case .post-excerpt {
    -webkit-line-clamp: 2;
}

.post-card--feature-archive .post-meta {
    padding-top: 1.15rem;
    border-top: 1px solid rgba(201, 168, 76, 0.6);
    font-size: 0.96rem;
    color: rgba(135, 113, 93, 0.95);
}

.post-card--feature-archive .post-meta span {
    align-items: center;
    gap: 0.55rem;
}

.news-feature {
    display: grid;
    grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.05fr);
    gap: 1.4rem;
    align-items: stretch;
    max-width: 1120px;
    margin: 1.65rem auto 0;
    padding: 0.95rem;
    background: linear-gradient(135deg, rgba(255, 249, 240, 0.95), rgba(248, 240, 226, 0.9));
    border: 1px solid rgba(201, 168, 76, 0.34);
    border-radius: 26px;
    box-shadow: 0 20px 36px rgba(80, 45, 25, 0.08);
}

.news-feature-visual {
    min-width: 0;
}

.news-feature-thumb,
.news-feature-placeholder {
    display: flex;
    width: 100%;
    min-height: 100%;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(135deg, #5f241c, #2a170f);
    border: 1px solid rgba(201, 168, 76, 0.32);
    text-decoration: none;
}

.news-feature-thumb img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
}

.news-feature-placeholder {
    position: relative;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 2rem;
    color: #fff8ef;
}

.news-feature-placeholder::before {
    content: "新";
    position: absolute;
    right: 1.4rem;
    bottom: 0.8rem;
    font-family: var(--font-display);
    font-size: 7rem;
    color: rgba(255,255,255,0.06);
    line-height: 1;
}

.news-feature-placeholder-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    border: 1px solid rgba(201, 168, 76, 0.38);
    color: var(--color-gold-light);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.news-feature-placeholder strong {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.news-feature-placeholder em {
    margin-top: 0.8rem;
    font-style: normal;
    color: rgba(255, 243, 225, 0.7);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.88rem;
}

.news-feature-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 0.55rem 0.35rem 0.55rem 0.1rem;
}

.news-feature-body h3 {
    margin: 0 0 0.75rem;
    font-size: clamp(1.45rem, 1.95vw, 2rem);
    line-height: 1.3;
}

.news-feature-body h3 a {
    color: var(--color-dark);
}

.news-feature-body h3 a:hover {
    color: var(--color-primary);
}

.news-feature-body p {
    margin: 0;
    color: var(--color-text);
    font-size: 0.98rem;
    line-height: 1.85;
}

.news-feature-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(201, 168, 76, 0.28);
    color: var(--color-text-light);
    font-size: 0.88rem;
}

.news-feature-link {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: none;
}

.news-feature-link:hover {
    color: var(--color-gold-dark);
}

.page-article--news .page-content-body {
    display: grid;
    gap: 2rem;
}

.news-hub {
    display: grid;
    gap: 2rem;
}

.news-hub-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
    padding: 1.7rem 1.85rem;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(249, 242, 231, 0.96) 100%);
    border: 1px solid rgba(201, 168, 76, 0.58);
    border-radius: 22px;
    box-shadow: 0 16px 30px rgba(80, 45, 25, 0.07);
}

.news-hub-hero h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.22;
    color: var(--color-dark);
}

.news-hub-hero p,
.news-hub-feature-copy p,
.news-hub-panel-head p,
.news-hub-latest-copy p,
.news-hub-cluster p,
.news-hub-card p,
.news-hub-faq-item p {
    text-indent: 0;
}

.news-hub-hero p {
    margin: 0;
    max-width: 100%;
    padding: 0;
    font-size: 1.04rem;
    line-height: 1.95;
    color: rgba(72, 54, 41, 0.92);
}

.news-hub-hero .page-info-strip {
    margin-top: 0.2rem;
}

.news-hub-hero-side,
.news-hub-feature,
.news-hub-latest,
.news-hub-cluster,
.news-hub-card,
.news-hub-faq-item {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(250, 244, 235, 0.97) 100%);
    border: 1px solid rgba(201, 168, 76, 0.45);
    border-radius: 16px;
    box-shadow: 0 16px 32px rgba(80, 45, 25, 0.07);
}

.news-hub-hero-side {
    padding: 1.45rem;
}

.news-hub-hero-side h3,
.news-hub-panel-head h3,
.news-hub-cluster h3,
.news-hub-faq-item h3,
.news-hub-card h3,
.news-hub-feature h3,
.news-hub-latest-copy h4 {
    padding-left: 0;
    border-left: 0;
}

.news-hub-hero-side h3 {
    margin: 0 0 1rem;
    font-size: 1.18rem;
    color: var(--color-dark);
}

.news-hub-coverage-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.news-hub-coverage-list li {
    display: grid;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(201, 168, 76, 0.28);
}

.news-hub-coverage-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.news-hub-coverage-list strong {
    font-size: 1rem;
    color: var(--color-dark);
}

.news-hub-coverage-list span {
    font-size: 0.95rem;
    line-height: 1.78;
    color: rgba(76, 61, 48, 0.88);
}

.news-hub-focus {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 1.5rem;
}

.news-hub-feature {
    padding: 1.9rem 1.75rem;
    position: relative;
    cursor: pointer;
}

.news-hub-feature-head,
.news-hub-cluster-top,
.news-hub-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.news-hub-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.82rem;
    border-radius: 999px;
    background: rgba(169, 34, 24, 0.08);
    border: 1px solid rgba(169, 34, 24, 0.18);
    color: var(--color-primary);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.news-hub-topic {
    display: inline-flex;
    align-items: center;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    border: 1px solid rgba(201, 168, 76, 0.45);
    color: var(--color-primary);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.news-hub-feature h3 {
    margin: 1rem 0 0.95rem;
    font-size: clamp(1.8rem, 2.6vw, 2.5rem);
    line-height: 1.34;
}

.news-hub-feature h3 a,
.news-hub-latest-copy h4 a,
.news-hub-cluster a,
.news-hub-card h3 a {
    color: var(--color-dark);
    text-decoration: none;
}

.news-hub-feature h3 a:hover,
.news-hub-latest-copy h4 a:hover,
.news-hub-cluster a:hover,
.news-hub-card h3 a:hover {
    color: var(--color-primary);
}

.news-hub-feature-copy {
    display: grid;
    gap: 0.85rem;
    color: rgba(69, 55, 44, 0.92);
    font-size: 1rem;
    line-height: 1.92;
}

.news-hub-feature-copy p {
    margin: 0;
}

.news-hub-feature-meta,
.news-hub-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(201, 168, 76, 0.32);
    font-size: 0.9rem;
    color: rgba(126, 101, 80, 0.92);
}

.news-hub-inline-link {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: none;
}

.news-hub-inline-link:hover {
    color: var(--color-gold-dark);
}

.news-hub-latest {
    padding: 1.55rem;
}

.news-hub-panel-head h3 {
    margin: 0;
    font-size: 1.24rem;
    color: var(--color-dark);
}

.news-hub-panel-head p {
    margin: 0.45rem 0 0;
    font-size: 0.95rem;
    line-height: 1.8;
    color: rgba(86, 70, 57, 0.86);
}

.news-hub-latest-list {
    list-style: none;
    margin: 1.35rem 0 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.news-hub-latest-list li {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.95rem;
    align-items: start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(201, 168, 76, 0.22);
}

.news-hub-latest-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.news-hub-latest-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-primary) 0%, #70221a 100%);
    color: #fff;
    font-family: var(--font-serif);
    font-size: 0.95rem;
    font-weight: 700;
}

.news-hub-latest-copy {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.news-hub-latest-copy h4 {
    margin: 0;
    font-size: 1.03rem;
    line-height: 1.55;
    color: var(--color-dark);
}

.news-hub-latest-copy p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.75;
    color: rgba(92, 73, 58, 0.88);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-hub-latest-list time {
    padding-top: 0.16rem;
    font-size: 0.83rem;
    color: rgba(137, 115, 95, 0.94);
    white-space: nowrap;
}

.news-hub-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

.news-hub-overview-card {
    padding: 1.45rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(251, 245, 236, 0.98) 100%);
    border: 1px solid rgba(201, 168, 76, 0.5);
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(80, 45, 25, 0.06);
}

.news-hub-overview-card h3 {
    margin: 0 0 0.85rem;
    padding-left: 0;
    border-left: 0;
    font-size: 1.22rem;
    color: var(--color-primary);
}

.news-hub-overview-card p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.86;
    color: rgba(79, 64, 50, 0.9);
}

.news-hub-cluster-grid,
.news-hub-archive-grid,
.news-hub-faq-grid {
    display: grid;
    gap: 1.35rem;
}

.news-hub-cluster-grid,
.news-hub-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.news-hub-archive-grid {
    grid-template-columns: 1fr;
}

.news-hub-cluster,
.news-hub-card,
.news-hub-faq-item {
    padding: 1.5rem;
}

.news-hub-cluster strong {
    font-size: 0.94rem;
    color: var(--color-gold-dark);
}

.news-hub-cluster h3 {
    margin: 0.85rem 0 0.55rem;
    font-size: 1.26rem;
    color: var(--color-dark);
}

.news-hub-cluster p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.82;
    color: rgba(82, 66, 52, 0.9);
}

.news-hub-cluster ul {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

.news-hub-cluster li {
    margin: 0;
    padding: 0;
}

.news-hub-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.4rem;
    align-items: start;
    position: relative;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
    cursor: pointer;
}

.news-hub-card:hover {
    border-color: rgba(169, 34, 24, 0.45);
    box-shadow: 0 18px 34px rgba(80, 45, 25, 0.1);
}

.news-hub-card-main {
    min-width: 0;
}

.news-hub-card-side {
    display: grid;
    justify-items: end;
    gap: 1rem;
    min-width: 180px;
    padding-left: 1.2rem;
    border-left: 1px solid rgba(201, 168, 76, 0.26);
}

.news-hub-card-side time {
    font-size: 0.83rem;
    color: rgba(137, 115, 95, 0.94);
    white-space: nowrap;
    padding-top: 0.15rem;
}

.news-hub-card h3 {
    margin: 0.7rem 0 0.5rem;
    font-size: 1.18rem;
    line-height: 1.52;
    color: var(--color-dark);
}

.news-hub-card p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.82;
    color: rgba(79, 64, 50, 0.9);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-hub-faq-item h3 {
    margin: 0 0 0.65rem;
    font-size: 1.16rem;
    color: var(--color-dark);
}

.news-hub-faq-item p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.84;
    color: rgba(79, 64, 50, 0.9);
}

@media (max-width: 1200px) {
    .news-hub-hero,
    .news-hub-focus {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .news-hub-overview-grid,
    .news-hub-cluster-grid,
    .news-hub-archive-grid,
    .news-hub-faq-grid {
        grid-template-columns: 1fr;
    }

    .news-hub-card {
        grid-template-columns: 1fr;
    }

    .news-hub-card-side {
        justify-items: start;
        min-width: 0;
        padding-left: 0;
        padding-top: 0.9rem;
        border-left: 0;
        border-top: 1px solid rgba(201, 168, 76, 0.26);
    }

    .news-hub-latest-list li {
        grid-template-columns: auto 1fr;
    }

    .news-hub-latest-list time {
        grid-column: 2 / -1;
        padding-top: 0;
    }
}

@media (max-width: 640px) {
    .news-hub-hero,
    .news-hub-feature,
    .news-hub-latest,
    .news-hub-cluster,
    .news-hub-card,
    .news-hub-faq-item,
    .news-hub-hero-side,
    .news-hub-overview-card {
        padding: 1.2rem;
    }

    .news-hub-feature h3,
    .news-hub-card h3 {
        font-size: 1.28rem;
    }

    .news-hub-feature-meta,
    .news-hub-card-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =============================================
   号召行动区域 (CTA Section)
   ============================================= */
#cta {
    background: var(--color-dark);
    color: #fff;
    padding: var(--spacing-xl) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

#cta::before {
    content: '武';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-display);
    font-size: 25rem;
    color: rgba(255,255,255,0.03);
    pointer-events: none;
}

.cta-content {
    position: relative;
    z-index: 1;
}

.cta-content h2 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3rem);
    color: #fff;
    margin-bottom: 1rem;
}

.cta-content p {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-phone {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    justify-content: center;
    font-size: 1rem;
    color: rgba(255,255,255,0.75);
}

.cta-phone strong {
    font-size: 1.5rem;
    color: var(--color-gold-light);
    font-family: var(--font-serif);
}

/* =============================================
   联系/地图区域
   ============================================= */
#contact {
    background: var(--color-bg-dark);
    padding: var(--spacing-xl) 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    align-items: start;
}

.contact-grid > :only-child {
    grid-column: 1 / -1;
}

.contact-info h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--color-dark);
    margin-bottom: 1.5rem;
}

.contact-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    transition: var(--transition);
}

.contact-item:hover {
    border-color: var(--color-gold);
}

.contact-item-icon {
    width: 44px;
    height: 44px;
    background: var(--color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.contact-item-content h4 {
    font-size: 0.85rem;
    color: var(--color-text-light);
    margin-bottom: 0.25rem;
    font-weight: 400;
}

.contact-item-content p {
    font-size: 1rem;
    color: var(--color-text);
    margin: 0;
    font-weight: 500;
}

/* 联系表单 */
.contact-form {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    padding: 2rem;
}

.contact-form h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--color-dark);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--color-primary);
}

.form-group {
    margin-bottom: 1.25rem;
}

.form-group label {
    display: block;
    font-size: 0.9rem;
    color: var(--color-text);
    margin-bottom: 0.4rem;
    font-weight: 500;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    background: #fff;
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    transition: var(--transition);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(155, 27, 27, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

/* =============================================
   页脚
   ============================================= */
#colophon {
    background: linear-gradient(135deg, #360806 0%, #260504 100%);
    color: rgba(255,255,255,0.65);
    font-size: 0.9rem;
}

.footer-main {
    background: linear-gradient(135deg, #360806 0%, #260504 100%);
    padding: 2.35rem 0 1.85rem;
    border-bottom: 1px solid rgba(201, 168, 76, 0.2);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 2.1rem;
    align-items: start;
}

.footer-about .footer-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.footer-logo-icon {
    width: 50px;
    height: 50px;
    background: var(--color-primary);
    border: 2px solid var(--color-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--color-gold);
    flex-shrink: 0;
}

.footer-logo-text {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--color-gold);
    line-height: 1.2;
}

.footer-about p {
    color: rgba(255,255,255,0.55);
    line-height: 1.72;
    font-size: 0.84rem;
    margin-bottom: 0.8rem;
}

.footer-qr-card {
    width: min(100%, 150px);
    margin: 0.95rem 0 0;
    padding: 0.55rem;
    border-radius: 16px;
    border: 1px solid rgba(201, 168, 76, 0.24);
    background: rgba(255, 255, 255, 0.02);
    text-align: center;
}

.footer-qr-list {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.95rem;
}

.footer-qr-list .footer-qr-card {
    flex: 0 0 138px;
    margin-top: 0;
}

.footer-qr-media {
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    padding: 0.3rem;
}

.footer-qr-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
}

.footer-qr-card figcaption {
    margin-top: 0.5rem;
    color: var(--color-gold-light);
    font-size: 0.8rem;
    font-weight: 700;
}

.footer-social {
    display: flex;
    gap: 0.75rem;
}

.footer-social a {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(201, 168, 76, 0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.6);
    font-size: 0.9rem;
    transition: var(--transition);
}

.footer-social a:hover {
    border-color: var(--color-gold);
    color: var(--color-gold);
    background: rgba(201, 168, 76, 0.1);
}

.footer-widget h4 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-gold-light);
    margin-bottom: 0.9rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(201, 168, 76, 0.3);
    position: relative;
}

.footer-widget h4::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--color-primary);
}

.footer-menu li {
    margin-bottom: 0.32rem;
}

.footer-menu li a {
    color: rgba(255,255,255,0.55);
    font-size: 0.84rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.55;
    transition: var(--transition);
}

.footer-menu li a::before {
    content: '›';
    color: var(--color-gold);
    font-size: 1.2rem;
    line-height: 1;
}

.footer-menu li a:hover {
    color: var(--color-gold-light);
    padding-left: 4px;
}

.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.footer-contact-item {
    display: grid;
    grid-template-columns: 1.05rem minmax(0, 1fr);
    align-items: flex-start;
    gap: 0.75rem;
}

.footer-contact-item .icon {
    color: var(--color-gold);
    font-size: 0.9rem;
    margin-top: 0.1rem;
    width: 1.05rem;
    text-align: center;
}

.footer-contact-item span {
    color: rgba(255,255,255,0.6);
    font-size: 0.84rem;
    line-height: 1.5;
}

.footer-contact-item span:not(.icon) {
    min-width: 0;
}

.footer-contact-extra {
    margin-top: 0.8rem;
    padding: 0.8rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(201, 168, 76, 0.18);
    background: rgba(255, 255, 255, 0.03);
}

.footer-contact-extra h5 {
    margin: 0 0 0.5rem;
    color: var(--color-gold-light);
    font-size: 0.86rem;
    font-weight: 700;
}

.footer-contact-extra p {
    margin: 0 0 0.38rem;
    color: rgba(255,255,255,0.62);
    font-size: 0.8rem;
    line-height: 1.55;
}

.footer-contact-extra p:last-child {
    margin-bottom: 0;
}

.footer-contact-extra a {
    color: var(--color-gold-light);
}

/* 页脚底部 */
.footer-bottom {
    background: linear-gradient(135deg, #360806 0%, #260504 100%);
    padding: 0.95rem 0 1.1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.footer-copyright {
    color: rgba(255,255,255,0.4);
    font-size: 0.8rem;
}

.footer-copyright a {
    color: rgba(201, 168, 76, 0.7);
}

.footer-records {
    width: 100%;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(201, 168, 76, 0.16);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.4rem;
    row-gap: 0.34rem;
}

.footer-record-line {
    margin: 0;
    color: rgba(255,255,255,0.46);
    font-size: 0.78rem;
    line-height: 1.62;
}

.footer-record-line--gongan {
    grid-column: 1 / -1;
    color: rgba(255,255,255,0.58);
}

/* =============================================
   侧边栏
   ============================================= */
.sidebar .widget {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.sidebar .widget-title {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--color-dark);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-primary);
    position: relative;
}

.guwu-search-form {
    margin-top: 0.35rem;
}

.guwu-search-form .search-form-inner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.guwu-search-form .search-field {
    flex: 1;
    min-width: 0;
    min-height: 46px;
    padding: 0 1rem;
    border-radius: 999px;
    border: 1px solid rgba(201, 168, 76, 0.42);
    background: #fff;
    color: var(--color-dark);
    font-size: 0.95rem;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}

.guwu-search-form .search-field:focus {
    outline: none;
    border-color: rgba(155, 27, 27, 0.55);
    box-shadow: 0 0 0 4px rgba(155, 27, 27, 0.08);
}

.guwu-search-form .search-submit {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 0 1.15rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #9b1b1b 0%, #c4532a 100%);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(155, 27, 27, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.guwu-search-form .search-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(155, 27, 27, 0.22);
}

/* =============================================
   响应式设计
   ============================================= */
@media (max-width: 1024px) {
    .master-inner {
        grid-template-columns: 300px 1fr;
        gap: 3rem;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .footer-about {
        grid-column: 1 / -1;
    }

    .hero-features {
        display: none;
    }
}

@media (max-width: 768px) {
    :root {
        --spacing-lg: 3rem;
        --spacing-xl: 4rem;
    }

    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }

    /* 导航响应式已在 960px 断点处理，这里只处理内容布局 */
    .master-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .master-portrait {
        max-width: 280px;
        margin: 0 auto;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .tab-panel.active {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .footer-qr-card {
        margin-inline: auto;
    }

    .footer-records {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .hero-stats {
        gap: 1.5rem;
        flex-wrap: wrap;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .master-achievements {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1rem;
    }

    .hero-content {
        padding: 4rem 1rem;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions .btn {
        text-align: center;
        justify-content: center;
    }

    .courses-grid,
    .testimonials-grid,
    .posts-grid {
        grid-template-columns: 1fr;
    }

    .section-title h2 {
        font-size: 1.6rem;
    }
}

/* =============================================
   辅助类
   ============================================= */
.text-center { text-align: center; }
.text-gold { color: var(--color-gold); }
.text-primary { color: var(--color-primary); }
.text-muted { color: var(--color-text-muted); }

.mb-0 { margin-bottom: 0; }
.mt-auto { margin-top: auto; }

.d-flex { display: flex; }
.align-center { align-items: center; }
.justify-center { justify-content: center; }
.gap-1 { gap: 0.5rem; }
.gap-2 { gap: 1rem; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
}

/* 加载动画 */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 水平滚动条美化 */
::-webkit-scrollbar {
    width: 12px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--color-bg-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-gold);
}

/* =============================================
   内容页面样式 (page.php)
   ============================================= */

/* ---- 页面横幅 ---- */
.page-banner {
    position: relative;
    height: 330px;
    display: flex;
    align-items: center;
    background: var(--color-dark);
    overflow: hidden;
}
.page-banner-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 50%, rgba(155,27,27,0.35) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 50%, rgba(201,168,76,0.15) 0%, transparent 60%),
        url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A84C' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.page-banner--has-bg .page-banner-bg {
    background:
        radial-gradient(ellipse at 22% 50%, rgba(201,168,76,0.22) 0%, transparent 46%),
        radial-gradient(ellipse at 78% 42%, rgba(155,27,27,0.2) 0%, transparent 40%),
        var(--page-banner-image) center/cover no-repeat;
    filter: saturate(0.92);
}
.page-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(54, 8, 6, 0.76) 0%, rgba(38, 5, 4, 0.48) 100%);
}
.page-banner--has-bg .page-banner-overlay {
    background:
        linear-gradient(135deg, rgba(54, 8, 6, 0.8) 0%, rgba(38, 5, 4, 0.46) 100%),
        linear-gradient(180deg, rgba(54, 8, 6, 0.12) 0%, rgba(54, 8, 6, 0.26) 100%);
}
.page-banner .container { position: relative; z-index: 1; }
.page-banner-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}
.page-banner-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    line-height: 1;
    flex-shrink: 0;
    color: var(--color-gold-light);
    filter: drop-shadow(0 0 8px rgba(201,168,76,0.6));
}

.page-banner-icon i {
    font-size: 1em;
    line-height: 1;
}
.page-banner-title {
    font-size: 2.4rem;
    color: var(--color-gold-light);
    margin: 0;
    letter-spacing: .1em;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.page-banner-title--default,
.page-banner-title--display {
    font-family: var(--font-display);
}
.page-banner-title--serif {
    font-family: var(--font-serif);
    letter-spacing: 0.04em;
}
.page-banner-title--fangsong {
    font-family: "FandolFang", "STFangsong", "FangSong", "Noto Serif SC", serif;
    letter-spacing: 0.06em;
}
.page-breadcrumb {
    font-size: .85rem;
    color: rgba(255,255,255,0.55);
    display: flex;
    align-items: center;
    gap: .4rem;
}
.page-breadcrumb a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color .2s;
}
.page-breadcrumb a:hover { color: var(--color-gold); }

/* ---- 页面布局 ---- */
.page-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 2.5rem;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
    align-items: start;
}
.page-main { min-width: 0; }

.page-article--news .news-hub {
    max-width: 100%;
    min-width: 0;
}

.page-article--news .news-hub-hero,
.page-article--news .news-hub-focus,
.page-article--news .news-hub-cluster-grid,
.page-article--news .news-hub-archive-grid,
.page-article--news .news-hub-faq-grid {
    min-width: 0;
}

/* ---- 正文内容排版 ---- */
.page-article { }
.page-content-body {
    font-family: var(--font-serif);
    font-size: 1.06rem;
    line-height: 2;
    color: var(--color-text);
}
.page-content-body h2 {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2rem);
    color: var(--color-dark);
    margin: 0 0 1rem;
    line-height: 1.35;
}
.page-content-body h3 {
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--color-primary);
    margin: 2rem 0 .8rem;
    padding-left: .8rem;
    border-left: 3px solid var(--color-gold);
    line-height: 1.4;
}
.page-content-body h3:first-child { margin-top: 0; }
.page-content-body h4 {
    font-size: 1rem;
    color: var(--color-dark);
    margin: 1rem 0 .4rem;
}
.page-content-body p {
    margin: 0 0 1.1rem;
    text-indent: 2em;
    color: var(--color-text);
}
.page-content-body p:last-child { margin-bottom: 0; }
/* 段落内的引用感觉 */
.page-content-body p + h3 { margin-top: 2.5rem; }

.page-content-shell {
    display: grid;
    gap: 1.5rem;
}

.page-content-shell p,
.page-content-shell li,
.page-content-shell h2,
.page-content-shell h3,
.page-content-shell h4 {
    text-indent: 0;
}

.page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    background: rgba(155, 27, 27, 0.08);
    border: 1px solid rgba(201, 168, 76, 0.45);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    color: var(--color-primary);
    text-transform: uppercase;
}

.page-intro-panel,
.page-section-block,
.page-cta-panel {
    background: linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(251,247,240,0.96) 100%);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: var(--shadow-sm);
}

.page-intro-panel h2,
.page-section-block h3,
.page-cta-panel h3 {
    margin-top: 0.6rem;
}

.page-intro-panel p:last-child,
.page-section-block p:last-child,
.page-cta-panel p:last-child {
    margin-bottom: 0;
}

.page-info-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.page-info-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    color: var(--color-dark);
    border: 1px solid rgba(201, 168, 76, 0.35);
    font-size: 0.92rem;
}

.page-highlight-grid,
.page-media-grid,
.page-contact-grid,
.page-link-grid {
    display: grid;
    gap: 1rem;
}

.page-highlight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-contact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-highlight-card,
.page-contact-card,
.page-link-card {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: var(--shadow-sm);
}

.page-highlight-card h3,
.page-contact-card h3,
.page-link-card h3 {
    margin: 0 0 0.6rem;
    padding-left: 0;
    border-left: 0;
}

.page-highlight-card p,
.page-contact-card p,
.page-link-card p {
    margin: 0;
    text-indent: 0;
}

.page-media-card {
    margin: 0;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.page-media-card img {
    width: 100%;
    margin: 0;
    border: 0;
    aspect-ratio: 4 / 3;
    max-height: 340px;
    object-fit: cover;
    background: rgba(247, 240, 228, 0.7);
}

.page-media-card figcaption {
    margin: 0;
    padding: 0.85rem 1rem 1rem;
    text-align: left;
    color: var(--color-text);
}

.page-feature-list,
.page-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-feature-list {
    display: grid;
    gap: 0.85rem;
}

.page-feature-list li {
    display: flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0.85rem 0.95rem;
    background: rgba(247, 240, 228, 0.85);
    border: 1px solid rgba(201, 168, 76, 0.3);
    border-radius: 10px;
}

.page-feature-list li::before {
    content: '◉';
    color: var(--color-gold-dark);
    flex: none;
}

.page-timeline {
    display: grid;
    gap: 0.8rem;
}

.page-timeline li {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem 1rem;
    background: rgba(247, 240, 228, 0.85);
    border-left: 3px solid var(--color-gold);
    border-radius: 0 10px 10px 0;
}

.page-timeline strong {
    color: var(--color-primary);
    font-size: 0.95rem;
}

.page-link-card {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.page-link-card:hover {
    transform: translateY(-2px);
    border-color: var(--color-gold);
    box-shadow: var(--shadow-md);
    color: inherit;
}

.page-link-card .page-link-kicker {
    display: inline-block;
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    color: var(--color-text-light);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.page-link-grid--kungfu {
    gap: 1.5rem;
}

.page-link-card--kungfu {
    display: grid;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.page-link-card--kungfu .page-link-card-media {
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: rgba(247, 240, 228, 0.72);
}

.page-link-card--kungfu .page-link-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-link-card--kungfu .page-link-card-body {
    display: grid;
    gap: 0.7rem;
    padding: 1.6rem 1.6rem 1.8rem;
}

.page-link-card--kungfu .page-link-card-body h4 {
    margin: 0;
    color: var(--secondary-color);
    font-size: 1.1rem;
    line-height: 1.45;
}

.page-link-card-caption {
    color: var(--color-text);
    font-size: 0.95rem;
    line-height: 1.75;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-link-card-caption p {
    display: inline;
    margin: 0;
    text-indent: 0;
}

.page-link-card-caption p + p,
.page-link-card-caption ul,
.page-link-card-caption ol {
    margin-top: 0;
}

.page-link-card-caption ul,
.page-link-card-caption ol {
    padding-left: 1.15rem;
}

.page-link-card--kungfu .page-link-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
    color: var(--color-primary);
    font-weight: 700;
}

.page-link-card--kungfu:hover .page-link-card-cta {
    color: var(--color-gold-dark);
}

.page-content-shell--course-hub,
.page-content-shell--course-detail {
    gap: 1.75rem;
}

.course-hub-intro .page-info-strip {
    margin-top: 1.15rem;
}

.page-link-grid--course-hub {
    gap: 1.65rem;
}

.page-link-card--course-hub {
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.1), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(251,247,240,0.98) 100%);
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(64, 36, 18, 0.08);
}

.page-link-card--course-hub .page-link-card-media {
    aspect-ratio: 5 / 3.8;
}

.page-link-card--course-hub .page-link-card-body {
    gap: 0.9rem;
    padding: 1.45rem 1.45rem 1.6rem;
}

.page-link-card--course-hub .page-link-kicker {
    margin-bottom: 0;
    color: rgba(113, 78, 49, 0.78);
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    text-transform: none;
}

.page-link-card--course-hub .page-link-card-body h4 {
    font-size: clamp(1.42rem, 2vw, 1.72rem);
    line-height: 1.25;
    color: var(--color-primary);
}

.page-link-card--course-hub .page-link-card-body p {
    color: var(--color-text);
    font-size: 1rem;
    line-height: 1.9;
}

.course-hub-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-top: 0.25rem;
}

.course-hub-card-price {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.4rem 0.95rem;
    border-radius: 999px;
    background: rgba(155, 27, 27, 0.08);
    border: 1px solid rgba(155, 27, 27, 0.18);
    color: var(--color-primary);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.course-detail-section {
    position: relative;
    overflow: hidden;
}

.course-detail-longform {
    position: relative;
    overflow: hidden;
    padding: 1.85rem 1.8rem 2rem;
}

.course-detail-longform > :first-child {
    margin-top: 0;
}

.course-detail-longform h2,
.course-detail-longform h3 {
    color: var(--color-primary);
}

.course-detail-longform h2 {
    margin-top: 2.1rem;
    font-size: clamp(1.95rem, 3vw, 2.55rem);
    line-height: 1.18;
}

.course-detail-longform h3 {
    margin-top: 1.75rem;
    font-size: clamp(1.45rem, 2.2vw, 1.85rem);
    line-height: 1.34;
}

.course-detail-longform p,
.course-detail-longform li {
    font-size: 1.02rem;
    line-height: 1.95;
    color: rgba(59, 42, 31, 0.94);
}

.course-detail-longform figure {
    margin: 1.4rem 0;
}

.course-detail-longform img {
    border-radius: 14px;
    box-shadow: 0 12px 26px rgba(80, 45, 25, 0.08);
}

.course-detail-section::after {
    content: '';
    position: absolute;
    inset: auto -40px -40px auto;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.08), rgba(201, 168, 76, 0));
    pointer-events: none;
}

.page-media-grid--course-detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.page-media-grid--course-detail .page-media-card {
    border-radius: 14px;
}

.page-media-grid--course-detail .page-media-card img {
    aspect-ratio: 4 / 3;
    max-height: none;
}

.course-detail-list {
    counter-reset: course-detail-step;
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.course-detail-list li {
    display: grid;
    grid-template-columns: 2.1rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.95rem 1rem;
    background: rgba(247, 240, 228, 0.86);
    border: 1px solid rgba(201, 168, 76, 0.28);
    border-radius: 12px;
}

.course-detail-list li::before {
    counter-increment: course-detail-step;
    content: counter(course-detail-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(155, 27, 27, 0.9), rgba(120, 18, 18, 0.9));
    color: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1;
}

.page-contact-card p + p {
    margin-top: 0.4rem;
}

.bsys-inline-tone--red {
    color: #9b1b1b;
}

.bsys-inline-tone--gold {
    color: #c9a84c;
}

.bsys-inline-tone--brown {
    color: #7b5b3f;
}

.page-content-body--contact .page-media-grid {
    grid-template-columns: minmax(0, 360px);
    justify-content: start;
}

.page-content-body--contact .page-media-card {
    max-width: 360px;
}

.page-content-body--contact .page-media-card img {
    aspect-ratio: 1 / 1;
    max-height: none;
    object-fit: contain;
    padding: 1rem;
    background: #fff;
}

/* ---- 侧边栏 ---- */
.page-sidebar {
    position: static;
    top: auto;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.sidebar-card {
    background: var(--color-bg);
    border: 1px solid var(--color-bg-dark);
    border-radius: 8px;
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.sidebar-card h3 {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-dark);
    margin: 0 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--color-gold);
    letter-spacing: .05em;
}
.sidebar-contact { text-align: center; }
.sidebar-card-icon {
    font-size: 2rem;
    margin-bottom: .5rem;
    display: block;
}
.sidebar-contact p {
    font-size: .88rem;
    color: var(--color-text-light);
    margin: .25rem 0 0;
}

/* 课程列表 */
.sidebar-card.sidebar-courses > h3 {
    font-size: clamp(1.12rem, 1.7vw, 1.38rem);
    line-height: 1.25;
    font-weight: 800;
}

.sidebar-course-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.sidebar-course-list li {
    font-size: .9rem;
    color: var(--color-text);
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .5rem;
    border-radius: 4px;
    transition: background .2s;
}
.sidebar-course-list li:hover { background: var(--color-bg-dark); }
.sidebar-course-list li span { font-size: 1rem; }

.sidebar-course-list li.is-current {
    background: var(--color-bg-dark);
}

.sidebar-course-list li.is-current a {
    color: var(--color-primary);
    font-weight: 700;
}

/* 侧边栏导航 */
.sidebar-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}
.sidebar-nav-list li a {
    display: block;
    padding: .45rem .6rem;
    font-size: .9rem;
    color: var(--color-text);
    border-radius: 4px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.sidebar-nav-list li a:hover,
.sidebar-nav-list li.current-menu-item a {
    background: var(--color-primary);
    color: #fff;
}

/* ---- 响应式 ---- */
@media (max-width: 900px) {
    .page-layout {
        grid-template-columns: 1fr;
    }
    .page-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
    .sidebar-nav { display: none; }
}
@media (max-width: 600px) {
    .page-banner { height: 240px; }
    .page-banner-title { font-size: 1.8rem; }
    .page-banner-icon { font-size: 1.5rem; }
    .page-sidebar {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   为什么选择我们
   ============================================= */
#why-us {
    background: var(--color-bg);
}

#why-us .section-title {
    max-width: 1080px;
    margin: 0 auto 1.5rem;
    text-align: left;
}

#why-us .section-title h2 {
    justify-content: flex-start;
    text-align: left;
}

#why-us .section-title h2::before {
    display: none;
}

#why-us .section-title h2::after {
    margin-left: 1rem;
}

.why-us-kicker {
    display: block;
    margin-bottom: 0.6rem;
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    font-weight: 700;
    letter-spacing: 0.08em;
}

#why-us .section-title .why-us-kicker {
    margin: 0 0 0.6rem;
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    font-weight: 700;
    letter-spacing: 0.08em;
}

#why-us .section-title .why-us-title {
    margin: 0;
}

.why-us-article {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0.25rem 1.5rem 0;
    text-align: left;
    color: var(--color-text);
    font-family: var(--font-serif);
    font-size: 1.25rem;
    line-height: 2.05;
}

.why-us-article p {
    margin: 0 0 1.2rem;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.why-us-article .why-us-lead {
    margin-top: 1.8rem;
    color: var(--color-dark);
    font-family: var(--font-sans);
    font-size: clamp(1.25rem, 1.7vw, 1.75rem);
    text-align: left;
}

.why-us-article .why-us-lead strong,
.why-us-article p strong {
    color: var(--color-dark);
    font-weight: 700;
}

.why-us-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.why-us-card {
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: var(--transition);
}

.why-us-card:hover {
    border-color: var(--color-gold);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.why-us-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    line-height: 1;
}

.why-us-card h3 {
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: var(--color-dark);
    margin-bottom: 0.75rem;
}

.why-us-card p {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 900px) {
    .why-us-grid { grid-template-columns: repeat(2, 1fr); }

    #why-us .section-title {
        margin-bottom: 1.15rem;
    }

    .why-us-article {
        padding: 0.25rem 0.85rem 0;
        font-size: 1.12rem;
        line-height: 1.95;
    }

    .why-us-article p {
        font-size: inherit;
        line-height: inherit;
    }
}
@media (max-width: 500px) {
    .why-us-grid { grid-template-columns: 1fr; }

    #why-us .section-title h2::after {
        display: none;
    }

    .why-us-article {
        padding: 0 0.3rem;
    }

    .why-us-article .why-us-lead {
        font-size: 1.15rem;
    }
}

/* =============================================
   四个关键点
   ============================================= */
#heritage-points {
    --heritage-bg-image: none;
    position: relative;
    overflow: hidden;
    background: #E4D2BF;
}

#heritage-points::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 18%, rgba(212, 170, 55, 0.08), transparent 26%),
        radial-gradient(circle at 86% 82%, rgba(155, 27, 27, 0.05), transparent 24%);
}

#heritage-points::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--heritage-bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.18;
    mix-blend-mode: multiply;
}

#heritage-points .container {
    position: relative;
    z-index: 1;
}

.heritage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
}

.heritage-grid--dense,
.heritage-grid--expanded {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}

.heritage-section-desc {
    max-width: 54rem;
    margin: 0.9rem auto 0;
    color: rgba(115, 88, 66, 0.86);
    font-size: 0.98rem;
    line-height: 1.85;
}

.heritage-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.7rem 1.55rem 1.45rem;
    border: 1px solid rgba(201, 164, 76, 0.34);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(245, 235, 221, 0.96), rgba(228, 210, 191, 0.94));
    box-shadow: 0 18px 32px rgba(65, 37, 20, 0.08);
    overflow: hidden;
}

.heritage-card::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(201, 164, 76, 0.14);
    border-radius: 20px;
    pointer-events: none;
}

.heritage-card::after {
    content: "";
    position: absolute;
    inset: auto -1.5rem -2.5rem auto;
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.12), transparent 68%);
    pointer-events: none;
}

.heritage-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.heritage-card-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(155, 27, 27, 0.92), rgba(99, 14, 14, 0.92));
    color: #f8e7b6;
    box-shadow: 0 14px 22px rgba(99, 14, 14, 0.18);
    font-size: 1.1rem;
}

.heritage-card-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.15rem;
    height: 2.2rem;
    padding: 0 0.8rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    color: var(--color-primary);
    font-family: var(--font-display);
    font-size: 1rem;
    letter-spacing: 0.08em;
}

.heritage-card-eyebrow {
    display: inline-block;
    margin-bottom: 0.7rem;
    color: var(--color-primary);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.heritage-card h3 {
    margin: 0 0 0.8rem;
    color: var(--color-dark);
    font-size: clamp(1.45rem, 1.8vw, 1.9rem);
    line-height: 1.28;
}

.heritage-card-summary {
    margin: 0;
    color: rgba(53, 23, 14, 0.86);
    font-size: 1rem;
    line-height: 1.85;
}

.heritage-card-summary p,
.heritage-card-summary ul,
.heritage-card-summary ol {
    margin: 0;
}

.heritage-card-summary p + p,
.heritage-card-summary p + ul,
.heritage-card-summary ul + p,
.heritage-card-summary ul + ul,
.heritage-card-summary ol + p,
.heritage-card-summary ol + ol {
    margin-top: 0.7rem;
}

.heritage-card-summary strong,
.heritage-card-summary b,
.heritage-card-body strong,
.heritage-card-body b,
.heritage-card-list strong {
    font-weight: 700;
    color: inherit;
}

.heritage-card-body {
    margin-top: 1.15rem;
    color: var(--color-text);
    font-size: 0.98rem;
    line-height: 1.8;
}

.heritage-card-body p,
.heritage-card-body ul,
.heritage-card-body ol,
.heritage-card-body blockquote {
    margin: 0;
}

.heritage-card-body p + p,
.heritage-card-body p + ul,
.heritage-card-body p + ol,
.heritage-card-body ul + p,
.heritage-card-body ol + p,
.heritage-card-body ul + ul,
.heritage-card-body ol + ol,
.heritage-card-body blockquote + p,
.heritage-card-body blockquote + ul,
.heritage-card-body blockquote + ol {
    margin-top: 0.9rem;
}

.heritage-card-body ul,
.heritage-card-body ol {
    padding-left: 0;
}

.heritage-card-body ul {
    list-style: none;
    display: grid;
    gap: 0.9rem;
}

.heritage-card-body ul li {
    position: relative;
    padding-left: 1.4rem;
}

.heritage-card-body ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 0.56rem;
    height: 0.56rem;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(201, 168, 76, 0.98), rgba(155, 27, 27, 0.95));
    box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.12);
}

.heritage-card-body ol {
    list-style: decimal;
    padding-left: 1.6rem;
}

.heritage-card-body ol li::marker {
    color: var(--color-primary);
    font-weight: 700;
}

.heritage-card-body li + li {
    margin-top: 0.5rem;
}

.heritage-card-body a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.heritage-card-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 0.9rem;
    border-radius: 12px;
}

.heritage-card-body iframe,
.heritage-card-body video {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 12px;
}

.heritage-card-body blockquote {
    padding-left: 1rem;
    border-left: 3px solid rgba(201, 168, 76, 0.42);
    color: rgba(53, 23, 14, 0.86);
}

.heritage-card-list b {
    font-weight: 700;
    color: inherit;
}

.heritage-card-list {
    list-style: none;
    margin: 1.15rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.9rem;
}

.heritage-card-list li {
    position: relative;
    padding-left: 1.4rem;
    color: var(--color-text);
    font-size: 0.98rem;
    line-height: 1.75;
}

.heritage-card-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.66rem;
    width: 0.56rem;
    height: 0.56rem;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(201, 168, 76, 0.98), rgba(155, 27, 27, 0.95));
    box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.12);
}

.heritage-grid--dense .heritage-card,
.heritage-grid--expanded .heritage-card {
    padding: 1.3rem 1.1rem 1.15rem;
    border-radius: 24px;
}

.heritage-grid--dense .heritage-card::before,
.heritage-grid--expanded .heritage-card::before {
    inset: 8px;
    border-radius: 18px;
}

.heritage-grid--dense .heritage-card-top,
.heritage-grid--expanded .heritage-card-top {
    margin-bottom: 0.75rem;
}

.heritage-grid--dense .heritage-card-icon,
.heritage-grid--expanded .heritage-card-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 14px;
    font-size: 1rem;
}

.heritage-grid--dense .heritage-card-step,
.heritage-grid--expanded .heritage-card-step {
    min-width: 2.8rem;
    height: 2rem;
    font-size: 0.92rem;
}

.heritage-grid--dense .heritage-card-eyebrow,
.heritage-grid--expanded .heritage-card-eyebrow {
    margin-bottom: 0.45rem;
    font-size: 0.74rem;
    letter-spacing: 0.1em;
}

.heritage-grid--dense .heritage-card h3,
.heritage-grid--expanded .heritage-card h3 {
    font-size: clamp(1.02rem, 1.18vw, 1.24rem);
    margin-bottom: 0.55rem;
}

.heritage-grid--dense .heritage-card-summary,
.heritage-grid--expanded .heritage-card-summary {
    font-size: 0.9rem;
    line-height: 1.72;
}

.heritage-grid--dense .heritage-card-list,
.heritage-grid--expanded .heritage-card-list {
    gap: 0.62rem;
    margin-top: 0.85rem;
}

.heritage-grid--dense .heritage-card-list li,
.heritage-grid--expanded .heritage-card-list li {
    padding-left: 1.18rem;
    font-size: 0.87rem;
    line-height: 1.6;
}

.heritage-grid--dense .heritage-card-list li::before,
.heritage-grid--expanded .heritage-card-list li::before {
    top: 0.58rem;
    width: 0.48rem;
    height: 0.48rem;
}

@media (max-width: 1280px) {
    .heritage-grid--dense,
    .heritage-grid--expanded {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.2rem;
    }
}

@media (max-width: 980px) {
    .heritage-grid {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .heritage-grid--dense,
    .heritage-grid--expanded {
        grid-template-columns: 1fr;
    }

    .heritage-card {
        padding: 1.45rem 1.2rem 1.2rem;
        border-radius: 24px;
    }
}

@media (max-width: 560px) {
    .heritage-card-top {
        margin-bottom: 0.8rem;
    }

    .heritage-card-icon {
        width: 2.65rem;
        height: 2.65rem;
        border-radius: 14px;
        font-size: 1rem;
    }

    .heritage-card h3 {
        font-size: 1.28rem;
    }

    .heritage-card-summary,
    .heritage-card-list li {
        font-size: 0.94rem;
        line-height: 1.68;
    }
}

/* =============================================
   悬浮快捷工具栏
   ============================================= */
#floating-toolbar {
    --toolbar-rail-width: clamp(54px, 4vw, 66px);
    --toolbar-action-height: clamp(46px, 3.6vw, 56px);
    --toolbar-tab-size: clamp(40px, 3.2vw, 50px);
    --toolbar-edge-size: clamp(26px, 2.6vw, 34px);
    --toolbar-action-icon-size: clamp(1.3rem, 1.45vw, 1.72rem);
    --toolbar-peek-height: clamp(78px, 6.8vw, 92px);
    --toolbar-drawer-width: clamp(218px, 20vw, 278px);
    position: fixed;
    right: clamp(8px, 1.2vw, 16px);
    bottom: clamp(74px, 6.5vw, 96px);
    z-index: 1100;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(0.38rem, 0.7vw, 0.55rem);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#floating-toolbar.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

#floating-toolbar.is-collapsed {
    pointer-events: auto;
}

.floating-toolbar__rail {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    transition: transform 0.28s ease, opacity 0.28s ease;
}

#floating-toolbar.is-collapsed .floating-toolbar__rail {
    transform: translateX(calc(100% + 0.8rem));
    opacity: 0;
    pointer-events: none;
}

.floating-toolbar__drawer {
    position: absolute;
    top: clamp(1rem, 1.2vw, 1.35rem);
    right: calc(100% - clamp(8px, 0.9vw, 12px));
    width: min(var(--toolbar-drawer-width), calc(100vw - (var(--toolbar-rail-width) + 48px)));
    max-width: 80vw;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(clamp(10px, 1vw, 14px)) scale(0.985);
    transform-origin: right center;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

#floating-toolbar.is-phone-open .floating-toolbar__drawer {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.floating-toolbar__drawer-card {
    position: relative;
    background: rgba(208, 208, 208, 0.98);
    border-radius: clamp(18px, 1.8vw, 22px) 0 clamp(18px, 1.8vw, 22px) clamp(18px, 1.8vw, 22px);
    box-shadow: 0 18px 36px rgba(80, 55, 30, 0.2);
    padding: clamp(1.05rem, 1.35vw, 1.35rem) clamp(0.95rem, 1.2vw, 1.2rem) clamp(0.95rem, 1.1vw, 1.15rem);
    backdrop-filter: blur(10px);
}

.floating-toolbar__drawer-card::after {
    content: '';
    position: absolute;
    top: clamp(54px, 6vw, 68px);
    right: calc(-1 * clamp(16px, 1.8vw, 22px));
    width: clamp(24px, 2.2vw, 30px);
    height: clamp(66px, 6.2vw, 84px);
    background: rgba(208, 208, 208, 0.98);
    border-radius: 0 clamp(12px, 1.4vw, 16px) clamp(12px, 1.4vw, 16px) 0;
}

.floating-toolbar__drawer-title {
    margin: 0 0 1rem;
    font-size: clamp(1.05rem, 1.35vw, 1.4rem);
    line-height: 1.15;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.04em;
}

.floating-toolbar__drawer-note {
    margin: 0 0 1rem;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.7;
    font-size: clamp(0.82rem, 0.95vw, 0.92rem);
}

.floating-toolbar__drawer-link {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(44px, 3.8vw, 52px);
    width: 100%;
    border-radius: clamp(10px, 1vw, 12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-size: clamp(0.84rem, 0.95vw, 0.98rem);
    font-weight: 700;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.floating-toolbar__drawer-link + .floating-toolbar__drawer-link {
    margin-top: clamp(0.65rem, 0.8vw, 0.85rem);
}

.floating-toolbar__drawer-link:hover,
.floating-toolbar__drawer-link:focus-visible {
    background: rgba(255, 255, 255, 0.26);
    border-color: rgba(255, 255, 255, 0.32);
    transform: translateY(-1px);
}

.floating-toolbar__drawer-link--primary {
    font-size: clamp(0.9rem, 1vw, 1rem);
    letter-spacing: 0.02em;
}

.floating-toolbar__drawer-link--secondary {
    cursor: pointer;
}

.floating-toolbar__panel {
    width: var(--toolbar-rail-width);
    background: rgba(208, 208, 208, 0.96);
    border-radius: clamp(12px, 1.2vw, 16px);
    box-shadow: 0 14px 28px rgba(80, 55, 30, 0.16);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: clamp(0.16rem, 0.35vw, 0.22rem) 0;
}

.floating-toolbar__action {
    width: 100%;
    min-height: var(--toolbar-action-height);
    border: 0;
    background: transparent;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    font-size: var(--toolbar-action-icon-size);
}

.floating-toolbar__action:hover {
    background: rgba(255, 255, 255, 0.14);
}

.floating-toolbar__action:focus-visible {
    background: rgba(255, 255, 255, 0.18);
    outline: none;
}

.floating-toolbar__action--phone[aria-expanded="true"],
#floating-toolbar.is-phone-open .floating-toolbar__action--phone {
    background: rgba(255, 255, 255, 0.18);
}

.floating-toolbar__action i {
    pointer-events: none;
}

.floating-toolbar__tab {
    width: var(--toolbar-tab-size);
    height: var(--toolbar-tab-size);
    margin-top: calc(var(--toolbar-tab-size) * -0.14);
    margin-right: clamp(5px, 0.65vw, 8px);
    border-radius: clamp(14px, 1.4vw, 18px);
    border: 0;
    background: rgba(231, 221, 198, 0.95);
    color: rgba(255, 255, 255, 0.96);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.12rem, 1.3vw, 1.42rem);
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(108, 85, 48, 0.16);
    transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.floating-toolbar__tab:hover,
.floating-toolbar__tab:focus-visible {
    transform: translateY(-1px);
    background: rgba(223, 211, 182, 0.98);
    filter: brightness(1.02);
    outline: none;
}

.floating-toolbar__peek {
    width: var(--toolbar-edge-size);
    height: var(--toolbar-peek-height);
    border: 0;
    border-radius: clamp(14px, 1.4vw, 18px) 0 0 clamp(14px, 1.4vw, 18px);
    background: rgba(208, 208, 208, 0.96);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(0.92rem, 1.1vw, 1.18rem);
    box-shadow: 0 10px 24px rgba(80, 55, 30, 0.16);
    opacity: 0;
    pointer-events: none;
    transform: translateX(clamp(10px, 1vw, 14px));
    transition: opacity 0.25s ease, transform 0.25s ease, background 0.2s ease;
}

.floating-toolbar__peek:hover,
.floating-toolbar__peek:focus-visible {
    background: rgba(198, 198, 198, 0.98);
    outline: none;
}

#floating-toolbar.is-collapsed .floating-toolbar__peek {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

@media (max-width: 1280px) {
    #floating-toolbar {
        --toolbar-rail-width: clamp(50px, 5vw, 60px);
        --toolbar-action-height: clamp(42px, 4.4vw, 50px);
        --toolbar-tab-size: clamp(36px, 3.8vw, 44px);
        --toolbar-edge-size: clamp(24px, 2.9vw, 30px);
        --toolbar-action-icon-size: clamp(1.12rem, 1.35vw, 1.42rem);
        --toolbar-peek-height: clamp(70px, 7vw, 82px);
        --toolbar-drawer-width: clamp(210px, 22vw, 252px);
    }
}

@media (max-width: 860px) {
    #floating-toolbar {
        --toolbar-rail-width: clamp(46px, 8.8vw, 54px);
        --toolbar-action-height: clamp(40px, 7.3vw, 46px);
        --toolbar-tab-size: clamp(34px, 6.6vw, 40px);
        --toolbar-edge-size: clamp(22px, 4.8vw, 28px);
        --toolbar-action-icon-size: clamp(1.02rem, 3.7vw, 1.24rem);
        --toolbar-peek-height: clamp(64px, 15vw, 76px);
        --toolbar-drawer-width: clamp(198px, 31vw, 232px);
        right: clamp(6px, 1.6vw, 10px);
        bottom: clamp(70px, 12vw, 84px);
        gap: 0.42rem;
    }

    .floating-toolbar__drawer {
        width: min(var(--toolbar-drawer-width), calc(100vw - (var(--toolbar-rail-width) + 38px)));
    }

    .floating-toolbar__drawer-card {
        padding: 0.95rem 0.85rem 0.85rem;
    }

    .floating-toolbar__drawer-card::after {
        top: 50px;
        right: -16px;
        width: 22px;
        height: 60px;
    }

    .floating-toolbar__drawer-title {
        margin-bottom: 0.68rem;
    }

    .floating-toolbar__drawer-note {
        line-height: 1.6;
    }

    .floating-toolbar__drawer-link {
        min-height: 40px;
    }
}

@media (max-width: 560px) {
    #floating-toolbar {
        --toolbar-rail-width: clamp(42px, 12.8vw, 48px);
        --toolbar-action-height: clamp(36px, 11.4vw, 42px);
        --toolbar-tab-size: clamp(30px, 9.6vw, 36px);
        --toolbar-edge-size: clamp(20px, 6.8vw, 24px);
        --toolbar-action-icon-size: clamp(0.96rem, 4.8vw, 1.12rem);
        --toolbar-peek-height: clamp(56px, 18vw, 68px);
        --toolbar-drawer-width: min(210px, calc(100vw - 30px));
        right: clamp(5px, 1.5vw, 8px);
        bottom: clamp(66px, 14vw, 78px);
        gap: 0.35rem;
    }

    .floating-toolbar__drawer {
        top: 0.8rem;
        width: min(var(--toolbar-drawer-width), calc(100vw - (var(--toolbar-rail-width) + 28px)));
    }

    .floating-toolbar__drawer-card {
        padding: 0.88rem 0.78rem 0.78rem;
    }

    .floating-toolbar__drawer-card::after {
        top: 44px;
        right: -13px;
        width: 18px;
        height: 52px;
    }

    .floating-toolbar__drawer-title {
        margin-bottom: 0.6rem;
    }

    .floating-toolbar__drawer-note {
        margin-bottom: 0.7rem;
    }

    .floating-toolbar__drawer-link {
        min-height: 38px;
    }
}

/* 字体档位 CSS 类 */
html.font-large  { font-size: 20px; }
html.font-xlarge { font-size: 22px; }

/* =============================================
   数据驱动改版补充样式
   ============================================= */

#banner .banner-slide {
    display: block;
    padding: 0;
}

.banner-original-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

#home-intro {
    background:
        linear-gradient(180deg, rgba(247,240,228,0.98) 0%, rgba(251,247,240,0.94) 100%),
        radial-gradient(circle at top, rgba(201,168,76,0.08) 0%, transparent 45%);
}

.home-intro-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 2rem;
    padding: 2.25rem;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.home-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.95rem;
    margin-bottom: 1rem;
    color: var(--color-primary);
    background: rgba(155,27,27,0.08);
    border: 1px solid rgba(155,27,27,0.15);
    font-size: 0.9rem;
    letter-spacing: 0.08em;
}

.home-intro-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.3;
    margin-bottom: 1rem;
}

.home-intro-title span {
    display: block;
    font-size: 0.58em;
    color: var(--color-primary);
    letter-spacing: 0.18em;
}

.home-intro-desc {
    margin-bottom: 0;
    font-size: 1rem;
    color: var(--color-text-muted);
}

.home-intro-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
}

.home-intro-stats .hero-stat-item {
    background: linear-gradient(180deg, rgba(155,27,27,0.05) 0%, rgba(201,168,76,0.08) 100%);
    border: 1px solid rgba(201,168,76,0.18);
    padding: 1.1rem;
}

.home-quick-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.home-quick-card {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 100%;
    padding: 1.35rem 1.2rem;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    transition: var(--transition);
}

.home-quick-card:hover {
    border-color: var(--color-gold);
    transform: translateY(-4px);
    box-shadow: var(--shadow-sm);
    color: var(--color-text);
}

.home-quick-icon {
    font-size: 1.8rem;
    line-height: 1;
}

.home-quick-title {
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--color-dark);
}

.home-quick-desc {
    font-size: 0.92rem;
    color: var(--color-text-muted);
    line-height: 1.8;
}

.content-empty-state {
    padding: 2rem;
    background: var(--color-bg-paper);
    border: 1px dashed var(--color-border);
    text-align: center;
}

.content-empty-state h3 {
    font-family: var(--font-display);
    margin-bottom: 0.6rem;
}

.content-empty-state p,
.sidebar-empty-text {
    margin: 0;
    color: var(--color-text-muted);
}

.reference-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.reference-links a {
    display: block;
    padding: 1rem 1.15rem;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    transition: var(--transition);
}

.reference-links a:hover {
    border-color: var(--color-gold);
    color: var(--color-primary);
    transform: translateY(-2px);
}

.reference-groups {
    display: grid;
    gap: 2.4rem;
    margin-top: 2.4rem;
}

.reference-group-title {
    margin-bottom: 1.2rem;
}

.reference-group-desc {
    margin: 0.45rem 0 0;
    color: rgba(72, 57, 45, 0.82);
    font-size: 0.96rem;
    line-height: 1.7;
}

.reference-group-title h2 {
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--color-dark);
    line-height: 1.25;
}

.reference-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.1rem;
}

.reference-media-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.75rem;
    height: 100%;
    padding: 0.95rem;
    text-decoration: none;
    background: rgba(255, 250, 243, 0.95);
    border: 1px solid rgba(201, 168, 76, 0.34);
    border-radius: 22px;
    transition: var(--transition);
    box-shadow: 0 14px 30px rgba(71, 31, 18, 0.05);
}

.reference-media-card:hover,
.reference-logo-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-gold);
    box-shadow: 0 20px 36px rgba(71, 31, 18, 0.1);
}

.reference-media-thumb {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(61, 34, 22, 0.08);
}

.reference-media-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reference-media-name {
    color: var(--color-dark);
    font-size: 0.96rem;
    line-height: 1.6;
    font-weight: 700;
    min-height: 3.2em;
}

.reference-media-caption {
    margin-top: auto;
    color: var(--color-text-light);
    font-size: 0.84rem;
    line-height: 1.6;
}

.reference-logo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.1rem;
}

.reference-logo-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.7rem;
    min-height: 212px;
    height: 100%;
    padding: 1rem;
    text-decoration: none;
    background: rgba(255, 250, 243, 0.95);
    border: 1px solid rgba(201, 168, 76, 0.34);
    border-radius: 22px;
    transition: var(--transition);
    box-shadow: 0 14px 30px rgba(71, 31, 18, 0.05);
}

.reference-logo-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 84px;
    padding: 0.6rem;
    background: #fffdfa;
    border: 1px solid rgba(201, 168, 76, 0.16);
    border-radius: 14px;
}

.reference-logo-media img {
    max-width: 100%;
    max-height: 58px;
    object-fit: contain;
}

.reference-logo-name {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    min-height: 2.6em;
}

.reference-logo-domain {
    margin-top: auto;
    color: var(--color-text-light);
    font-size: 0.84rem;
    text-align: center;
}

.post-excerpt {
    color: var(--color-text-muted);
    line-height: 1.8;
}

.sidebar-course-list a {
    color: var(--color-text);
}

.sidebar-course-list a:hover {
    color: var(--color-primary);
}

.section-title-left {
    text-align: left;
    margin-bottom: 2rem;
}

.section-title-left h2 {
    padding: 0;
}

.section-title-left h2::before,
.section-title-left h2::after {
    display: none;
}

.page-section-listing {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.page-content-body img,
.entry-content img {
    margin: 1.5rem auto;
    border: 1px solid var(--color-border);
    background: var(--color-bg-paper);
}

.page-content-body figure,
.entry-content figure {
    margin: 1.5rem 0;
}

.page-content-body figcaption,
.entry-content figcaption {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: var(--color-text-light);
    text-align: center;
}

.page-content-body a,
.entry-content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-decoration-color: rgba(155,27,27,0.25);
    text-underline-offset: 0.15em;
}

.page-content-body a.btn,
.entry-content a.btn {
    text-decoration: none;
    text-underline-offset: 0;
}

.page-content-body a.btn-primary,
.entry-content a.btn-primary {
    color: #fff;
}

.page-content-body a.btn-primary:hover,
.entry-content a.btn-primary:hover {
    color: #fff;
}

.page-content-body a.btn-gold,
.entry-content a.btn-gold {
    color: var(--color-dark);
}

.page-content-body a.btn-gold:hover,
.entry-content a.btn-gold:hover {
    color: var(--color-dark);
}

.page-content-body a.btn-outline,
.entry-content a.btn-outline {
    color: var(--color-primary);
}

.page-content-body a.btn-outline:hover,
.entry-content a.btn-outline:hover {
    color: #fff;
}

.page-content-body a.btn-outline-gold,
.entry-content a.btn-outline-gold {
    color: var(--color-gold);
}

.page-content-body a.btn-outline-gold:hover,
.entry-content a.btn-outline-gold:hover {
    color: var(--color-dark);
}

.page-content-body ul,
.page-content-body ol,
.entry-content ul,
.entry-content ol {
    list-style: revert;
    margin: 1rem 0 1.5rem 1.5rem;
    padding-left: 1rem;
}

.page-content-body li,
.entry-content li {
    margin-bottom: 0.5rem;
    color: var(--color-text);
}

.page-content-body table,
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    background: var(--color-bg-paper);
}

.page-content-body th,
.page-content-body td,
.entry-content th,
.entry-content td {
    border: 1px solid var(--color-border);
    padding: 0.8rem;
    text-align: left;
}

.page-content-body iframe,
.entry-content iframe {
    max-width: 100%;
    display: block;
    margin: 1.5rem auto;
}

.page-content-body .contact-grid p,
.page-content-body .contact-item-content p,
.page-content-body .contact-form p {
    text-indent: 0;
}

@media (max-width: 1024px) {
    .home-quick-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-highlight-grid,
    .page-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .home-intro-panel {
        grid-template-columns: 1fr;
    }

    .reference-links {
        grid-template-columns: 1fr;
    }

    .news-feature {
        grid-template-columns: 1fr;
        gap: 1rem;
        max-width: 760px;
        padding: 0.9rem;
    }

    .news-feature-thumb img {
        min-height: 220px;
    }

    .news-feature-body {
        padding: 0.1rem;
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .home-quick-nav,
    .home-intro-stats {
        grid-template-columns: 1fr;
    }

    .banner-original-image {
        object-position: 62% center;
    }

    .news-feature-body h3 {
        font-size: 1.32rem;
    }

    .news-feature-body p {
        font-size: 0.92rem;
        line-height: 1.72;
    }

    .news-feature-meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   首屏二次微调：亮度提升 + 老版关键信息模块回归
   ============================================= */

#home-intro {
    padding-top: 2.5rem;
    background:
        radial-gradient(circle at top, rgba(201,168,76,0.18) 0%, rgba(201,168,76,0.04) 35%, transparent 72%),
        linear-gradient(180deg, #E4D2BF 0%, #CDB39A 100%);
}

.home-intro-panel {
    position: relative;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(201,168,76,0.45);
    box-shadow: 0 22px 48px rgba(44,26,14,0.08);
}

.home-intro-panel-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.15;
    filter: saturate(0.85);
}

.home-intro-panel-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(250,244,234,0.98) 0%, rgba(248,241,231,0.93) 56%, rgba(246,238,226,0.88) 100%),
        radial-gradient(circle at right center, rgba(201,168,76,0.12) 0%, transparent 38%);
}

.home-intro-main,
.home-intro-stats {
    position: relative;
    z-index: 1;
}

.home-intro-main {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 2rem;
    padding: 2.5rem 2.5rem 1.5rem;
    align-items: stretch;
}

.home-intro-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
}

.home-intro-badge {
    width: fit-content;
    color: #a32020;
    background: rgba(255,243,239,0.8);
    border: 1px solid rgba(186,114,94,0.28);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.45) inset;
}

.home-intro-title {
    margin-bottom: 0.8rem;
    font-size: clamp(2.6rem, 5vw, 4.2rem);
    color: #170d08;
    letter-spacing: 0.04em;
}

.home-intro-title span {
    margin-top: 0.35rem;
    font-size: 0.38em;
    color: #a32020;
    letter-spacing: 0.18em;
}

.home-intro-desc {
    max-width: 11.5em;
    font-size: 1.08rem;
    line-height: 1.9;
    color: #654d3f;
}

.home-intro-quote {
    margin: 1.3rem 0 1.5rem;
    color: #bb9740;
    font-family: var(--font-display);
    font-size: 1.5rem;
    letter-spacing: 0.08em;
}

.home-intro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.home-intro-actions .btn {
    min-width: 220px;
    justify-content: center;
}

.home-intro-visual {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
}

.home-intro-portrait {
    position: absolute;
    right: 0.8rem;
    bottom: -0.4rem;
    width: min(60%, 360px);
    z-index: 1;
    opacity: 0.94;
    filter: drop-shadow(0 14px 24px rgba(44,26,14,0.12));
}

.home-intro-portrait img {
    width: 100%;
    height: auto;
}

.home-feature-stack {
    position: relative;
    z-index: 2;
    width: min(280px, 64%);
    margin-left: auto;
    padding: 1.25rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.home-feature-card {
    padding: 1rem 1.15rem;
    background: rgba(43,25,17,0.94);
    border: 1px solid rgba(201,168,76,0.32);
    border-left: 5px solid var(--color-gold);
    box-shadow: 0 14px 28px rgba(27,15,10,0.12);
}

.home-feature-card h3 {
    margin-bottom: 0.35rem;
    font-family: var(--font-display);
    font-size: 1.08rem;
    color: var(--color-gold-light);
}

.home-feature-card p {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.65;
    color: rgba(255,244,229,0.84);
}

.home-intro-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 0 2.5rem 2.5rem;
}

.home-intro-stats .hero-stat-item {
    background: rgba(255,248,240,0.78);
    border: 1px solid rgba(201,168,76,0.22);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42);
    text-align: center;
}

.home-intro-stats .hero-stat-number {
    color: #c59a2b;
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    line-height: 1;
}

.home-intro-stats .hero-stat-label {
    margin-top: 0.55rem;
    color: #c7b8a0;
    font-size: 1.02rem;
}

@media (max-width: 1180px) {
    .home-intro-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-intro-desc {
        max-width: 100%;
    }

    .home-intro-visual {
        min-height: 320px;
    }

    .home-feature-stack {
        width: min(320px, 58%);
    }

    .home-intro-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .home-intro-main {
        padding: 2rem 1.35rem 1rem;
    }

    .home-intro-stats {
        padding: 0 1.35rem 1.5rem;
    }

    .home-intro-visual {
        min-height: 280px;
    }

    .home-intro-portrait {
        width: min(52%, 250px);
    }

    .home-feature-stack {
        width: min(240px, 66%);
        padding-top: 0.4rem;
    }
}

@media (max-width: 640px) {
    .home-intro-title {
        font-size: 2.35rem;
    }

    .home-intro-quote {
        font-size: 1.25rem;
    }

    .home-intro-actions .btn {
        width: 100%;
        min-width: 0;
    }

    .home-intro-visual {
        min-height: auto;
        padding-top: 0.5rem;
        display: block;
    }

    .home-intro-portrait {
        position: relative;
        right: auto;
        bottom: auto;
        width: min(72%, 260px);
        margin: 0 auto 1rem;
    }

    .home-feature-stack {
        width: 100%;
    }

    .home-intro-stats {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   首屏布局修正：右侧小框与统计合并成单列，避免掉版
   ============================================= */

.home-intro-main {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: 2.25rem;
    align-items: start;
}

.home-intro-desc {
    max-width: 100%;
}

.home-intro-visual {
    min-height: 0;
    display: block;
}

.home-intro-side-panel {
    position: relative;
    z-index: 2;
    width: min(100%, 320px);
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.home-intro-portrait {
    right: 0.5rem;
    bottom: 0;
    width: min(58%, 300px);
    opacity: 0.32;
    filter: drop-shadow(0 18px 28px rgba(44,26,14,0.1));
}

.home-feature-stack {
    width: 100%;
    margin: 0;
    padding: 0;
}

.home-feature-card {
    padding: 0.95rem 1.05rem;
}

.home-feature-card h3 {
    font-size: 1rem;
}

.home-feature-card p {
    font-size: 0.9rem;
}

.home-intro-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    padding: 0;
}

.home-intro-stats .hero-stat-item {
    min-height: 145px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem 0.8rem;
}

.home-intro-stats .hero-stat-number {
    font-size: clamp(2.2rem, 3.4vw, 3.5rem);
}

.home-intro-stats .hero-stat-label {
    max-width: 9em;
    margin-top: 0.65rem;
    line-height: 1.35;
    text-align: center;
    color: #beaf95;
    font-size: 0.95rem;
}

@media (max-width: 1280px) {
    .home-intro-main {
        grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
    }

    .home-intro-side-panel {
        width: min(100%, 300px);
    }

    .home-intro-stats .hero-stat-item {
        min-height: 132px;
    }
}

@media (max-width: 1100px) {
    .home-intro-main {
        grid-template-columns: 1fr;
    }

    .home-intro-visual {
        margin-top: 0.5rem;
    }

    .home-intro-side-panel {
        width: min(100%, 420px);
        margin: 0 auto;
    }

    .home-intro-portrait {
        right: 50%;
        transform: translateX(50%);
        width: min(50%, 240px);
    }
}

@media (max-width: 720px) {
    .home-intro-main {
        padding: 1.8rem 1.1rem 1rem;
    }

    .home-intro-side-panel {
        width: 100%;
    }

    .home-intro-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-intro-stats .hero-stat-item {
        min-height: 120px;
    }
}

@media (max-width: 560px) {
    .home-intro-stats {
        grid-template-columns: 1fr;
    }

    .home-intro-portrait {
        position: relative;
        right: auto;
        transform: none;
        width: min(68%, 220px);
        margin: 0 auto 0.8rem;
    }
}

/* =============================================
   首屏最终修正：统计框移出主面板并单独横排
   ============================================= */

#home-intro .container {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

#home-intro .home-intro-panel {
    width: 100%;
}

#home-intro .home-intro-main {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    align-items: start;
}

#home-intro .home-intro-visual {
    display: flex;
    justify-content: flex-end;
}

#home-intro .home-intro-side-panel {
    width: 100%;
    max-width: 300px;
}

#home-intro .home-feature-stack {
    width: 100%;
}

#home-intro .home-intro-stats-outside {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 0;
}

#home-intro .home-intro-stats-outside .hero-stat-item {
    min-height: 136px;
    padding: 1.15rem 0.85rem;
    background: rgba(255,251,245,0.92);
    border: 1px solid rgba(201,168,76,0.36);
    box-shadow: 0 10px 24px rgba(44,26,14,0.06);
}

#home-intro .home-intro-stats-outside .hero-stat-number {
    font-size: clamp(2.3rem, 3vw, 3.4rem);
    color: #c7981f;
}

#home-intro .home-intro-stats-outside .hero-stat-label {
    max-width: 100%;
    color: #8d7a63;
    font-size: 1rem;
    line-height: 1.45;
    white-space: normal;
    word-break: keep-all;
}

@media (max-width: 1180px) {
    #home-intro .home-intro-main {
        grid-template-columns: 1fr;
    }

    #home-intro .home-intro-visual {
        justify-content: center;
    }

    #home-intro .home-intro-side-panel {
        max-width: 360px;
    }

    #home-intro .home-intro-stats-outside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    #home-intro .home-intro-stats-outside {
        grid-template-columns: 1fr;
    }

    #home-intro .home-intro-stats-outside .hero-stat-item {
        min-height: 116px;
    }
}

/* =============================================
   首屏最终强覆盖：三段响应式稳定版
   desktop >= 1081
   tablet 681 - 1080
   mobile <= 680
   ============================================= */

#home-intro {
    overflow: hidden;
}

#home-intro.section-sm {
    padding-top: clamp(2rem, 3vw, 3rem) !important;
    padding-bottom: 1.4rem !important;
}

#home-intro .container {
    display: block !important;
    max-width: 1720px;
    margin-bottom: 0 !important;
}

#home-intro .home-intro-panel {
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

#home-intro .home-intro-main {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 500px) !important;
    gap: clamp(2rem, 4vw, 5rem) !important;
    align-items: start !important;
    padding: 2.85rem 3rem 2.4rem !important;
}

#home-intro .home-intro-copy {
    min-width: 0 !important;
    max-width: min(100%, 820px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

#home-intro .home-intro-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
    width: fit-content !important;
    max-width: min(100%, 680px) !important;
    padding: 0.8rem 1.45rem !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
    text-wrap: balance !important;
}

#home-intro .home-intro-title {
    width: 100% !important;
    max-width: 860px !important;
    margin: 1.45rem 0 1rem !important;
    font-size: clamp(4rem, 5.2vw, 6rem) !important;
    line-height: 1.06 !important;
    letter-spacing: 0.03em !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
}

#home-intro .home-intro-title span {
    display: block !important;
    margin-top: 0.55rem !important;
    font-size: clamp(2.1rem, 2.9vw, 3rem) !important;
    line-height: 1.14 !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
}

#home-intro .home-intro-desc {
    max-width: 760px !important;
    margin: 0 !important;
    font-size: clamp(1.2rem, 1.7vw, 1.5rem) !important;
    line-height: 1.8 !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
}

#home-intro .home-intro-quote {
    margin: 2rem 0 0 !important;
    max-width: min(100%, 760px) !important;
    font-size: clamp(1.55rem, 2vw, 2.1rem) !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
    word-break: keep-all !important;
    text-wrap: balance !important;
}

#home-intro .home-intro-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    margin-top: 1.75rem !important;
}

#home-intro .home-intro-actions .btn {
    flex: 0 1 260px !important;
    min-width: 200px !important;
    width: auto !important;
}

#home-intro .home-intro-visual {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    align-self: stretch !important;
}

#home-intro .home-intro-side-panel {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 520px) !important;
    margin-left: auto !important;
}

#home-intro .home-feature-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#home-intro .home-feature-card {
    width: 100% !important;
    min-height: 148px !important;
    padding: 1.35rem 1.55rem !important;
}

#home-intro .home-feature-card.is-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

#home-intro .home-feature-card h3 {
    font-size: clamp(1.35rem, 1.7vw, 1.8rem) !important;
    line-height: 1.2 !important;
}

#home-intro .home-feature-card p {
    font-size: clamp(1.02rem, 1.18vw, 1.22rem) !important;
    line-height: 1.62 !important;
}

#home-intro .home-intro-portrait {
    position: absolute !important;
    right: 1rem !important;
    bottom: -0.4rem !important;
    width: min(44%, 290px) !important;
    opacity: 0.12 !important;
    pointer-events: none !important;
    transform: none !important;
}

#home-intro .home-intro-stats-outside {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin-top: 1.1rem !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

#home-intro .home-intro-stats-outside .hero-stat-item {
    min-height: 150px !important;
    padding: 1.2rem 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

#home-intro .home-intro-stats-outside .hero-stat-number {
    font-size: clamp(2.8rem, 3.5vw, 4.1rem) !important;
    line-height: 1 !important;
}

#home-intro .home-intro-stats-outside .hero-stat-label {
    max-width: 11em !important;
    margin-top: 0.8rem !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
    color: #7f6f59 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

@media (max-width: 1280px) {
    #home-intro .home-intro-main {
        grid-template-columns: 1fr !important;
        gap: 1.8rem !important;
        padding: 2.35rem 2rem 2rem !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(3.3rem, 5vw, 4.8rem) !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.85rem, 2.4vw, 2.5rem) !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-visual {
        justify-content: center !important;
    }

    #home-intro .home-intro-side-panel {
        width: 100% !important;
        max-width: 560px !important;
        margin: 0 auto !important;
    }

    #home-intro .home-feature-card {
        min-height: 136px !important;
    }

    #home-intro .home-intro-portrait {
        right: 50% !important;
        width: min(40%, 220px) !important;
        transform: translateX(50%) !important;
    }

    #home-intro .home-intro-stats-outside {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    #home-intro .home-intro-main {
        gap: 1.8rem !important;
        padding: 2rem 1.5rem 1.6rem !important;
    }

    #home-intro .home-intro-copy {
        max-width: 100% !important;
    }

    #home-intro .home-intro-badge {
        max-width: 100% !important;
    }

    #home-intro .home-intro-title {
        max-width: 100% !important;
        font-size: clamp(2.85rem, 6vw, 4.2rem) !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.75rem, 3.4vw, 2.3rem) !important;
    }

    #home-intro .home-intro-desc {
        max-width: 100% !important;
    }

    #home-intro .home-intro-visual {
        justify-content: center !important;
    }

    #home-intro .home-intro-side-panel {
        width: min(100%, 560px) !important;
        max-width: none !important;
        margin: 0 auto !important;
    }

    #home-intro .home-intro-actions .btn {
        flex-basis: calc(50% - 0.5rem) !important;
    }
}

@media (max-width: 640px) {
    #home-intro .home-intro-main {
        padding: 1.45rem 1rem 1.2rem !important;
    }

    #home-intro .home-intro-badge {
        width: 100% !important;
        padding: 0.75rem 1rem !important;
    }

    #home-intro .home-intro-title {
        font-size: 2.45rem !important;
        line-height: 1.14 !important;
    }

    #home-intro .home-intro-title span {
        font-size: 1.7rem !important;
    }

    #home-intro .home-intro-desc {
        font-size: 1.05rem !important;
        line-height: 1.75 !important;
    }

    #home-intro .home-intro-quote {
        font-size: 1.22rem !important;
        margin-top: 1.5rem !important;
    }

    #home-intro .home-intro-actions .btn {
        width: 100% !important;
        flex-basis: 100% !important;
        min-width: 0 !important;
    }

    #home-intro .home-intro-side-panel {
        width: 100% !important;
    }

    #home-intro .home-feature-card {
        min-height: 0 !important;
        padding: 1.15rem 1rem !important;
    }

    #home-intro .home-intro-portrait {
        display: none !important;
    }

    #home-intro .home-intro-stats-outside {
        grid-template-columns: 1fr !important;
    }

    #home-intro .home-intro-stats-outside .hero-stat-item {
        min-height: 116px !important;
    }
}

#why-us.section {
    padding-top: 1.9rem !important;
}

/* =============================================
   首屏最终锁定版：三端自适应
   desktop >= 1281
   tablet 681 - 1280
   mobile <= 680
   ============================================= */

#home-intro .home-intro-main,
#home-intro .home-intro-copy,
#home-intro .home-intro-badge,
#home-intro .home-intro-title,
#home-intro .home-intro-title span,
#home-intro .home-intro-desc,
#home-intro .home-intro-quote,
#home-intro .home-intro-actions,
#home-intro .home-intro-actions .btn {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

#home-intro .home-intro-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: min(100%, 840px) !important;
    align-self: start !important;
}

#home-intro .home-intro-badge {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    align-self: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(100%, 34rem) !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    line-height: 1.55 !important;
}

#home-intro .home-intro-badge i {
    flex: 0 0 auto !important;
}

#home-intro .home-intro-title,
#home-intro .home-intro-title span,
#home-intro .home-intro-desc,
#home-intro .home-intro-quote {
    width: 100% !important;
    max-width: 100% !important;
}

#home-intro .home-intro-quote {
    display: block !important;
}

#home-intro .home-intro-actions {
    width: 100% !important;
    justify-content: flex-start !important;
}

#home-intro .home-intro-actions .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 3.75rem !important;
}

@media (min-width: 1281px) {
    #home-intro .home-intro-main {
        grid-template-columns: minmax(0, 1.05fr) minmax(360px, 500px) !important;
        gap: clamp(2rem, 3.5vw, 4.5rem) !important;
        align-items: start !important;
    }

    #home-intro .home-intro-badge {
        max-width: 32rem !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 0 1 240px !important;
        width: auto !important;
    }
}

@media (min-width: 681px) and (max-width: 1280px) {
    #home-intro .home-intro-main {
        grid-template-columns: 1fr !important;
        gap: 1.8rem !important;
        padding: 2.1rem 1.8rem 1.7rem !important;
    }

    #home-intro .home-intro-copy {
        max-width: 100% !important;
    }

    #home-intro .home-intro-badge {
        max-width: min(100%, 30rem) !important;
    }

    #home-intro .home-intro-visual {
        justify-content: center !important;
    }

    #home-intro .home-intro-side-panel {
        width: min(100%, 560px) !important;
        max-width: 560px !important;
        margin: 0 auto !important;
    }

    #home-intro .home-intro-portrait {
        right: 50% !important;
        transform: translateX(50%) !important;
        width: min(40%, 220px) !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 1 1 calc(50% - 0.5rem) !important;
        min-width: 220px !important;
        width: auto !important;
    }

    #home-intro .home-intro-stats-outside {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    #home-intro .home-intro-main {
        grid-template-columns: 1fr !important;
        gap: 1.35rem !important;
        padding: 1.35rem 1rem 1.2rem !important;
    }

    #home-intro .home-intro-badge {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0.7rem 0.95rem !important;
        font-size: 0.95rem !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(2.2rem, 9vw, 3rem) !important;
        line-height: 1.14 !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.4rem, 5vw, 1.9rem) !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-desc {
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }

    #home-intro .home-intro-quote {
        margin-top: 1.3rem !important;
        font-size: 1.14rem !important;
        line-height: 1.65 !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #home-intro .home-intro-side-panel {
        width: 100% !important;
        max-width: 100% !important;
    }

    #home-intro .home-feature-card {
        min-height: 0 !important;
        padding: 1rem !important;
    }

    #home-intro .home-intro-portrait {
        display: none !important;
    }

    #home-intro .home-intro-stats-outside {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================
   首屏终版重置：回到深色主视觉 + 右侧四框
   ============================================= */

#home-intro {
    background:
        radial-gradient(circle at 50% 0, rgba(201, 168, 76, 0.12), transparent 35%),
        linear-gradient(180deg, #f7efe2 0%, #f3eadc 100%) !important;
}

#home-intro .home-intro-panel {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(201, 168, 76, 0.32) !important;
    border-radius: 0 !important;
    background: #360806 !important;
    box-shadow: 0 22px 40px rgba(41, 20, 12, 0.14) !important;
}

#home-intro .home-intro-panel-bg {
    opacity: 0.28 !important;
    background-size: cover !important;
    background-position: center center !important;
    filter: saturate(0.9) contrast(0.95) !important;
}

#home-intro .home-intro-panel-overlay {
    background:
        linear-gradient(90deg, rgba(38, 22, 15, 0.94) 0%, rgba(50, 29, 19, 0.9) 48%, rgba(59, 35, 24, 0.72) 72%, rgba(65, 39, 27, 0.44) 100%),
        radial-gradient(circle at 24% 34%, rgba(201, 168, 76, 0.08), transparent 30%) !important;
}

#home-intro .home-intro-main {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, 350px) !important;
    gap: clamp(1.5rem, 3vw, 3rem) !important;
    align-items: start !important;
    min-height: 560px !important;
    padding: 2.7rem 2.8rem 2rem !important;
}

#home-intro .home-intro-copy {
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

#home-intro .home-intro-badge {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.65rem !important;
    width: auto !important;
    max-width: 30rem !important;
    padding: 0.8rem 1.25rem !important;
    background: rgba(74, 45, 28, 0.58) !important;
    border: 1px solid rgba(201, 168, 76, 0.72) !important;
    color: #d7b24b !important;
    box-shadow: inset 0 0 0 1px rgba(255, 245, 219, 0.08) !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    line-height: 1.5 !important;
}

#home-intro .home-intro-badge i {
    color: #d7b24b !important;
    flex: 0 0 auto !important;
}

#home-intro .home-intro-title {
    max-width: 100% !important;
    margin: 1.55rem 0 0.9rem !important;
    color: #fffaf0 !important;
    font-size: clamp(3.8rem, 5vw, 5.8rem) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.03em !important;
    white-space: normal !important;
}

#home-intro .home-intro-title span {
    display: block !important;
    margin-top: 0.45rem !important;
    color: #d6ad45 !important;
    font-size: clamp(2rem, 2.9vw, 2.9rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.05em !important;
    white-space: normal !important;
}

#home-intro .home-intro-desc {
    max-width: 760px !important;
    margin: 0 !important;
    color: rgba(255, 245, 230, 0.9) !important;
    font-size: clamp(1.18rem, 1.5vw, 1.4rem) !important;
    line-height: 1.9 !important;
}

#home-intro .home-intro-quote {
    max-width: 760px !important;
    margin: 1.7rem 0 0 !important;
    color: #d8b14a !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.45rem, 1.8vw, 1.95rem) !important;
    line-height: 1.55 !important;
    letter-spacing: 0.08em !important;
}

#home-intro .home-intro-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    margin-top: 1.8rem !important;
    width: 100% !important;
}

#home-intro .home-intro-actions .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 210px !important;
    min-height: 3.7rem !important;
    flex: 0 1 240px !important;
}

#home-intro .home-intro-visual {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    min-height: 100% !important;
}

#home-intro .home-intro-side-panel {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 4.2rem 0 0 auto !important;
}

#home-intro .home-feature-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#home-intro .home-feature-card {
    width: 100% !important;
    min-height: 0 !important;
    padding: 1.1rem 1.2rem !important;
    background: rgba(51, 30, 20, 0.95) !important;
    border: 1px solid rgba(201, 168, 76, 0.34) !important;
    border-left: 4px solid #d2ab46 !important;
    box-shadow: 0 16px 28px rgba(22, 12, 8, 0.18) !important;
}

#home-intro .home-feature-card h3 {
    margin: 0 0 0.35rem !important;
    color: #e0bb57 !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.05rem, 1.4vw, 1.3rem) !important;
    line-height: 1.25 !important;
}

#home-intro .home-feature-card p {
    margin: 0 !important;
    color: rgba(255, 243, 226, 0.86) !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}

#home-intro .home-intro-portrait {
    position: absolute !important;
    right: 0.4rem !important;
    bottom: 0 !important;
    width: min(58%, 340px) !important;
    opacity: 0.24 !important;
    pointer-events: none !important;
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.18)) !important;
    transform: none !important;
}

@media (min-width: 861px) and (max-width: 1280px) {
    #home-intro .home-intro-main {
        grid-template-columns: minmax(0, 1fr) minmax(250px, 300px) !important;
        gap: 1.6rem !important;
        padding: 2.15rem 1.85rem 1.7rem !important;
        min-height: 0 !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(2.9rem, 4.6vw, 4.2rem) !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.7rem, 2.3vw, 2.25rem) !important;
    }

    #home-intro .home-intro-desc {
        font-size: 1.08rem !important;
        line-height: 1.82 !important;
    }

    #home-intro .home-intro-side-panel {
        max-width: 300px !important;
        margin-top: 2.5rem !important;
    }

    #home-intro .home-feature-card {
        padding: 1rem 1rem !important;
    }

    #home-intro .home-feature-card h3 {
        font-size: 1rem !important;
    }

    #home-intro .home-feature-card p {
        font-size: 0.9rem !important;
    }

    #home-intro .home-intro-portrait {
        width: min(52%, 260px) !important;
        opacity: 0.2 !important;
    }
}

@media (max-width: 860px) {
    #home-intro .home-intro-main {
        grid-template-columns: 1fr !important;
        gap: 1.4rem !important;
        padding: 1.65rem 1.2rem 1.35rem !important;
        min-height: 0 !important;
    }

    #home-intro .home-intro-copy {
        max-width: 100% !important;
    }

    #home-intro .home-intro-badge {
        max-width: 100% !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(2.7rem, 7vw, 3.8rem) !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.55rem, 4vw, 2rem) !important;
    }

    #home-intro .home-intro-desc {
        max-width: 100% !important;
    }

    #home-intro .home-intro-visual {
        justify-content: center !important;
    }

    #home-intro .home-intro-side-panel {
        max-width: 560px !important;
        margin: 0 auto !important;
    }

    #home-intro .home-intro-portrait {
        right: 50% !important;
        bottom: 0 !important;
        width: min(42%, 220px) !important;
        transform: translateX(50%) !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 1 1 calc(50% - 0.5rem) !important;
        min-width: 220px !important;
    }
}

@media (max-width: 680px) {
    #home-intro .home-intro-main {
        padding: 1.25rem 1rem 1.05rem !important;
    }

    #home-intro .home-intro-badge {
        width: 100% !important;
        padding: 0.72rem 0.95rem !important;
        font-size: 0.92rem !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(2.2rem, 10vw, 3rem) !important;
        line-height: 1.12 !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.35rem, 5.6vw, 1.85rem) !important;
    }

    #home-intro .home-intro-desc {
        font-size: 1rem !important;
        line-height: 1.74 !important;
    }

    #home-intro .home-intro-quote {
        font-size: 1.12rem !important;
        line-height: 1.58 !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #home-intro .home-intro-side-panel {
        max-width: 100% !important;
    }

    #home-intro .home-feature-card {
        padding: 0.95rem !important;
    }

    #home-intro .home-feature-card h3 {
        font-size: 0.98rem !important;
    }

    #home-intro .home-feature-card p {
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
    }

    #home-intro .home-intro-portrait {
        display: none !important;
    }
}

/* =============================================
   首屏结构校正：白底版，参考第二稿排版
   ============================================= */

@media (min-width: 1281px) {
    #home-intro .home-intro-panel {
        min-height: 620px !important;
    }

    #home-intro .home-intro-main {
        grid-template-columns: minmax(560px, 1.34fr) minmax(270px, 330px) !important;
        gap: 2.4rem !important;
        padding: 2.35rem 2.7rem 2rem !important;
        align-items: start !important;
    }

    #home-intro .home-intro-copy {
        min-width: 560px !important;
        max-width: none !important;
        padding-right: 0.25rem !important;
    }

    #home-intro .home-intro-badge {
        max-width: 28rem !important;
    }

    #home-intro .home-intro-title {
        max-width: 100% !important;
        font-size: clamp(3.9rem, 4.9vw, 5.5rem) !important;
        line-height: 1.06 !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(2rem, 2.5vw, 2.65rem) !important;
    }

    #home-intro .home-intro-desc {
        max-width: 44rem !important;
    }

    #home-intro .home-intro-quote {
        max-width: 40rem !important;
    }

    #home-intro .home-intro-actions .btn {
        flex: 0 1 230px !important;
    }

    #home-intro .home-intro-visual {
        min-width: 270px !important;
        align-self: stretch !important;
    }

    #home-intro .home-intro-side-panel {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 0 0 auto !important;
        padding-top: 1.4rem !important;
    }

    #home-intro .home-feature-stack {
        gap: 0.88rem !important;
    }

    #home-intro .home-feature-card {
        min-height: 0 !important;
        padding: 0.95rem 1.05rem !important;
    }

    #home-intro .home-feature-card h3 {
        font-size: 0.98rem !important;
        margin-bottom: 0.28rem !important;
    }

    #home-intro .home-feature-card p {
        font-size: 0.88rem !important;
        line-height: 1.48 !important;
    }

    #home-intro .home-intro-portrait {
        right: 0.6rem !important;
        bottom: 0 !important;
        width: min(52%, 300px) !important;
        opacity: 0.13 !important;
    }
}

@media (min-width: 861px) and (max-width: 1280px) {
    #home-intro .home-intro-panel {
        min-height: 0 !important;
    }

    #home-intro .home-intro-main {
        grid-template-columns: minmax(0, 1fr) minmax(250px, 300px) !important;
        gap: 1.4rem !important;
        padding: 1.9rem 1.6rem 1.5rem !important;
    }

    #home-intro .home-intro-copy {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #home-intro .home-intro-title {
        font-size: clamp(2.9rem, 4.6vw, 4.1rem) !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.7rem, 2.3vw, 2.2rem) !important;
    }

    #home-intro .home-intro-desc,
    #home-intro .home-intro-quote {
        max-width: 100% !important;
    }

    #home-intro .home-intro-side-panel {
        max-width: 300px !important;
        margin: 0 0 0 auto !important;
        padding-top: 1rem !important;
    }

    #home-intro .home-feature-card {
        padding: 0.95rem 1rem !important;
    }

    #home-intro .home-feature-card h3 {
        font-size: 0.96rem !important;
    }

    #home-intro .home-feature-card p {
        font-size: 0.87rem !important;
        line-height: 1.46 !important;
    }
}

/* =============================================
   首屏配色回调：保留白色背景，只沿用第二版结构
   ============================================= */

#home-intro {
    background:
        radial-gradient(circle at top, rgba(201, 168, 76, 0.12) 0%, rgba(201, 168, 76, 0.04) 34%, transparent 72%),
        linear-gradient(180deg, #E4D2BF 0%, #CDB39A 100%) !important;
}

#home-intro .home-intro-panel {
    background: #F5EBDD !important;
    border: 1px solid rgba(201, 168, 76, 0.4) !important;
    box-shadow: 0 22px 40px rgba(44, 26, 14, 0.08) !important;
}

#home-intro .home-intro-panel-bg {
    opacity: 0.15 !important;
    filter: saturate(0.85) !important;
}

#home-intro .home-intro-panel-overlay {
    background:
        linear-gradient(90deg, rgba(250, 244, 234, 0.98) 0%, rgba(248, 241, 231, 0.93) 56%, rgba(246, 238, 226, 0.88) 100%),
        radial-gradient(circle at right center, rgba(201, 168, 76, 0.12) 0%, transparent 38%) !important;
}

#home-intro .home-intro-badge {
    background: rgba(255, 243, 239, 0.82) !important;
    border: 1px solid rgba(186, 114, 94, 0.28) !important;
    color: #a32020 !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45) inset !important;
}

#home-intro .home-intro-badge i {
    color: #a32020 !important;
}

#home-intro .home-intro-title {
    color: #170d08 !important;
}

#home-intro .home-intro-title span {
    color: #a32020 !important;
}

#home-intro .home-intro-desc {
    color: #654d3f !important;
}

#home-intro .home-intro-quote {
    color: #bb9740 !important;
}

#home-intro .home-intro-portrait {
    opacity: 0.16 !important;
    filter: drop-shadow(0 14px 24px rgba(44, 26, 14, 0.12)) !important;
}

/* =============================================
   首屏最终压轴：右侧四框右对齐
   ============================================= */

@media (min-width: 861px) {
    #home-intro .home-intro-main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 360px !important;
        align-items: start !important;
        justify-content: stretch !important;
        gap: clamp(1.5rem, 3vw, 3rem) !important;
        width: 100% !important;
    }

    #home-intro .home-intro-copy {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    #home-intro .home-intro-visual {
        width: 360px !important;
        min-width: 360px !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
    }

    #home-intro .home-intro-side-panel {
        width: 360px !important;
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding-top: 1.2rem !important;
    }

    #home-intro .home-feature-stack {
        width: 100% !important;
    }

    #home-intro .home-feature-card {
        width: 100% !important;
    }
}

@media (min-width: 861px) and (max-width: 1180px) {
    #home-intro .home-intro-main {
        grid-template-columns: minmax(0, 1fr) 320px !important;
    }

    #home-intro .home-intro-visual,
    #home-intro .home-intro-side-panel {
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
    }
}

/* =============================================
   首屏最终兜底：左侧吃满，右侧四框固定贴右
   ============================================= */

#home-intro > .container {
    max-width: min(100%, 1880px) !important;
}

@media (min-width: 861px) {
    #home-intro .home-intro-panel {
        width: 100% !important;
        max-width: none !important;
    }

    #home-intro .home-intro-main {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 560px !important;
        gap: clamp(1.5rem, 2.8vw, 3rem) !important;
    }

    #home-intro .home-intro-copy {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-right: 0 !important;
    }

    #home-intro .home-intro-title,
    #home-intro .home-intro-title span,
    #home-intro .home-intro-desc,
    #home-intro .home-intro-quote {
        max-width: none !important;
        width: 100% !important;
    }

    #home-intro .home-intro-desc {
        max-width: 46rem !important;
    }

    #home-intro .home-intro-quote {
        max-width: 42rem !important;
    }

    #home-intro .home-intro-actions {
        max-width: 40rem !important;
    }

    #home-intro .home-intro-visual {
        flex: 0 0 340px !important;
        width: 340px !important;
        min-width: 340px !important;
        max-width: 340px !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
    }

    #home-intro .home-intro-side-panel {
        width: 340px !important;
        min-width: 340px !important;
        max-width: 340px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    #home-intro .home-feature-stack {
        width: 100% !important;
    }
}

@media (min-width: 861px) and (max-width: 1180px) {
    #home-intro .home-intro-visual,
    #home-intro .home-intro-side-panel {
        flex-basis: 310px !important;
        width: 310px !important;
        min-width: 310px !important;
        max-width: 310px !important;
    }
}

@media (max-width: 860px) {
    #home-intro .home-intro-main {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
    }

    #home-intro .home-intro-copy,
    #home-intro .home-intro-visual,
    #home-intro .home-intro-side-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

#home-intro .home-intro-portrait {
    display: none !important;
}

/* =============================================
   首屏最终版：桌面左右分栏，平板压缩，手机单列
   ============================================= */

#home-intro .home-intro-title,
#home-intro .home-intro-title span,
#home-intro .home-intro-desc,
#home-intro .home-intro-quote,
#home-intro .home-intro-badge {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

@media (min-width: 1281px) {
    #home-intro > .container {
        width: min(100% - 3.5rem, 1860px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #home-intro .home-intro-panel {
        width: 100% !important;
        max-width: none !important;
        padding: 2.4rem 2rem 2rem !important;
    }

    #home-intro .home-intro-main {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 2rem !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    #home-intro .home-intro-copy {
        flex: 0 0 520px !important;
        width: 520px !important;
        min-width: 520px !important;
        max-width: 520px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    #home-intro .home-intro-badge {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    #home-intro .home-intro-title {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 1.2rem !important;
        font-size: clamp(4.15rem, 4.9vw, 5.5rem) !important;
        line-height: 1.06 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        text-wrap: balance !important;
    }

    #home-intro .home-intro-title span {
        display: block !important;
        width: 100% !important;
        margin-top: 0.25rem !important;
        font-size: clamp(2.1rem, 2.55vw, 2.7rem) !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    #home-intro .home-intro-desc {
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 0 1.6rem !important;
        font-size: 1.18rem !important;
        line-height: 1.95 !important;
    }

    #home-intro .home-intro-quote {
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 0 1.8rem !important;
        font-size: 1.28rem !important;
        line-height: 1.8 !important;
    }

    #home-intro .home-intro-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
        width: 100% !important;
        max-width: 440px !important;
        margin-top: 0 !important;
    }

    #home-intro .home-intro-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    #home-intro .home-intro-visual {
        flex: 0 0 380px !important;
        width: 380px !important;
        min-width: 380px !important;
        max-width: 380px !important;
        margin-left: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: flex-start !important;
    }

    #home-intro .home-intro-side-panel {
        width: 380px !important;
        min-width: 380px !important;
        max-width: 380px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        padding-top: 0.85rem !important;
    }

    #home-intro .home-feature-stack {
        display: grid !important;
        gap: 1rem !important;
        width: 100% !important;
    }

    #home-intro .home-feature-card {
        width: 100% !important;
        padding: 1.05rem 1.1rem !important;
    }
}

@media (min-width: 861px) and (max-width: 1280px) {
    #home-intro > .container {
        width: min(100% - 2.2rem, 1480px) !important;
        max-width: none !important;
    }

    #home-intro .home-intro-panel {
        padding: 2rem 1.6rem 1.8rem !important;
    }

    #home-intro .home-intro-main {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 1.6rem !important;
    }

    #home-intro .home-intro-copy {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 560px !important;
    }

    #home-intro .home-intro-badge {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    #home-intro .home-intro-title {
        width: 100% !important;
        max-width: none !important;
        font-size: clamp(3rem, 4.2vw, 4.25rem) !important;
        line-height: 1.08 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.8rem, 2.2vw, 2.25rem) !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    #home-intro .home-intro-desc,
    #home-intro .home-intro-quote {
        max-width: 100% !important;
    }

    #home-intro .home-intro-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        max-width: 420px !important;
        gap: 0.9rem !important;
    }

    #home-intro .home-intro-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    #home-intro .home-intro-visual {
        flex: 0 0 320px !important;
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
        margin-left: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    #home-intro .home-intro-side-panel {
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
        margin-left: auto !important;
    }
}

@media (max-width: 860px) {
    #home-intro > .container {
        width: min(100% - 1.2rem, 100%) !important;
    }

    #home-intro .home-intro-panel {
        padding: 1.3rem 1rem 1.2rem !important;
    }

    #home-intro .home-intro-main {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.4rem !important;
    }

    #home-intro .home-intro-copy,
    #home-intro .home-intro-visual,
    #home-intro .home-intro-side-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #home-intro .home-intro-badge {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    #home-intro .home-intro-title {
        width: 100% !important;
        font-size: clamp(2.45rem, 8vw, 3.15rem) !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    #home-intro .home-intro-title span {
        font-size: clamp(1.45rem, 5vw, 1.9rem) !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    #home-intro .home-intro-desc,
    #home-intro .home-intro-quote {
        max-width: 100% !important;
    }

    #home-intro .home-intro-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.8rem !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #home-intro .home-intro-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    #home-intro .home-feature-stack {
        gap: 0.8rem !important;
    }
}

@media (max-width: 520px) {
    #home-intro .home-intro-actions {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================
   首页首屏重构：桌面 / 平板 / 手机 三端稳定版
   目标效果：左侧主文案，右侧功能卡片
   ============================================= */
body.home #home-intro {
    overflow: hidden;
}

body.home #home-intro .home-intro-panel {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 !important;
    border-radius: 28px !important;
    border: 1px solid rgba(201, 168, 76, 0.3) !important;
    background:
        linear-gradient(180deg, rgba(245, 235, 221, 0.96), rgba(228, 210, 191, 0.94)) !important;
    box-shadow: 0 20px 44px rgba(63, 37, 20, 0.12) !important;
}

body.home #home-intro .home-intro-panel-bg {
    opacity: 0.08 !important;
    background-position: center !important;
    background-size: cover !important;
    transform: scale(1.04) !important;
}

body.home #home-intro .home-intro-panel-overlay {
    background:
        radial-gradient(circle at 12% 18%, rgba(201, 168, 76, 0.12), transparent 36%),
        linear-gradient(90deg, rgba(245, 235, 221, 0.9), rgba(228, 210, 191, 0.72)) !important;
}

body.home #home-intro .home-intro-main,
body.home #home-intro .home-intro-stats-outside {
    position: relative;
    z-index: 2;
}

body.home #home-intro .home-intro-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 420px) !important;
    gap: clamp(1.6rem, 3vw, 3.4rem) !important;
    align-items: start !important;
    padding: clamp(1.75rem, 3.2vw, 3rem) !important;
}

body.home #home-intro .home-intro-copy {
    width: 100% !important;
    max-width: 720px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

body.home #home-intro .home-intro-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    max-width: min(100%, 30rem) !important;
    padding: 0.62rem 1rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    background: rgba(255, 246, 238, 0.9) !important;
    border: 1px solid rgba(186, 114, 94, 0.24) !important;
}

body.home #home-intro .home-intro-title {
    width: 100% !important;
    margin: 0 0 0.55rem !important;
    font-size: clamp(3rem, 5vw, 4.5rem) !important;
    line-height: 1.06 !important;
    color: #17100a !important;
    letter-spacing: 0.03em !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

body.home #home-intro .home-intro-title span {
    display: block !important;
    margin-top: 0.45rem !important;
    font-size: clamp(1.5rem, 2.1vw, 2rem) !important;
    line-height: 1.2 !important;
    color: #b1231e !important;
    letter-spacing: 0.16em !important;
    white-space: normal !important;
}

body.home #home-intro .home-intro-desc {
    max-width: 38rem !important;
    margin: 0.65rem 0 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.9 !important;
    color: #5c483c !important;
}

body.home #home-intro .home-intro-quote {
    max-width: 36rem !important;
    margin: 1.35rem 0 0 !important;
    font-size: 1.32rem !important;
    line-height: 1.6 !important;
    color: #b48b2c !important;
    letter-spacing: 0.06em !important;
}

body.home #home-intro .home-intro-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    margin-top: 1.75rem !important;
    width: 100% !important;
}

body.home #home-intro .home-intro-actions .btn {
    min-width: 210px !important;
    min-height: 58px !important;
    padding: 0.9rem 1.3rem !important;
    justify-content: center !important;
}

body.home #home-intro .home-intro-visual {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    min-height: 0 !important;
}

body.home #home-intro .home-intro-portrait {
    display: none !important;
}

body.home #home-intro .home-intro-side-panel {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
}

body.home #home-intro .home-feature-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.8rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home #home-intro .home-feature-card {
    min-height: 0 !important;
    padding: 1rem 1.25rem !important;
    border-radius: 0 !important;
    border: 1px solid rgba(201, 168, 76, 0.35) !important;
    border-left: 7px solid #c89b2c !important;
    background: rgba(54, 8, 6, 0.94) !important;
    box-shadow: 0 14px 28px rgba(46, 24, 14, 0.18) !important;
}

body.home #home-intro .home-feature-card h3 {
    margin-bottom: 0.35rem !important;
    font-size: 1.16rem !important;
    line-height: 1.3 !important;
    color: #efc452 !important;
}

body.home #home-intro .home-feature-card p {
    margin: 0 !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    color: rgba(255, 245, 227, 0.92) !important;
}

body.home #home-intro .home-intro-stats-outside {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin-top: 1rem !important;
    padding: 0 !important;
}

body.home #home-intro .home-intro-stats-outside .hero-stat-item {
    min-height: 132px !important;
    padding: 1rem 0.9rem !important;
    background: rgba(245, 235, 221, 0.92) !important;
    border: 1px solid rgba(201, 168, 76, 0.28) !important;
    box-shadow: 0 10px 24px rgba(44, 26, 14, 0.06) !important;
}

body.home #home-intro .home-intro-stats-outside .hero-stat-number {
    font-size: clamp(2.35rem, 3vw, 3.5rem) !important;
    color: #c89b2c !important;
}

body.home #home-intro .home-intro-stats-outside .hero-stat-label {
    margin-top: 0.55rem !important;
    font-size: 0.96rem !important;
    line-height: 1.45 !important;
    color: #826f5a !important;
}

/* Tablet */
@media (max-width: 1180px) {
    body.home #home-intro .home-intro-main {
        grid-template-columns: 1fr !important;
        gap: 1.6rem !important;
        padding: 2rem 1.6rem !important;
    }

    body.home #home-intro .home-intro-copy {
        max-width: 100% !important;
    }

    body.home #home-intro .home-intro-side-panel {
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    body.home #home-intro .home-feature-stack {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.9rem !important;
    }

    body.home #home-intro .home-intro-stats-outside {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 680px) {
    body.home #home-intro .home-intro-panel {
        border-radius: 20px !important;
    }

    body.home #home-intro .home-intro-main {
        gap: 1.2rem !important;
        padding: 1.25rem 1rem !important;
    }

    body.home #home-intro .home-intro-badge {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 0.8rem !important;
        padding: 0.58rem 0.8rem !important;
    }

    body.home #home-intro .home-intro-title {
        font-size: clamp(2.3rem, 11vw, 3.1rem) !important;
        line-height: 1.08 !important;
    }

    body.home #home-intro .home-intro-title span {
        font-size: 1.35rem !important;
        letter-spacing: 0.12em !important;
    }

    body.home #home-intro .home-intro-desc {
        font-size: 1rem !important;
        line-height: 1.78 !important;
    }

    body.home #home-intro .home-intro-quote {
        font-size: 1.08rem !important;
        line-height: 1.55 !important;
        margin-top: 1rem !important;
    }

    body.home #home-intro .home-intro-actions {
        flex-direction: column !important;
        gap: 0.8rem !important;
    }

    body.home #home-intro .home-intro-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 54px !important;
    }

    body.home #home-intro .home-feature-stack {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }

    body.home #home-intro .home-feature-card {
        padding: 0.9rem 0.95rem !important;
    }

    body.home #home-intro .home-feature-card h3 {
        font-size: 1.02rem !important;
    }

    body.home #home-intro .home-feature-card p {
        font-size: 0.92rem !important;
        line-height: 1.58 !important;
    }

    body.home #home-intro .home-intro-stats-outside {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-item {
        min-height: 108px !important;
    }
}

/* =============================================
   响应式稳定层
   统一桌面 / 平板 / 手机的内容容器与卡片行为
   ============================================= */
body {
    overflow-x: hidden;
}

img,
video,
iframe,
svg {
    max-width: 100%;
}

#top-bar .container > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    line-height: 1.6;
}

#top-bar .container > span i {
    flex: 0 0 auto;
}

.site-branding,
.site-title-wrap,
.archive-main,
.single-main,
.page-main,
.page-sidebar,
.post-body,
.entry-content,
.page-content-body {
    min-width: 0;
}

.page-content-body,
.entry-content,
.post-body,
.home-intro-copy,
.home-feature-card p,
.reference-media-name,
.reference-logo-name,
.reference-logo-domain {
    overflow-wrap: anywhere;
}

.page-content-body img,
.page-content-body iframe,
.entry-content img,
.entry-content iframe {
    display: block;
    width: 100%;
    height: auto;
}

.page-content-body figure,
.entry-content figure {
    margin: 1.5rem 0;
}

.archive-shell,
.single-shell {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-xl);
}

.archive-layout,
.single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 3rem;
    align-items: start;
}

.archive-title {
    margin-bottom: 2rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.5rem);
    color: var(--color-dark);
    line-height: 1.3;
    text-align: left;
}

.post-listing-grid {
    grid-template-columns: 1fr;
}

.archive-post-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 260px;
}

.archive-post-card--no-image {
    min-height: 0;
}

.archive-post-thumbnail {
    flex: 0 0 320px;
    width: 320px;
    min-height: 260px;
    background: rgba(247, 240, 228, 0.72);
}

.archive-post-thumbnail a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.archive-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: rgba(247, 240, 228, 0.92);
}

.archive-post-card .post-body {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1.65rem 1.8rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(251,247,240,0.98) 100%);
    border-left: 1px solid rgba(201, 168, 76, 0.22);
}

.archive-post-card--no-image .post-body {
    border-left: 0;
    padding-top: 1.35rem;
}

.archive-post-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    line-height: 1.45;
    margin-bottom: 0.75rem;
}

.archive-post-title a {
    color: var(--color-dark);
}

.archive-post-title a:hover {
    color: var(--color-primary);
}

.archive-post-link {
    margin-top: 1rem;
    padding: 0.4rem 1rem;
    font-size: 0.85rem;
    align-self: flex-start;
}

.archive-pagination {
    margin-top: 2rem;
}

.search-results-header {
    margin-bottom: 2rem;
}

.search-summary {
    margin: -1rem 0 0;
    max-width: 760px;
    color: var(--color-text-muted);
    line-height: 1.8;
}

.search-post-list {
    display: grid;
    gap: 1.5rem;
}

.search-post-card {
    display: grid;
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
    align-items: stretch;
    min-height: 250px;
}

.search-post-card--text-only {
    grid-template-columns: 1fr;
    min-height: 0;
}

.search-post-thumbnail {
    aspect-ratio: 5 / 4;
    min-height: 100%;
    background: rgba(247, 240, 228, 0.72);
}

.search-post-thumbnail a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.search-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: rgba(247, 240, 228, 0.92);
}

.search-post-card .post-body {
    padding: 1.6rem 1.75rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(251,247,240,0.98) 100%);
    border-left: 1px solid rgba(201, 168, 76, 0.22);
}

.search-post-card--text-only .post-body {
    border-left: 0;
    padding-top: 1.35rem;
}

.archive-post-card:hover .archive-post-thumbnail img,
.search-post-card:hover .search-post-thumbnail img {
    transform: none;
}

.search-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    color: var(--color-text-light);
    font-size: 0.82rem;
    margin-top: auto;
    padding-top: 0.95rem;
    border-top: 1px solid var(--color-border);
}

.search-empty-state {
    margin-top: 0.5rem;
}

.single-entry-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--color-border);
}

.single-entry-meta {
    margin-bottom: 1rem;
}

.single-entry-title {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.4rem);
    color: var(--color-dark);
    line-height: 1.35;
}

.single-entry-title--fangsong {
    font-family: "FandolFang", "STFangsong", "FangSong", "Noto Serif SC", serif;
}

.single-entry-cover {
    margin-top: 1.5rem;
    border: 3px solid var(--color-border);
}

.single-entry-cover img {
    display: block;
    width: 100%;
    height: auto;
}

.single-entry-content {
    font-family: var(--font-serif);
    line-height: 2;
    font-size: 1.05rem;
    color: var(--color-text);
}

.single-entry-tags {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
    --bsys-hidden-microcopy-color: var(--color-bg);
    color: var(--bsys-hidden-microcopy-color) !important;
}

.single-entry-tags-label {
    color: var(--bsys-hidden-microcopy-color) !important;
    font-size: 0.9rem;
}

.single-entry-tag {
    display: inline-block;
    padding: 0.2rem 0.75rem;
    margin: 0.2rem;
    background: transparent !important;
    border: 1px solid transparent !important;
    font-size: 0.85rem;
    color: var(--bsys-hidden-microcopy-color) !important;
    border-radius: 2px;
}

.single-entry-tag:hover {
    color: var(--bsys-hidden-microcopy-color) !important;
}

/* 导入旧站的 SEO 关键词云保留在 DOM 中，但前台视觉上贴合页面底色隐藏。 */
.seo-cloud,
[class*="seo-cloud"],
.guwu-seo-microcopy,
.seo-cloud *,
[class*="seo-cloud"] *,
.guwu-seo-microcopy * {
    --bsys-hidden-seo-microcopy-color: var(--color-bg, #E4D2BF);
    color: var(--bsys-hidden-seo-microcopy-color) !important;
    -webkit-text-fill-color: var(--bsys-hidden-seo-microcopy-color) !important;
    text-shadow: none !important;
    background: transparent !important;
    border-color: transparent !important;
    opacity: 1 !important;
    filter: none !important;
}

.article-reading-content .seo-cloud,
.article-reading-content [class*="seo-cloud"],
.article-reading-content .guwu-seo-microcopy,
.single-entry-content .seo-cloud,
.single-entry-content [class*="seo-cloud"],
.single-entry-content .guwu-seo-microcopy,
.page-content-body .seo-cloud,
.page-content-body [class*="seo-cloud"],
.page-content-body .guwu-seo-microcopy,
.entry-content .seo-cloud,
.entry-content [class*="seo-cloud"],
.entry-content .guwu-seo-microcopy {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 1.25rem 0 0 !important;
    padding: 0 !important;
    line-height: 1.8 !important;
}

.post-navigation-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 2rem;
}

.post-nav-card {
    padding: 1rem;
    background: var(--color-bg-paper);
    border: 1px solid var(--color-border);
}

.post-nav-card-next {
    text-align: right;
}

.single-comments {
    margin-top: 3rem;
}

.article-reading-shell {
    display: grid;
    gap: 1.75rem;
}

.article-reading-hero {
    padding: 2rem;
    border: 1px solid rgba(201, 168, 76, 0.48);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(249, 242, 231, 0.96) 100%);
    box-shadow: 0 18px 36px rgba(80, 45, 25, 0.08);
}
.article-reading-hero--has-bg {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(135deg, rgba(20, 11, 8, 0.78) 0%, rgba(20, 11, 8, 0.5) 100%),
        linear-gradient(180deg, rgba(201, 168, 76, 0.14) 0%, rgba(20, 11, 8, 0.06) 100%),
        var(--article-hero-image);
    background-size: auto, auto, cover;
    background-position: center, center, center;
    background-repeat: no-repeat;
    border-color: rgba(201, 168, 76, 0.24);
    box-shadow: 0 20px 40px rgba(35, 18, 12, 0.16);
}
.article-reading-hero--has-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at right top, rgba(201, 168, 76, 0.18), transparent 26%),
        radial-gradient(circle at left bottom, rgba(255, 255, 255, 0.08), transparent 22%);
    pointer-events: none;
}
.article-reading-hero--has-bg > * {
    position: relative;
    z-index: 1;
}

.article-reading-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1rem;
    margin-bottom: 1rem;
    color: rgba(110, 84, 62, 0.94);
    font-size: 0.88rem;
}
.article-reading-hero--has-bg .article-reading-meta {
    color: rgba(255, 244, 226, 0.82);
}

.article-reading-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
}

.article-reading-title {
    margin: 0;
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1.28;
    color: var(--color-dark);
}
.article-reading-title--default,
.article-reading-title--display {
    font-family: var(--font-display);
    letter-spacing: 0.03em;
}
.article-reading-title--serif {
    font-family: var(--font-serif);
    letter-spacing: 0;
}
.article-reading-title--fangsong {
    font-family: "FandolFang", "STFangsong", "FangSong", "Noto Serif SC", serif;
}
.article-reading-hero--has-bg .article-reading-title {
    color: #fff5e3;
    text-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.article-reading-info-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.2rem;
}

.article-reading-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 0.95rem;
    border-radius: 999px;
    background: rgba(155, 27, 27, 0.07);
    border: 1px solid rgba(155, 27, 27, 0.14);
    color: var(--color-primary);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.article-reading-hero--has-bg .article-reading-chip {
    background: rgba(255, 248, 238, 0.12);
    border-color: rgba(255, 225, 164, 0.18);
    color: #fff0d1;
}

.article-reading-intro {
    margin-top: 1.4rem;
    padding: 1.35rem 1.45rem;
    border-left: 4px solid var(--color-gold);
    border-radius: 0 18px 18px 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(248, 240, 226, 0.95) 100%);
}
.article-reading-hero--has-bg .article-reading-intro {
    border-left-color: rgba(255, 224, 153, 0.9);
    background: linear-gradient(180deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.08) 100%);
    backdrop-filter: blur(10px);
}

.article-reading-intro p {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.95;
    text-indent: 0;
    color: rgba(70, 54, 41, 0.95);
}
.article-reading-hero--has-bg .article-reading-intro p {
    color: rgba(255, 244, 226, 0.88);
}

.article-reading-intro p + p {
    margin-top: 0.85rem;
}

.article-reading-cover {
    margin-top: 1.5rem;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(201, 168, 76, 0.42);
    box-shadow: 0 14px 28px rgba(80, 45, 25, 0.08);
}

.article-reading-cover img {
    display: block;
    width: 100%;
    height: auto;
}

.article-reading-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 248px;
    gap: 1.5rem;
    align-items: start;
}

.article-reading-body--no-outline {
    grid-template-columns: minmax(0, 1fr);
}

.article-reading-body--outline-top {
    grid-template-columns: minmax(0, 1fr);
}

.article-reading-main {
    min-width: 0;
}

.article-reading-content {
    padding: 2rem 2.1rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(251,247,240,0.99) 100%);
    border: 1px solid rgba(201, 168, 76, 0.36);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(80, 45, 25, 0.08);
    font-family: var(--font-serif);
    font-size: 1.04rem;
    line-height: 2.02;
    color: rgba(56, 41, 30, 0.96);
}

.article-reading-content > * + * {
    margin-top: 1.05rem;
}

.article-reading-content p {
    margin: 0;
    text-indent: 2em;
}

.article-reading-content .article-reading-media {
    text-indent: 0;
    margin: 1.5rem 0;
}

.article-reading-content .article-reading-media img,
.article-reading-content img.article-reading-image,
.article-reading-intro img.article-reading-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 14px;
}

.article-reading-content a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.article-reading-content strong {
    color: var(--color-dark);
}

.article-reading-section-title {
    margin: 2.4rem 0 1rem;
    padding-left: 1rem;
    border-left: 4px solid var(--color-gold);
    font-family: var(--font-serif);
    font-size: 1.45rem;
    line-height: 1.5;
    color: var(--color-dark);
    scroll-margin-top: 120px;
}

.article-reading-list {
    margin: 0.4rem 0 0 1.2rem;
    padding: 0;
    list-style: decimal;
    display: grid;
    gap: 0.78rem;
}

.article-reading-list-item {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(201, 168, 76, 0.3);
    border-radius: 14px;
    background: rgba(247, 240, 228, 0.7);
    line-height: 1.85;
}

.article-reading-note {
    margin: 1.4rem 0;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(155, 27, 27, 0.18);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,245,243,0.94) 0%, rgba(255,250,247,0.98) 100%);
    box-shadow: 0 10px 24px rgba(155, 27, 27, 0.06);
}

.article-reading-note-title {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--color-primary);
    text-indent: 0;
}

.article-reading-note p {
    margin: 0;
    text-indent: 0;
    line-height: 1.88;
}

.article-reading-note p + p {
    margin-top: 0.55rem;
}

.article-reading-outline {
    position: sticky;
    top: 120px;
    padding: 1.25rem 1.15rem;
    border: 1px solid rgba(201, 168, 76, 0.34);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(250,244,235,0.98) 100%);
    box-shadow: 0 16px 30px rgba(80, 45, 25, 0.07);
}

.article-reading-outline--top {
    position: static;
    top: auto;
}

.article-reading-outline h2 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.05rem;
}

.article-reading-outline ol {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.65rem;
}

.article-reading-outline li {
    margin: 0;
}

.article-reading-outline a {
    display: block;
    padding: 0.72rem 0.82rem;
    border-radius: 12px;
    background: rgba(247, 240, 228, 0.8);
    color: var(--color-dark);
    font-size: 0.92rem;
    line-height: 1.55;
    text-decoration: none;
    transition: var(--transition);
}

.article-reading-outline a:hover {
    background: rgba(201, 168, 76, 0.18);
    color: var(--color-primary);
}

.single-kungfu-rail {
    top: auto;
    gap: 0.95rem;
}

.single-kungfu-rail-card {
    padding: 1rem 1.05rem;
    border-radius: 14px;
}

.single-kungfu-rail-card h3 {
    margin-bottom: 0.65rem;
    font-size: 0.98rem;
}

.single-kungfu-rail-outline {
    margin: 0.8rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.6rem;
}

.single-kungfu-rail-outline li {
    margin: 0;
}

.single-kungfu-rail-outline a,
.single-kungfu-rail-links a {
    display: block;
    padding: 0.72rem 0.82rem;
    border-radius: 10px;
    background: rgba(247, 240, 228, 0.74);
    color: var(--color-dark);
    text-decoration: none;
    line-height: 1.5;
    transition: var(--transition);
}

.single-kungfu-rail-outline a:hover,
.single-kungfu-rail-links a:hover {
    background: rgba(201, 168, 76, 0.18);
    color: var(--color-primary);
}

.single-kungfu-rail-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.55rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.14);
    color: var(--color-primary);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.single-kungfu-rail-btn {
    display: block;
    margin-top: 0.7rem;
    text-align: center;
}

.single-kungfu-rail-course-list li {
    align-items: flex-start;
    padding: 0;
    background: transparent;
}

.single-kungfu-rail-course-list li:hover {
    background: transparent;
}

.single-kungfu-rail-course-list a {
    display: block;
    width: 100%;
    padding: 0.72rem 0.82rem;
    border-radius: 10px;
    background: rgba(247, 240, 228, 0.74);
    line-height: 1.5;
}

.single-kungfu-rail-course-list a:hover {
    background: rgba(201, 168, 76, 0.18);
}

.single-kungfu-rail-links {
    gap: 0.6rem;
}

.article-reading-source {
    margin-top: 1rem;
    padding: 1rem 1.15rem;
    border: 1px dashed rgba(201, 168, 76, 0.5);
    border-radius: 16px;
    background: rgba(252, 247, 239, 0.95);
}

.article-reading-source-label {
    display: inline-flex;
    align-items: center;
    margin-right: 0.8rem;
    color: rgba(108, 83, 62, 0.9);
    font-size: 0.88rem;
    font-weight: 700;
}

.article-reading-source a {
    font-size: 0.95rem;
    font-weight: 700;
}

.sidebar-cta {
    background: var(--color-dark);
    border-color: var(--color-gold);
    text-align: center;
    padding: 2rem;
}

.sidebar-cta-title {
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.sidebar-cta-desc {
    color: var(--color-text-muted);
    font-size: 0.9rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.sidebar-cta-btn {
    width: 100%;
    justify-content: center;
}

.sidebar-cta-btn-primary {
    margin-bottom: 0.75rem;
}

.sidebar-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-list-item {
    border-bottom: 1px solid var(--color-border);
}

.sidebar-course-item {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 0;
}

.sidebar-course-thumb {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.sidebar-course-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sidebar-course-link {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.875rem;
    color: var(--color-dark);
    font-weight: 500;
    line-height: 1.4;
}

.sidebar-course-price {
    color: var(--color-primary);
    font-size: 0.85rem;
}

.sidebar-post-item {
    padding: 0.6rem 0;
}

.sidebar-post-link {
    font-size: 0.875rem;
    color: var(--color-text);
    line-height: 1.5;
}

.sidebar-post-date {
    font-size: 0.75rem;
    color: var(--color-text-light);
    margin-top: 0.2rem;
}

@media (max-width: 1100px) {
    .archive-layout,
    .single-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .article-reading-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .article-reading-outline {
        position: static;
    }

    .single-kungfu-rail {
        position: static;
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .site-header-inner {
        gap: 0.75rem;
    }

    .article-reading-hero,
    .article-reading-content {
        padding: 1.4rem 1.1rem;
        border-radius: 18px;
    }

    .article-reading-title {
        font-size: 1.7rem;
    }

    .article-reading-content {
        font-size: 1rem;
    }

    .article-reading-content p {
        text-indent: 0;
    }

    .article-reading-section-title {
        margin-top: 1.9rem;
        font-size: 1.28rem;
    }

    .article-reading-outline {
        padding: 1rem;
    }

    .single-kungfu-rail {
        gap: 0.85rem;
    }

    .single-kungfu-rail-card {
        padding: 0.95rem;
    }

    .site-branding {
        margin-right: auto;
        min-width: 0;
    }

    .site-title-wrap .site-title,
    .site-title-wrap .site-tagline {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .archive-post-card {
        display: block;
        min-height: 0;
    }

    .search-post-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .archive-post-thumbnail {
        width: 100%;
        min-height: 0;
        aspect-ratio: 16/9;
        flex-basis: auto;
    }

    .search-post-thumbnail {
        aspect-ratio: 16/9;
        min-height: 0;
    }

    .post-meta {
        flex-wrap: wrap;
        gap: 0.55rem 1rem;
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reference-logo-card {
        min-height: 0;
    }

    .page-layout {
        gap: 1.75rem;
        padding-top: 1.8rem;
        padding-bottom: 2.2rem;
    }
}

@media (max-width: 640px) {
    #top-bar {
        padding: 0.5rem 0;
    }

    #top-bar .top-bar-inner {
        gap: 0.48rem;
    }

    #top-bar .top-bar-text {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        justify-content: center;
        width: min(100%, 19.5rem);
        margin: 0 auto;
        gap: 0.42rem;
        text-align: left;
        line-height: 1.45;
        white-space: normal;
    }

    #top-bar .top-bar-icons {
        align-self: start;
        padding-top: 0.1em;
    }

    #top-bar .top-bar-text-copy {
        overflow-wrap: anywhere;
    }

    #top-bar .top-bar-actions {
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 0.58rem;
    }

    #top-bar .top-bar-phone {
        font-size: clamp(0.82rem, 4vw, 1rem);
    }

    #top-bar .top-bar-cta {
        min-height: 30px;
        padding-inline: 0.72rem;
        font-size: clamp(0.78rem, 3.7vw, 0.94rem);
    }

    .archive-shell,
    .single-shell {
        padding-top: 1.8rem;
        padding-bottom: 2.6rem;
    }

    .archive-title,
    .single-entry-title {
        font-size: clamp(1.55rem, 7vw, 2rem);
    }

    .archive-post-link {
        width: 100%;
        justify-content: center;
    }

    .post-navigation-grid {
        grid-template-columns: 1fr;
    }

    .post-nav-card-next {
        text-align: left;
    }

    .page-content-body {
        font-size: 1rem;
        line-height: 1.85;
    }

    .page-content-body p {
        text-indent: 0;
    }

    .page-content-body h3 {
        font-size: 1.2rem;
        margin-top: 1.5rem;
    }

    .page-highlight-grid,
    .page-media-grid,
    .page-contact-grid,
    .page-link-grid {
        grid-template-columns: 1fr;
    }

    .page-timeline li {
        grid-template-columns: 1fr;
    }

    .page-intro-panel,
    .page-section-block,
    .page-cta-panel,
    .page-highlight-card,
    .page-contact-card,
    .page-link-card {
        padding: 1rem;
    }

    .sidebar .widget,
    .sidebar-card {
        padding: 1rem;
    }

    .guwu-search-form .search-form-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .guwu-search-form .search-submit {
        width: 100%;
    }

    .news-feature {
        margin-top: 1.2rem;
        padding: 0.85rem;
        border-radius: 22px;
    }

    .news-feature-thumb img {
        min-height: 180px;
    }
}

@media (max-width: 520px) {
    .header-actions .btn {
        padding-inline: 0.7rem;
    }

    .reference-media-grid,
    .reference-logo-grid {
        grid-template-columns: 1fr;
    }

    .sidebar-course-item {
        align-items: flex-start;
    }
}

/* =============================================
   首页首屏最终收口
   仅处理 #home-intro，避免旧样式继续干扰桌面布局
   ============================================= */
@media (min-width: 1181px) {
    body.home #home-intro > .container {
        width: min(100% - 4rem, 1320px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    body.home #home-intro .home-intro-panel {
        padding: 1.3rem 1.5rem 1.5rem !important;
    }

    body.home #home-intro .home-intro-main {
        display: grid !important;
        grid-template-columns: minmax(500px, 580px) minmax(320px, 348px) !important;
        justify-content: space-between !important;
        align-items: start !important;
        column-gap: clamp(3.25rem, 5.6vw, 5.5rem) !important;
        row-gap: 1.25rem !important;
        padding: 0 !important;
    }

    body.home #home-intro .home-intro-copy {
        width: 100% !important;
        max-width: 580px !important;
    }

    body.home #home-intro .home-intro-title {
        font-size: clamp(2.9rem, 4.2vw, 4.4rem) !important;
    }

    body.home #home-intro .home-intro-title span {
        font-size: clamp(1.5rem, 1.9vw, 2rem) !important;
        letter-spacing: 0.12em !important;
    }

    body.home #home-intro .home-intro-desc {
        max-width: 32rem !important;
        font-size: 1.02rem !important;
    }

    body.home #home-intro .home-intro-quote {
        max-width: 30rem !important;
        font-size: 1.16rem !important;
        margin-top: 1rem !important;
    }

    body.home #home-intro .home-intro-actions {
        width: 100% !important;
        max-width: 420px !important;
        margin-top: 1.35rem !important;
    }

    body.home #home-intro .home-intro-actions .btn {
        min-width: 0 !important;
    }

    body.home #home-intro .home-intro-visual {
        width: 100% !important;
        max-width: 348px !important;
        min-width: 0 !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        padding-top: 0.3rem !important;
    }

    body.home #home-intro .home-intro-side-panel {
        width: 100% !important;
        max-width: 348px !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.home #home-intro .home-feature-stack {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }

    body.home #home-intro .home-feature-card {
        padding: 0.82rem 1rem !important;
    }

    body.home #home-intro .home-feature-card h3 {
        font-size: 1.02rem !important;
    }

    body.home #home-intro .home-feature-card p {
        font-size: 0.88rem !important;
        line-height: 1.52 !important;
    }
}

@media (min-width: 681px) and (max-width: 1180px) {
    body.home #home-intro > .container {
        width: min(100% - 2rem, 1120px) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    body.home #home-intro .home-intro-panel {
        padding: 1.2rem 1.2rem 1.35rem !important;
    }

    body.home #home-intro .home-intro-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-content: start !important;
        align-items: start !important;
        column-gap: 0 !important;
        row-gap: 1.2rem !important;
        padding: 0 !important;
    }

    body.home #home-intro .home-intro-copy {
        max-width: 100% !important;
    }

    body.home #home-intro .home-intro-title {
        font-size: clamp(2.05rem, 3.6vw, 2.75rem) !important;
    }

    body.home #home-intro .home-intro-title span {
        font-size: clamp(1.08rem, 1.55vw, 1.28rem) !important;
        letter-spacing: 0.08em !important;
    }

    body.home #home-intro .home-intro-desc {
        font-size: 1rem !important;
        line-height: 1.82 !important;
    }

    body.home #home-intro .home-intro-quote {
        font-size: 1.08rem !important;
        line-height: 1.62 !important;
    }

    body.home #home-intro .home-intro-actions {
        max-width: 380px !important;
        margin-top: 1.2rem !important;
    }

    body.home #home-intro .home-intro-visual {
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding-top: 0 !important;
    }

    body.home #home-intro .home-intro-side-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.home #home-intro .home-feature-stack {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.7rem !important;
    }

    body.home #home-intro .home-feature-card {
        padding: 0.88rem 0.95rem !important;
    }

    body.home #home-intro .home-feature-card h3 {
        font-size: 1rem !important;
    }

    body.home #home-intro .home-feature-card p {
        font-size: 0.9rem !important;
        line-height: 1.55 !important;
    }
}

@media (max-width: 680px) {
    body.home #home-intro > .container {
        width: min(100% - 1rem, 100%) !important;
        margin-inline: auto !important;
    }

    body.home #home-intro .home-intro-panel {
        padding: 1rem 0.9rem 1.1rem !important;
    }

    body.home #home-intro .home-intro-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 0 !important;
    }

    body.home #home-intro .home-intro-copy,
    body.home #home-intro .home-intro-visual,
    body.home #home-intro .home-intro-side-panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.home #home-intro .home-intro-title {
        font-size: clamp(2.2rem, 10vw, 3rem) !important;
    }

    body.home #home-intro .home-intro-title span {
        font-size: 1.26rem !important;
        letter-spacing: 0.08em !important;
    }

    body.home #home-intro .home-intro-desc,
    body.home #home-intro .home-intro-quote {
        max-width: 100% !important;
    }

    body.home #home-intro .home-intro-actions {
        max-width: 100% !important;
    }

    body.home #home-intro .home-feature-stack {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.7rem !important;
    }
}

/* 首页视频与下方介绍区共用容器宽度，避免两端尺寸不一致 */
@media (min-width: 1181px) {
    body.home #home-video > .container,
    body.home #home-intro > .container {
        width: var(--bsys-shell-width) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }
}

@media (min-width: 681px) and (max-width: 1180px) {
    body.home #home-video > .container,
    body.home #home-intro > .container {
        width: var(--bsys-shell-width) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 680px) {
    body.home #home-video > .container,
    body.home #home-intro > .container {
        width: var(--bsys-shell-width) !important;
        margin-inline: auto !important;
    }
}

/* =============================================
   全站三段断点最终收口
   覆盖头部、归档、内容页、卡片网格、页脚与文章侧边栏
   ============================================= */
.archive-hero {
    border-bottom: 2px solid var(--color-border);
}

.archive-hero-course {
    background: var(--color-dark);
    border-bottom-color: var(--color-gold);
}

.archive-hero-default {
    background: var(--color-bg-dark);
}

.archive-hero-inner {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.archive-hero-kicker {
    margin: 0 0 0.5rem;
    color: var(--color-gold);
    font-size: 0.9rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    text-align: center;
}

.archive-hero-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.6rem);
    line-height: 1.2;
}

.archive-hero-course .archive-hero-title {
    color: #fff;
    text-align: center;
}

.archive-hero-default .archive-hero-title {
    color: var(--color-dark);
}

.archive-hero-desc {
    margin: 0.7rem 0 0;
    color: var(--color-text-muted);
    line-height: 1.75;
}

.archive-hero-course .archive-hero-desc {
    color: rgba(255,255,255,0.7);
    text-align: center;
}

.archive-content-shell {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-xl);
}

.archive-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.6rem;
}

.archive-filter-link {
    padding: 0.42rem 1rem !important;
    font-size: 0.875rem !important;
}

.archive-grid {
    margin-top: 0;
}

.archive-pagination-shell {
    margin-top: 2.25rem;
}

.archive-empty-state {
    padding: 3rem 1rem;
    color: var(--color-text-muted);
    text-align: center;
}

.page-sidebar > .sidebar-nav {
    grid-column: 1 / -1;
}

.page-sidebar .btn,
.course-footer .btn,
.cta-actions .btn,
.sidebar .btn {
    justify-content: center;
}

.footer-about,
.footer-widget,
.page-main,
.page-sidebar,
.sidebar .widget,
.post-card,
.course-card {
    min-width: 0;
}

@media (min-width: 681px) and (max-width: 1180px) {
    .container,
    .container-narrow {
        padding-inline: 1.25rem !important;
    }

    #banner {
        height: 480px !important;
    }

    #top-bar {
        font-size: 0.78rem !important;
    }

    .site-brand-banner__inner {
        padding: 0.29rem 1.25rem !important;
    }

    .site-brand-banner__link {
        min-height: 48px !important;
        gap: 0.5rem !important;
    }

    .site-brand-banner__logo {
        width: 44px !important;
    }

    .site-brand-banner__title {
        font-size: clamp(0.9rem, 1.99vw, 1.31rem) !important;
    }

    #masthead .site-header-inner {
        height: 60px !important;
        padding: 0 1rem !important;
        gap: 0.75rem !important;
    }

    .site-branding {
        width: 52px !important;
        margin-right: auto !important;
    }

    .site-brand-emblem {
        width: 52px !important;
        height: 52px !important;
    }

    .header-phone {
        display: none !important;
    }

    .menu-toggle {
        display: flex !important;
        align-items: center !important;
        order: 3 !important;
        margin-left: 0.25rem !important;
    }

    .header-actions {
        order: 2 !important;
        margin-left: 0.4rem !important;
    }

    .header-actions .btn {
        padding: 0.45rem 0.85rem !important;
        font-size: 0.82rem !important;
    }

    #primary-navigation {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: min(320px, 88vw) !important;
        height: 100vh !important;
        background: var(--color-dark) !important;
        border-left: 2px solid var(--color-gold) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 70px 0 2rem !important;
        overflow-y: auto !important;
        transition: right 0.3s ease !important;
        z-index: 999 !important;
        box-shadow: -8px 0 24px rgba(0,0,0,0.45) !important;
    }

    #primary-navigation.active {
        right: 0 !important;
    }

    #primary-menu {
        flex-direction: column !important;
        width: 100% !important;
    }

    #primary-menu > li {
        flex: none !important;
        text-align: left !important;
    }

    #primary-menu > li > a {
        height: auto !important;
        padding: 0.95rem 1.3rem !important;
        justify-content: flex-start !important;
        font-size: 1rem !important;
        border-bottom: 1px solid rgba(201,168,76,0.1) !important;
    }

    #primary-menu > li > a::after {
        display: none !important;
    }

    #primary-menu .sub-menu,
    #primary-menu li:hover > .sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border: none !important;
        min-width: 0 !important;
        padding: 0.35rem 0 0.35rem 1rem !important;
        background: rgba(255,255,255,0.03) !important;
    }

    .page-banner {
        height: 282px !important;
    }

    .page-banner-title {
        font-size: 2rem !important;
        letter-spacing: 0.08em !important;
    }

    .page-layout {
        grid-template-columns: 1fr !important;
        gap: 1.75rem !important;
        padding-top: 2rem !important;
        padding-bottom: 2.5rem !important;
    }

    .page-sidebar {
        position: static !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }

    .page-content-body {
        font-size: 1rem !important;
        line-height: 1.9 !important;
    }

    .page-content-body p {
        text-indent: 0 !important;
    }

    .archive-layout,
    .single-layout {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    .sidebar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }

    .sidebar .widget {
        margin-bottom: 0 !important;
    }

    .posts-grid,
    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.25rem !important;
    }

    .post-body,
    .course-body {
        padding: 1.1rem !important;
    }

    .course-footer {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.8rem !important;
        padding: 0 1.1rem 1.15rem !important;
    }

    .course-footer .btn {
        width: 100% !important;
    }

    .archive-hero-inner {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    .cta-content p {
        font-size: 1rem !important;
    }

    .footer-main {
        padding: 2.25rem 0 !important;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.8rem !important;
    }

    .footer-about {
        grid-column: 1 / -1 !important;
    }

    #floating-toolbar {
        right: clamp(10px, 1.4vw, 14px) !important;
        bottom: clamp(84px, 10vw, 96px) !important;
    }
}

@media (max-width: 680px) {
    .container,
    .container-narrow {
        padding-inline: 1rem !important;
    }

    #banner {
        height: 380px !important;
    }

    #top-bar {
        font-size: 0.74rem !important;
        padding: 0.38rem 0 !important;
    }

    .site-brand-banner__inner {
        padding: 0.27rem 1rem !important;
    }

    .site-brand-banner__link {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-height: 50px !important;
        gap: 0.14rem !important;
    }

    .site-brand-banner__logo {
        width: 34px !important;
    }

    .site-brand-banner__logo img {
        transform: none !important;
    }

    .site-brand-banner__title {
        width: 100% !important;
        font-size: clamp(0.44rem, 2.03vw, 0.57rem) !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    #masthead .site-header-inner {
        height: 56px !important;
        padding: 0 0.85rem !important;
        gap: 0.55rem !important;
    }

    .site-brand-emblem {
        width: 48px !important;
        height: 48px !important;
        border-radius: 14px !important;
    }

    .menu-toggle {
        display: flex !important;
        align-items: center !important;
        order: 3 !important;
    }

    .header-actions {
        order: 2 !important;
        margin-left: 0.35rem !important;
    }

    .header-phone,
    .site-title-wrap .site-tagline {
        display: none !important;
    }

    .header-actions .btn {
        padding: 0.4rem 0.72rem !important;
        font-size: 0.78rem !important;
    }

    #primary-navigation {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: min(320px, 88vw) !important;
        height: 100vh !important;
        background: var(--color-dark) !important;
        border-left: 2px solid var(--color-gold) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 64px 0 1.5rem !important;
        overflow-y: auto !important;
        transition: right 0.3s ease !important;
        z-index: 999 !important;
    }

    #primary-navigation.active {
        right: 0 !important;
    }

    #primary-menu {
        flex-direction: column !important;
        width: 100% !important;
    }

    #primary-menu > li {
        flex: none !important;
        text-align: left !important;
    }

    #primary-menu > li > a {
        height: auto !important;
        padding: 0.9rem 1.15rem !important;
        justify-content: flex-start !important;
        font-size: 0.98rem !important;
        border-bottom: 1px solid rgba(201,168,76,0.1) !important;
    }

    #primary-menu > li > a::after {
        display: none !important;
    }

    #primary-menu .sub-menu,
    #primary-menu li:hover > .sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border: none !important;
        min-width: 0 !important;
        padding: 0.25rem 0 0.25rem 0.75rem !important;
        background: rgba(255,255,255,0.03) !important;
    }

    .section {
        padding: 3.5rem 0 !important;
    }

    .section-sm {
        padding: 2.5rem 0 !important;
    }

    .page-banner {
        height: 234px !important;
    }

    .page-banner-inner {
        gap: 0.75rem !important;
    }

    .page-banner-title {
        font-size: 1.6rem !important;
        letter-spacing: 0.06em !important;
    }

    .page-banner-icon {
        font-size: 1.4rem !important;
    }

    .page-layout,
    .archive-layout,
    .single-layout {
        grid-template-columns: 1fr !important;
        gap: 1.35rem !important;
    }

    .page-sidebar,
    .sidebar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.9rem !important;
        position: static !important;
    }

    .page-content-body {
        font-size: 1rem !important;
        line-height: 1.85 !important;
    }

    .page-content-body p {
        text-indent: 0 !important;
    }

    .posts-grid,
    .courses-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .post-body,
    .course-body {
        padding: 1rem !important;
    }

    .course-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.8rem !important;
        padding: 0 1rem 1rem !important;
    }

    .course-footer .btn {
        width: 100% !important;
    }

    .archive-hero-inner {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .archive-hero-kicker {
        font-size: 0.78rem !important;
        letter-spacing: 0.18em !important;
    }

    .archive-hero-title {
        font-size: 1.65rem !important;
    }

    .archive-hero-desc {
        font-size: 0.94rem !important;
        line-height: 1.7 !important;
    }

    .archive-filter-bar {
        gap: 0.6rem !important;
        margin-bottom: 1.25rem !important;
    }

    .archive-filter-link {
        width: 100%;
        justify-content: center;
    }

    .cta-content p {
        font-size: 0.98rem !important;
    }

    .cta-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .cta-actions .btn {
        width: 100% !important;
    }

    .footer-main {
        padding: 1.9rem 0 !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 1.35rem !important;
    }

    .footer-bottom {
        flex-direction: column !important;
        text-align: center !important;
    }

    #floating-toolbar {
        right: clamp(6px, 2vw, 9px) !important;
        bottom: clamp(66px, 14vw, 80px) !important;
    }
}

@media (min-width: 1181px) {
    .header-phone {
        display: inline-flex !important;
    }

    .header-phone span {
        display: inline !important;
    }
}

/* =============================================
   首页轮播最终弹性层
   目标：按轮播原图比例自适应，避免平板/自定义器预览被裁切
   原图尺寸：1920 x 620
   ============================================= */
#banner {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1920 / 620 !important;
    background:
        linear-gradient(180deg, rgba(250, 244, 232, 0.96), rgba(245, 236, 220, 0.96)) !important;
}

#banner .banner-carousel,
#banner .banner-slide {
    height: 100% !important;
}

#banner .banner-original-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
}

#banner .banner-dots {
    bottom: clamp(0.65rem, 1.5vw, 1.15rem) !important;
}

@media (min-width: 681px) and (max-width: 1180px) {
    #banner {
        aspect-ratio: 1920 / 620 !important;
    }

    #banner .banner-original-image {
        object-fit: contain !important;
        object-position: center top !important;
        background:
            linear-gradient(180deg, rgba(250, 244, 232, 0.98), rgba(245, 236, 220, 0.98)) !important;
    }
}

@media (max-width: 680px) {
    #banner {
        aspect-ratio: 1920 / 620 !important;
    }

    #banner .banner-original-image {
        object-fit: contain !important;
        object-position: center top !important;
        background:
            linear-gradient(180deg, rgba(250, 244, 232, 0.98), rgba(245, 236, 220, 0.98)) !important;
    }
}

/* =============================================
   师傅模块最终可读性修正
   目标：桌面 / 平板 / 手机统一显示正文，缩小手机端字号并提升对比度
   ============================================= */
#master .master-content .pre-title {
    color: rgba(236, 201, 106, 0.92) !important;
}

#master .master-content h2 {
    display: grid !important;
    gap: 0.72rem !important;
    font-size: clamp(2.6rem, 4vw, 3.2rem) !important;
    color: #fff8ee !important;
}

#master .master-content h2 span {
    color: #e0b85a !important;
    font-size: clamp(1.3rem, 2vw, 1.6rem) !important;
}

#master .master-content .description,
#master .master-content .description p {
    color: rgba(255, 245, 228, 0.9) !important;
    font-size: 1rem !important;
    line-height: 2.18 !important;
}

#master .master-content .description p {
    margin: 0 0 1.18rem !important;
}

#master .achievement-text h4 {
    color: #e6bd5b !important;
}

#master .achievement-text p {
    color: rgba(255, 241, 214, 0.76) !important;
    line-height: 1.6 !important;
}

@media (min-width: 681px) and (max-width: 1180px) {
    #master .master-inner {
        gap: 2rem !important;
        align-items: start !important;
    }

    #master .master-content h2 {
        font-size: clamp(2.15rem, 4vw, 2.7rem) !important;
    }

    #master .master-content h2 span {
        font-size: clamp(1.12rem, 2vw, 1.34rem) !important;
    }

    #master .master-content .description,
    #master .master-content .description p {
        font-size: 0.98rem !important;
        line-height: 1.88 !important;
    }

    #master .master-achievements {
        gap: 0.9rem !important;
    }

    #master .achievement-text h4 {
        font-size: 0.92rem !important;
    }

    #master .achievement-text p {
        font-size: 0.82rem !important;
    }
}

@media (max-width: 680px) {
    #master .master-inner {
        gap: 1.5rem !important;
    }

    #master .master-portrait {
        max-width: 240px !important;
    }

    #master .master-seal {
        width: 66px !important;
        height: 66px !important;
        right: -10px !important;
        bottom: -12px !important;
        font-size: 0.72rem !important;
    }

    #master .master-content .pre-title {
        font-size: 0.78rem !important;
        letter-spacing: 0.16em !important;
        margin-bottom: 0.55rem !important;
    }

    #master .master-content h2 {
        font-size: clamp(2rem, 11vw, 2.7rem) !important;
        line-height: 1.08 !important;
        margin-bottom: 0.7rem !important;
    }

    #master .master-content h2 span {
        font-size: 1.08rem !important;
        margin-top: 0.18rem !important;
    }

    #master .master-content .description,
    #master .master-content .description p {
        font-size: 0.95rem !important;
        line-height: 1.82 !important;
        margin-bottom: 0.85rem !important;
    }

    #master .master-achievements {
        gap: 0.8rem !important;
        margin-bottom: 1.3rem !important;
    }

    #master .achievement-item {
        gap: 0.6rem !important;
    }

    #master .achievement-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.9rem !important;
    }

    #master .achievement-text h4 {
        font-size: 0.9rem !important;
        margin-bottom: 0.1rem !important;
    }

    #master .achievement-text p {
        font-size: 0.8rem !important;
    }

    #master .master-actions {
        gap: 0.7rem !important;
    }

    #master .master-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 680px) {
    body.home #home-intro .home-intro-stats-outside {
        gap: 0.65rem !important;
        margin-top: 0.85rem !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-item {
        min-height: 92px !important;
        padding: 0.85rem 0.7rem !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-number {
        font-size: clamp(1.95rem, 12.8vw, 2.75rem) !important;
        line-height: 0.98 !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-label {
        margin-top: 0.42rem !important;
        font-size: 0.84rem !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 420px) {
    body.home #home-intro .home-intro-stats-outside .hero-stat-item {
        min-height: 86px !important;
        padding: 0.78rem 0.62rem !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-number {
        font-size: clamp(1.78rem, 12vw, 2.45rem) !important;
    }

    body.home #home-intro .home-intro-stats-outside .hero-stat-label {
        font-size: 0.78rem !important;
        line-height: 1.32 !important;
    }
}

/* =============================================
   首页首屏重构模块
   独立于旧的 home-intro-* 样式体系
   ============================================= */
body.home #home-intro .intro-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.2rem, 2vw, 1.65rem);
    border-radius: clamp(28px, 3vw, 40px);
    border: 1px solid rgba(217, 191, 142, 0.72);
    background:
        linear-gradient(180deg, rgba(245, 235, 221, 0.96) 0%, rgba(228, 210, 191, 0.94) 100%);
    box-shadow:
        0 24px 56px rgba(96, 58, 28, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

body.home #home-intro .intro-hero__backdrop,
body.home #home-intro .intro-hero__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body.home #home-intro .intro-hero__backdrop {
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.08;
    filter: saturate(0.8);
}

body.home #home-intro .intro-hero__wash {
    background:
        radial-gradient(circle at 18% 18%, rgba(201, 168, 76, 0.12) 0%, transparent 28%),
        radial-gradient(circle at 74% 50%, rgba(201, 168, 76, 0.08) 0%, transparent 32%),
        linear-gradient(90deg, rgba(245, 235, 221, 0.9) 0%, rgba(245, 235, 221, 0.72) 48%, rgba(245, 235, 221, 0.35) 100%);
}

body.home #home-intro .intro-hero--custom-backdrop .intro-hero__backdrop {
    opacity: 0.72;
    filter: saturate(1) contrast(1.04) brightness(1.02);
}

body.home #home-intro .intro-hero--custom-backdrop .intro-hero__wash {
    background:
        radial-gradient(circle at 18% 18%, rgba(201, 168, 76, 0.07) 0%, transparent 26%),
        radial-gradient(circle at 74% 50%, rgba(201, 168, 76, 0.05) 0%, transparent 30%),
        linear-gradient(90deg, rgba(245, 235, 221, 0.6) 0%, rgba(245, 235, 221, 0.38) 42%, rgba(245, 235, 221, 0.14) 100%);
}

body.home #home-intro .intro-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
    align-items: start;
    gap: clamp(1.6rem, 4vw, 4rem);
}

body.home #home-intro .intro-hero__content {
    min-width: 0;
    max-width: 600px;
    padding: clamp(0.15rem, 0.4vw, 0.35rem) 0;
}

body.home #home-intro .intro-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    max-width: 100%;
    padding: 0.72rem 1.2rem;
    border: 1px solid rgba(191, 96, 68, 0.18);
    background: rgba(245, 235, 221, 0.68);
    color: #b33229;
    font-size: clamp(0.82rem, 0.95vw, 0.98rem);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.03em;
}

body.home #home-intro .intro-hero__badge i {
    flex: 0 0 auto;
    font-size: 1.1em;
}

body.home #home-intro .intro-hero__title {
    display: grid;
    gap: 0.42rem;
    margin: 1.25rem 0 0;
}

body.home #home-intro .intro-hero__title-main {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 4vw, 4rem);
    line-height: 0.94;
    letter-spacing: 0.03em;
    color: #1e110c;
    white-space: nowrap;
}

body.home #home-intro .intro-hero__title-sub {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2vw, 2.05rem);
    line-height: 1.05;
    color: #b7251d;
    letter-spacing: 0.06em;
}

body.home #home-intro .intro-hero__desc {
    max-width: 32rem;
    margin: 1.6rem 0 0;
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    line-height: 1.88;
    color: #6c5640;
}

body.home #home-intro .intro-hero__quote {
    max-width: 28rem;
    margin: 1.35rem 0 0;
    font-size: clamp(1.1rem, 1.3vw, 1.34rem);
    line-height: 1.55;
    color: #bf9227;
    letter-spacing: 0.08em;
}

body.home #home-intro .intro-hero__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.82rem;
    width: min(100%, 470px);
    margin-top: 1.6rem;
}

body.home #home-intro .intro-hero__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 66px;
    padding: 0.95rem 1rem;
    border-radius: 12px;
    border: 2px solid transparent;
    font-size: clamp(1rem, 1.02vw, 1.08rem);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

body.home #home-intro .intro-hero__action i {
    flex: 0 0 auto;
}

body.home #home-intro .intro-hero__action span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.home #home-intro .intro-hero__action--primary {
    background: linear-gradient(135deg, #ba9430 0%, #dbbc58 54%, #efd470 100%);
    border-color: #c7a340;
    color: #1d120c;
    box-shadow: 0 16px 30px rgba(191, 148, 49, 0.22);
}

body.home #home-intro .intro-hero__action--primary:hover,
body.home #home-intro .intro-hero__action--primary:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(191, 148, 49, 0.28);
    color: #1d120c;
}

body.home #home-intro .intro-hero__action--secondary {
    background: rgba(245, 235, 221, 0.74);
    border-color: #c8a74b;
    color: #c39b37;
}

body.home #home-intro .intro-hero__action--secondary:hover,
body.home #home-intro .intro-hero__action--secondary:focus-visible {
    transform: translateY(-1px);
    background: rgba(245, 235, 221, 0.92);
    color: #b88d28;
}

body.home #home-intro .intro-hero__rail {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

body.home #home-intro .intro-hero__cards {
    display: grid;
    gap: 0.8rem;
    width: min(100%, 360px);
}

body.home #home-intro .intro-hero__card {
    position: relative;
    display: block;
    padding: 1rem 1.25rem 1.05rem 1.85rem;
    background:
        linear-gradient(90deg, rgba(171, 117, 42, 0.9) 0%, rgba(249, 224, 156, 0.98) 11%, rgba(255, 249, 221, 0.98) 50%, rgba(232, 191, 95, 0.95) 100%);
    color: #321020;
    text-decoration: none;
    border: 1px solid rgba(233, 200, 112, 0.78);
    border-left: 0;
    border-radius: 4px 16px 16px 4px;
    box-shadow:
        inset 0 0 22px rgba(115, 75, 24, 0.18),
        0 16px 28px rgba(50, 16, 32, 0.28);
    overflow: visible;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.home #home-intro .intro-hero__card::before,
body.home #home-intro .intro-hero__card::after {
    content: "";
    position: absolute;
    top: -0.42rem;
    bottom: -0.42rem;
    width: 0.62rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #7c4e1d 0%, #f1d27a 42%, #9c6625 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 244, 199, 0.3),
        0 0 0 1px rgba(70, 42, 15, 0.34),
        0 8px 18px rgba(50, 16, 32, 0.28);
}

body.home #home-intro .intro-hero__card::before {
    left: 0.36rem;
}

body.home #home-intro .intro-hero__card::after {
    right: -0.28rem;
}

body.home #home-intro .intro-hero__card--link:hover,
body.home #home-intro .intro-hero__card--link:focus-visible {
    transform: translateY(-2px);
    box-shadow:
        inset 0 0 22px rgba(115, 75, 24, 0.2),
        0 20px 34px rgba(50, 16, 32, 0.34);
    border-color: rgba(138, 100, 60, 0.85);
}

body.home #home-intro .intro-hero__card-title {
    position: relative;
    margin: 0 0 0.55rem;
    padding: 0;
    font-size: clamp(1rem, 1.18vw, 1.16rem);
    line-height: 1.3;
    color: #321020;
    text-shadow: 0 1px 0 rgba(255, 252, 235, 0.72);
}

body.home #home-intro .intro-hero__card-desc {
    margin: 0;
    font-size: clamp(0.9rem, 0.98vw, 1rem);
    line-height: 1.62;
    color: rgba(50, 16, 32, 0.92);
}

@media (min-width: 681px) and (max-width: 1180px) {
    body.home #home-intro .intro-hero {
        padding: 1.2rem 1.15rem 1.25rem;
    }

    body.home #home-intro .intro-hero__grid {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }

    body.home #home-intro .intro-hero__content {
        max-width: 100%;
    }

    body.home #home-intro .intro-hero__title-main {
        font-size: clamp(2rem, 5vw, 3.2rem);
    }

    body.home #home-intro .intro-hero__title-sub {
        font-size: clamp(1.25rem, 3vw, 1.65rem);
    }

    body.home #home-intro .intro-hero__desc {
        max-width: 38rem;
        margin-top: 1.25rem;
    }

    body.home #home-intro .intro-hero__quote {
        margin-top: 1rem;
    }

    body.home #home-intro .intro-hero__actions {
        width: min(100%, 430px);
        margin-top: 1.25rem;
    }

    body.home #home-intro .intro-hero__rail {
        justify-content: flex-start;
    }

    body.home #home-intro .intro-hero__cards {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.72rem;
    }

    body.home #home-intro .intro-hero__card {
        padding: 0.95rem 1rem;
    }
}

@media (max-width: 680px) {
    body.home #home-intro .intro-hero {
        padding: 1rem 0.92rem 1.05rem;
        border-radius: 24px;
    }

    body.home #home-intro .intro-hero__grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    body.home #home-intro .intro-hero__badge {
        width: 100%;
        padding: 0.65rem 0.82rem;
        font-size: 0.8rem;
    }

    body.home #home-intro .intro-hero__title {
        margin-top: 1rem;
        gap: 0.3rem;
    }

    body.home #home-intro .intro-hero__title-main {
        font-size: clamp(1.58rem, 9.2vw, 2.45rem);
        line-height: 0.98;
    }

    body.home #home-intro .intro-hero__title-sub {
        font-size: 1.2rem;
        line-height: 1.1;
    }

    body.home #home-intro .intro-hero__desc {
        margin-top: 1rem;
        font-size: 0.97rem;
        line-height: 1.76;
    }

    body.home #home-intro .intro-hero__quote {
        margin-top: 0.9rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    body.home #home-intro .intro-hero__actions {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0.7rem;
        margin-top: 1.15rem;
    }

    body.home #home-intro .intro-hero__action {
        min-height: 54px;
        font-size: 0.96rem;
        padding: 0.84rem 0.9rem;
    }

    body.home #home-intro .intro-hero__cards {
        width: 100%;
        gap: 0.65rem;
    }

    body.home #home-intro .intro-hero__card {
        padding: 0.88rem 0.92rem 0.9rem 1.55rem;
    }

    body.home #home-intro .intro-hero__card-title {
        font-size: 0.96rem;
        margin-bottom: 0.38rem;
    }

    body.home #home-intro .intro-hero__card-desc {
        font-size: 0.84rem;
        line-height: 1.52;
    }
}

.breadcrumb-nav {
    margin: 1.2rem 0 0.4rem;
    font-size: 0.92rem;
    color: var(--text-light);
}

.breadcrumb-nav ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.42rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumb-nav a {
    color: var(--primary-color);
    text-decoration: none;
}

.breadcrumb-nav a:hover {
    color: var(--accent-color);
}

.breadcrumb-sep {
    color: rgba(31, 52, 74, 0.4);
}

.breadcrumb-current {
    color: var(--text-color);
    font-weight: 600;
}

.legacy-recovered-section,
.legacy-recovered-gallery {
    margin-top: 2rem;
    padding: 1.25rem;
    border: 1px solid rgba(201, 168, 76, 0.24);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(250, 245, 237, 0.94) 100%);
    box-shadow: 0 18px 40px rgba(31, 52, 74, 0.06);
}

.legacy-recovered-section:first-child,
.legacy-recovered-gallery:first-child {
    margin-top: 0;
}

.legacy-recovered-section h2,
.legacy-recovered-section h3,
.legacy-recovered-section h4 {
    margin-top: 0;
    margin-bottom: 0.85rem;
    color: var(--secondary-color);
}

.legacy-recovered-section p,
.legacy-recovered-section li,
.legacy-recovered-section blockquote {
    font-size: 1rem;
    line-height: 1.9;
    color: var(--text-color);
}

.legacy-recovered-section ul,
.legacy-recovered-section ol {
    margin: 0.85rem 0 0;
    padding-left: 1.2rem;
}

.legacy-recovered-section a {
    color: var(--primary-color);
}

.about-kungfu-outline {
    margin-top: 2rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(201, 168, 76, 0.28);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(250, 245, 237, 0.96) 100%);
    box-shadow: 0 16px 34px rgba(31, 52, 74, 0.06);
}

.about-kungfu-outline h3 {
    margin: 0;
    color: var(--secondary-color);
    font-size: 1.05rem;
}

.about-kungfu-outline ol {
    margin: 0.85rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.about-kungfu-outline li {
    margin: 0;
}

.about-kungfu-outline a {
    display: block;
    padding: 0.8rem 0.95rem;
    border-radius: 14px;
    background: rgba(247, 240, 228, 0.74);
    color: var(--color-dark);
    text-decoration: none;
    line-height: 1.6;
    transition: var(--transition);
}

.about-kungfu-outline a:hover {
    background: rgba(201, 168, 76, 0.18);
    color: var(--color-primary);
}

.about-kungfu-outline + .legacy-recovered-section {
    margin-top: 1.2rem;
}

.legacy-recovered-section[id^="about-kungfu-section-"] {
    scroll-margin-top: 8rem;
}

.about-kungfu-longform {
    padding: 1.8rem;
}

.about-kungfu-editor-section {
    padding: 1.8rem;
}

.about-kungfu-longform-body {
    display: grid;
    gap: 1.2rem;
}

.about-kungfu-longform-heading {
    margin: 0.35rem 0 0;
    padding-left: 0.85rem;
    border-left: 4px solid var(--color-gold);
    color: var(--color-primary);
    font-size: 1.5rem;
    line-height: 1.4;
    scroll-margin-top: 8rem;
}

.about-kungfu-longform-richtext {
    display: grid;
    gap: 0.95rem;
}

.about-kungfu-longform-richtext p,
.about-kungfu-longform-richtext li,
.about-kungfu-longform-richtext blockquote {
    margin: 0;
    color: var(--text-color);
    font-size: 1rem;
    line-height: 1.95;
}

.about-kungfu-longform-richtext ul,
.about-kungfu-longform-richtext ol {
    margin: 0;
    padding-left: 1.25rem;
}

.about-kungfu-longform-richtext strong {
    color: var(--secondary-color);
}

.about-kungfu-editor-section .about-kungfu-longform-richtext > h2,
.about-kungfu-editor-section .about-kungfu-longform-richtext > h3 {
    margin: 0.4rem 0 0;
    color: var(--color-primary);
    font-size: 1.45rem;
    line-height: 1.45;
}

.legacy-source-panel {
    position: relative;
    overflow: hidden;
}

.legacy-source-panel::after {
    content: "";
    position: absolute;
    right: -48px;
    top: -48px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 168, 76, 0.16) 0%, rgba(201, 168, 76, 0) 70%);
    pointer-events: none;
}

.legacy-source-body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.85rem;
    margin-top: 1.1rem;
}

.legacy-source-body p {
    margin: 0;
    text-indent: 0;
}

.legacy-source-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.25rem;
}

.legacy-recovered-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.legacy-recovered-grid--3,
.legacy-recovered-grid--4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legacy-recovered-grid--single {
    grid-template-columns: minmax(0, 420px);
    justify-content: center;
}

.legacy-recovered-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 1.1rem;
}

.legacy-recovered-card {
    display: grid;
    grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border-radius: 22px;
    background: #f7f2e8;
    box-shadow: 0 18px 36px rgba(31, 52, 74, 0.08);
}

.legacy-recovered-card--linked {
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.legacy-recovered-card--linked:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 42px rgba(31, 52, 74, 0.12);
}

.legacy-recovered-card-media {
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #efe3ce;
}

.legacy-recovered-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.legacy-recovered-card-media img {
    display: block;
    width: 100%;
    height: auto;
}

.legacy-recovered-card-body {
    min-width: 0;
}

.legacy-recovered-card-title {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--secondary-color);
}

.legacy-recovered-card-title a {
    color: inherit;
    text-decoration: none;
}

.legacy-recovered-card-title a:hover {
    color: var(--primary-color);
}

.legacy-recovered-card-price {
    margin: 0.7rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    font-size: 0.94rem;
}

.legacy-recovered-card-price-current {
    color: var(--primary-color);
    font-weight: 700;
}

.legacy-recovered-card-price-old {
    color: rgba(31, 52, 74, 0.7);
}

.legacy-recovered-card-meta {
    margin: 0.85rem 0 0;
    font-size: 0.92rem;
}

.legacy-recovered-card-meta a {
    color: var(--primary-color);
    text-decoration: none;
}

.legacy-recovered-figure {
    margin: 0;
    border-radius: 20px;
    overflow: hidden;
    background: #f3efe6;
    box-shadow: 0 18px 40px rgba(31, 52, 74, 0.08);
}

.legacy-recovered-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.legacy-recovered-section--about-poster .legacy-recovered-figure {
    max-width: 420px;
    margin: 0 auto;
}

.legacy-recovered-section--honor-wall .legacy-recovered-gallery {
    margin-top: 1.1rem;
}

.single-related-posts {
    margin-top: 3rem;
    padding-top: 2.1rem;
    border-top: 1px solid rgba(31, 52, 74, 0.1);
}

.single-related-grid {
    margin-top: 1.25rem;
}

@media (max-width: 900px) {
    .page-article--yangsheng .posts-grid {
        grid-template-columns: 1fr;
    }

    .page-article--success-cases .posts-grid,
    .page-article--student-sharing .posts-grid {
        grid-template-columns: 1fr;
    }

    .legacy-recovered-grid,
    .legacy-recovered-grid--3,
    .legacy-recovered-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legacy-recovered-card-grid {
        grid-template-columns: 1fr;
    }

    .page-link-grid--kungfu,
    .about-kungfu-outline ol {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .breadcrumb-nav {
        font-size: 0.84rem;
    }

    .legacy-source-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .legacy-recovered-grid,
    .legacy-recovered-grid--3,
    .legacy-recovered-grid--4 {
        grid-template-columns: 1fr;
    }

    .legacy-recovered-card {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   全站浅色版块 07 乌金茶纸统一收口
   深色只留给页头、导航、页尾和明确的强调区。
   ============================================= */
body {
    background: #E4D2BF;
}

.site-content,
body.home #home-intro,
body.home #why-us,
body.home #heritage-points,
body.home #references,
.page-article,
.page-content-shell,
.archive-hero-default,
.news-hub-hero,
.article-reading-hero,
.legacy-recovered-gallery,
.single-related-posts {
    background: #E4D2BF !important;
}

body.home #master {
    background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-secondary) 100%) !important;
}

body.home #home-video {
    background: #E4D2BF !important;
    padding-top: clamp(2.2rem, 4vw, 3.6rem);
    padding-bottom: clamp(1.4rem, 3vw, 2.4rem);
}

body.home #home-video > .container {
    max-width: none;
}

body.home #home-video .home-video-frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    background: #160403;
    border: 1px solid rgba(191, 162, 132, 0.48);
    box-shadow: 0 24px 56px rgba(54, 8, 6, 0.16);
}

body.home #home-video .home-video-frame .bsys-vod-player-shell {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
}

body.home #home-video .home-video-frame .bsys-vod-player-shell.prism-player {
    width: 100% !important;
    height: 100% !important;
}

body.home #home-video .home-video-frame video,
.bsys-media-player video {
    display: block;
    width: 100%;
    height: 100%;
    background: #160403;
}

body.home #home-video .home-video-frame video {
    object-fit: cover;
}

.bsys-media-player video {
    object-fit: contain;
}

.bsys-media-player {
    position: relative;
}

.bsys-media-player .prism-cover,
.bsys-vod-player-shell .prism-cover,
.prism-player .prism-cover {
    background-color: #160403 !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.bsys-media-player .prism-cover img,
.bsys-vod-player-shell .prism-cover img,
.prism-player .prism-cover img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.bsys-media-rate-control {
    position: absolute;
    z-index: 4;
    top: 0.75rem;
    right: 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.34rem 0.46rem;
    border-radius: 6px;
    background: rgba(54, 8, 6, 0.78);
    color: rgba(255, 246, 231, 0.92);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.bsys-media-rate-label {
    font-size: 0.72rem;
    line-height: 1;
}

.bsys-media-rate-select {
    min-height: 1.6rem;
    padding: 0.15rem 1.35rem 0.15rem 0.35rem;
    border: 1px solid rgba(232, 201, 106, 0.5);
    border-radius: 4px;
    background: rgba(22, 4, 3, 0.9);
    color: #fff6e7;
    font-size: 0.78rem;
    line-height: 1.2;
}

body.home #home-video .home-video-frame--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(220px, 42vw, 620px);
    color: rgba(255, 246, 231, 0.72);
    font-size: 1rem;
}

@media (max-width: 640px) {
    .bsys-media-rate-control {
        top: 0.45rem;
        right: 0.45rem;
        padding: 0.28rem 0.34rem;
    }

    .bsys-media-rate-label {
        display: none;
    }
}

.bsys-article-video-embed.bsys-media-player {
    max-width: 780px;
    margin: 1.75rem auto 0;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.bsys-article-video-embed.bsys-media-player .bsys-vod-player-shell {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.bsys-article-video-embed.bsys-media-player .bsys-vod-player-shell.prism-player {
    width: 100% !important;
    height: 100% !important;
}

.bsys-article-video-embed.bsys-media-player .bsys-vod-player-shell video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.article-reading-header-video,
.course-hub-video-section {
    margin-top: clamp(1.35rem, 2.5vw, 2rem);
}

.article-reading-header-video .bsys-article-video-embed.bsys-media-player,
.course-hub-video-section .bsys-article-video-embed.bsys-media-player {
    width: 100%;
    max-width: none;
    margin: 0;
}

.article-reading-header-video + .article-reading-cover,
.course-hub-video-section + .course-detail-intro-copy,
.course-hub-video-section + .course-detail-gallery {
    margin-top: clamp(1.35rem, 2.5vw, 2rem);
}

@media (max-width: 640px) {
    .article-reading-header-video .bsys-article-video-embed.bsys-media-player,
    .article-reading-content .bsys-article-video-embed.bsys-media-player,
    .course-hub-video-section .bsys-article-video-embed.bsys-media-player {
        width: 100%;
        margin-inline: auto;
        aspect-ratio: 16 / 9;
    }

    .article-reading-header-video .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="portrait"],
    .article-reading-content .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="portrait"],
    .course-hub-video-section .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="portrait"] {
        width: min(100%, 430px);
        aspect-ratio: 9 / 16;
    }

    .article-reading-header-video .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="square"],
    .article-reading-content .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="square"],
    .course-hub-video-section .bsys-article-video-embed.bsys-media-player[data-bsys-vod-orientation="square"] {
        width: min(100%, 560px);
        aspect-ratio: 1 / 1;
    }
}

@media (min-width: 681px) and (max-width: 1180px) {
    :root {
        --bsys-shell-width: min(100% - 2rem, 1120px);
        --bsys-shell-padding: 1.25rem;
    }
}

@media (max-width: 680px) {
    :root {
        --bsys-shell-width: min(100% - 1rem, 100%);
        --bsys-shell-padding: 1rem;
    }
}

body.home #why-us .why-us-article .why-us-lead strong {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}

@media (max-width: 640px) {
    body.home #why-us .why-us-article .why-us-lead strong {
        display: flex;
        width: 100%;
        align-items: flex-start;
        border-radius: 18px;
        line-height: 1.65;
    }
}

.intro-hero,
.why-us-article p:not(.why-us-lead),
.heritage-card,
.reference-card,
.news-feature,
.news-hub-hero-side,
.news-hub-feature,
.news-hub-latest,
.news-hub-cluster,
.news-hub-card,
.news-hub-faq-item,
.news-hub-overview-card,
.post-card,
.course-card,
.sidebar-card,
.page-intro-panel,
.page-info-card,
.page-info-panel,
.page-link-card,
.about-kungfu-outline,
.legacy-recovered-section,
.legacy-recovered-card,
.legacy-recovered-figure,
.article-reading-content,
.article-reading-card,
.article-reading-intro,
.article-reading-body,
.single-kungfu-rail-card {
    border-color: rgba(191, 162, 132, 0.58) !important;
    background:
        linear-gradient(180deg, rgba(245, 235, 221, 0.97) 0%, rgba(228, 210, 191, 0.94) 100%) !important;
    box-shadow: 0 18px 38px rgba(54, 8, 6, 0.08) !important;
}

.page-info-strip,
.news-hub-topic,
.news-hub-latest-list li,
.news-hub-overview-card,
.about-kungfu-outline a,
.legacy-recovered-card-media,
.course-card-price,
.post-card--text-only,
.home-intro-stats .hero-stat-item,
body.home #home-intro .home-intro-stats-outside .hero-stat-item {
    background: rgba(205, 179, 154, 0.46) !important;
    border-color: rgba(191, 162, 132, 0.44) !important;
}

.section-title p,
.news-hub-hero p,
.news-hub-feature-copy p,
.news-hub-panel-head p,
.news-hub-latest-copy p,
.news-hub-cluster p,
.news-hub-card p,
.news-hub-faq-item p,
.legacy-recovered-section p,
.legacy-recovered-section li,
.article-reading-intro p,
.article-reading-body p {
    color: rgba(53, 23, 14, 0.78) !important;
}

#top-bar,
#masthead,
#colophon,
.footer-main,
.footer-bottom,
#cta,
.sidebar-cta,
.archive-hero-course,
.article-reading-hero--has-bg {
    background-color: var(--color-dark) !important;
}

/* =============================================
   全站卡片穿模与安全留白修复
   避免文字、圆点、编号和装饰元素贴近卡片边界。
   ============================================= */
:root {
    --card-safe-inset: clamp(1.35rem, 2.1vw, 1.9rem);
    --card-safe-inset-sm: clamp(1.05rem, 1.7vw, 1.45rem);
    --card-dot-color: rgba(74, 18, 43, 0.86);
    --card-dot-shadow: rgba(74, 18, 43, 0.08);
}

.page-highlight-card,
.page-contact-card,
.page-info-card,
.page-info-panel,
.news-hub-hero-side,
.news-hub-feature,
.news-hub-latest,
.news-hub-cluster,
.news-hub-card,
.news-hub-faq-item,
.news-hub-overview-card,
.post-card,
.course-card,
.sidebar-card,
.article-reading-content,
.article-reading-card,
.article-reading-intro,
.article-reading-body,
.single-kungfu-rail-card,
.contact-page-card,
.contact-consult-card,
.contact-qr-shell,
.about-us-highlight-card {
    padding: max(var(--card-safe-inset), 1.35rem) !important;
}

.page-link-card:not(.page-link-card--kungfu):not(.page-link-card--course-hub),
.legacy-recovered-section,
.legacy-recovered-card {
    padding: max(var(--card-safe-inset-sm), 1.15rem) !important;
}

.page-article--student-sharing .page-intro-panel,
.page-article--success-cases .page-intro-panel,
.page-article--yangsheng .page-intro-panel,
.page-article--kungfu-detail .page-intro-panel,
.page-article--about-us .about-us-intro-panel,
.page-article--contact .contact-intro-panel,
.page-article--news .news-hub-hero {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.page-article--student-sharing .page-intro-panel h2,
.page-article--success-cases .page-intro-panel h2,
.page-article--yangsheng .page-intro-panel h2 {
    margin-top: 0.75rem;
}

.page-article--student-sharing .page-intro-panel p,
.page-article--success-cases .page-intro-panel p,
.page-article--yangsheng .page-intro-panel p,
.page-article--kungfu-detail .page-intro-panel p,
.page-article--about-us .about-us-intro-panel > p,
.page-article--contact .contact-intro-panel p,
.page-article--news .news-hub-hero p {
    max-width: 980px;
    line-height: 2;
}

.page-article--about-us .about-us-intro-panel,
.page-article--contact .contact-intro-panel {
    padding: 0 0 0.5rem !important;
}

.page-article--about-us .about-us-intro-panel .page-info-strip {
    background: transparent !important;
    box-shadow: none !important;
}

.page-article--about-us .about-us-intro-panel .page-info-chip {
    background: rgba(205, 179, 154, 0.34) !important;
    border-color: rgba(191, 162, 132, 0.42) !important;
    box-shadow: none !important;
    color: rgba(53, 23, 14, 0.78) !important;
}

.page-feature-list li {
    align-items: flex-start;
    gap: 0.85rem !important;
    padding: 1rem 1.15rem !important;
}

.page-feature-list li::before {
    margin-top: 0.36em;
    color: var(--card-dot-color) !important;
    font-size: 0.72rem;
    line-height: 1;
}

.page-article--about-us .about-us-feature-list li,
.page-article--contact .contact-feature-list li,
.heritage-card-list li,
.course-detail-list li {
    min-width: 0;
    padding-left: 2.05rem !important;
}

.page-article--about-us .about-us-feature-list li::before,
.page-article--contact .contact-feature-list li::before,
.heritage-card-list li::before {
    left: 0.42rem !important;
    width: 0.42rem !important;
    height: 0.42rem !important;
    background: var(--card-dot-color) !important;
    box-shadow: 0 0 0 0.24rem var(--card-dot-shadow) !important;
}

.course-detail-list li {
    grid-template-columns: 2rem minmax(0, 1fr) !important;
    gap: 0.9rem !important;
    padding: 1rem 1.15rem !important;
}

.course-detail-list li::before {
    width: 1.65rem !important;
    height: 1.65rem !important;
    margin-left: 0.12rem;
    background: linear-gradient(135deg, rgba(74, 18, 43, 0.92), rgba(54, 8, 6, 0.92)) !important;
}

.page-article--about-us .about-us-section-shell,
.page-article--contact .contact-section-shell {
    gap: clamp(1.45rem, 2.8vw, 2.2rem);
}

.page-article--about-us .about-us-section-body,
.page-article--contact .contact-section-body {
    min-width: 0;
}

.page-article--contact .contact-page-card {
    grid-template-rows: auto minmax(3.75rem, auto) 1fr;
}

.page-article--contact .contact-item,
.page-article--contact .contact-consult-action,
.page-info-chip {
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
}

.post-card::before,
.feature-card::before,
.testimonial-card::before,
.heritage-card::before,
.course-detail-section::after,
.legacy-source-panel::after {
    pointer-events: none;
}

@media (max-width: 640px) {
    .page-highlight-card,
    .page-contact-card,
    .page-info-card,
    .page-info-panel,
    .news-hub-hero-side,
    .news-hub-feature,
    .news-hub-latest,
    .news-hub-cluster,
    .news-hub-card,
    .news-hub-faq-item,
    .news-hub-overview-card,
    .post-card,
    .course-card,
    .sidebar-card,
    .article-reading-content,
    .article-reading-card,
    .article-reading-intro,
    .article-reading-body,
    .single-kungfu-rail-card,
    .contact-page-card,
    .contact-consult-card,
    .contact-qr-shell,
    .about-us-highlight-card {
        padding: 1.15rem !important;
    }

    .page-article--about-us .about-us-feature-list li,
    .page-article--contact .contact-feature-list li,
    .heritage-card-list li {
        padding-left: 1.85rem !important;
    }
}

/* 最终内容左边缘对齐：页头标题、课程列表标题和下方卡片网格共用同一左边线。 */
.page-article--kungfu-detail .page-intro-panel,
.page-article--success-cases .page-intro-panel,
.page-article--student-sharing .page-intro-panel,
.page-article--yangsheng .page-intro-panel {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.page-article--kungfu-detail .page-intro-panel h2,
.page-article--success-cases .page-intro-panel h2,
.page-article--student-sharing .page-intro-panel h2,
.page-article--yangsheng .page-intro-panel h2,
.page-article--kungfu-detail .page-intro-panel p,
.page-article--success-cases .page-intro-panel p,
.page-article--student-sharing .page-intro-panel p,
.page-article--yangsheng .page-intro-panel p,
.page-article--kungfu-detail .section-title-left,
.page-article--success-cases .section-title-left,
.page-article--student-sharing .section-title-left,
.page-article--yangsheng .section-title-left {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Header alignment must win over broad responsive container overrides. */
#top-bar .container,
.site-brand-banner__inner,
#masthead .site-header-inner {
    width: var(--bsys-header-content-width) !important;
    max-width: var(--bsys-header-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#top-bar .container,
.site-brand-banner__inner,
#masthead .site-header-inner {
    padding-left: var(--bsys-header-content-padding) !important;
    padding-right: var(--bsys-header-content-padding) !important;
    box-sizing: border-box !important;
}

@media (min-width: 961px) {
    .site-brand-banner__link {
        width: 100% !important;
        margin: 0 !important;
        grid-template-columns: auto minmax(0, max-content) !important;
        justify-content: flex-start !important;
        min-height: 77px !important;
        gap: clamp(0.8rem, 1.45vw, 1.45rem) !important;
    }

    .site-brand-banner__logo {
        width: clamp(64px, 5.05vw, 72px) !important;
    }

    .site-brand-banner__title {
        justify-self: start !important;
        justify-content: flex-start !important;
        font-size: clamp(1.16rem, 1.9vw, 1.82rem) !important;
    }

    .site-brand-banner__space--main {
        width: 1.18em !important;
    }

    .site-brand-banner__space--half {
        width: 0.72em !important;
    }

    #primary-navigation {
        width: 100% !important;
    }

    #primary-menu {
        width: 100% !important;
        justify-content: space-between !important;
        gap: clamp(0.55rem, 1.4vw, 1.5rem) !important;
    }

    #primary-menu > li {
        flex: 0 0 auto !important;
    }
}

body.is-phone-device,
body.is-phone-device #page,
body.is-phone-device .site {
    max-width: 100%;
    overflow-x: hidden;
}

body.is-phone-device .site-sticky-header {
    transition: transform 0.24s ease, box-shadow 0.24s ease !important;
    will-change: transform;
}

body.is-phone-device.mobile-header-hidden .site-sticky-header {
    transform: translateY(-100%) !important;
    box-shadow: none !important;
}

body.is-phone-device.mobile-header-hidden #primary-navigation.active {
    transform: none !important;
}
