/* roulang page: index */
:root {
            --brand-deep: #16382b;
            --brand-primary: #1e4d3b;
            --brand-light: #2d6a53;
            --brand-accent: #c49a45;
            --brand-accent-hover: #b08736;
            --bg-canvas: #f6f8f6;
            --bg-card: #ffffff;
            --bg-soft: #edf3f0;
            --text-main: #1d2521;
            --text-sub: #53625b;
            --text-muted: #85958d;
            --border-color: #dce6e1;
            --border-light: #eaf0ed;
            --shadow-sm: 0 2px 6px rgba(22, 56, 43, 0.05);
            --shadow-md: 0 8px 24px rgba(22, 56, 43, 0.08);
            --shadow-lg: 0 16px 36px rgba(22, 56, 43, 0.12);
            --radius-sm: 4px;
            --radius-md: 8px;
            --radius-lg: 14px;
            --transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* Reset & Base */
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
            background-color: var(--bg-canvas);
            color: var(--text-main);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        a { color: inherit; text-decoration: none; transition: var(--transition); }
        a:hover, a:focus { color: var(--brand-accent); }
        img { max-width: 100%; height: auto; display: block; object-fit: cover; }
        h1, h2, h3, h4, h5, h6 {
            color: var(--brand-deep);
            font-weight: 700;
            line-height: 1.35;
            letter-spacing: -0.01em;
        }

        .container-custom {
            width: 100%;
            max-width: 1220px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* 滚动收缩双层导航 */
        .site-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 999;
            background: #ffffff;
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }
        .header-topbar {
            background-color: var(--brand-deep);
            color: #d9e5df;
            font-size: 13px;
            padding: 8px 0;
            transition: var(--transition);
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }
        .header-topbar-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .topbar-msg {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .topbar-msg .badge-notice {
            background: var(--brand-accent);
            color: #fff;
            padding: 2px 8px;
            border-radius: 3px;
            font-size: 11px;
            font-weight: 600;
        }
        .topbar-quick {
            display: flex;
            align-items: center;
            gap: 16px;
        }
        .topbar-quick a {
            color: #e2ede8;
            font-size: 12px;
        }
        .header-mainnav {
            padding: 14px 0;
            background: #ffffff;
            transition: var(--transition);
        }
        .mainnav-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .site-logo {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .logo-mark {
            width: 40px;
            height: 40px;
            background: var(--brand-primary);
            color: var(--brand-accent);
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: var(--radius-sm);
            font-weight: 900;
            font-size: 20px;
            box-shadow: inset 0 0 0 1px rgba(196,154,69,0.3);
        }
        .logo-text {
            display: flex;
            flex-direction: column;
        }
        .logo-title {
            font-size: 18px;
            font-weight: 800;
            color: var(--brand-deep);
            line-height: 1.2;
        }
        .logo-subtitle {
            font-size: 11px;
            color: var(--text-muted);
            letter-spacing: 0.5px;
        }
        .nav-links {
            display: flex;
            align-items: center;
            list-style: none;
            margin: 0;
            gap: 26px;
        }
        .nav-links li a {
            font-size: 15px;
            font-weight: 600;
            color: var(--text-main);
            padding: 6px 0;
            position: relative;
        }
        .nav-links li a.active,
        .nav-links li a:hover {
            color: var(--brand-primary);
        }
        .nav-links li a.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: var(--brand-accent);
        }
        .nav-cta {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 9px 20px;
            border-radius: var(--radius-sm);
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
            border: 1px solid transparent;
        }
        .btn-gold {
            background: var(--brand-accent);
            color: #ffffff;
            box-shadow: 0 4px 10px rgba(196, 154, 69, 0.25);
        }
        .btn-gold:hover {
            background: var(--brand-accent-hover);
            color: #ffffff;
            transform: translateY(-1px);
        }
        .btn-outline-green {
            border-color: var(--brand-primary);
            color: var(--brand-primary);
            background: transparent;
        }
        .btn-outline-green:hover {
            background: var(--brand-primary);
            color: #ffffff;
        }
        .btn-dark {
            background: var(--brand-deep);
            color: #ffffff;
        }
        .btn-dark:hover {
            background: var(--brand-primary);
            color: #ffffff;
        }

        /* 紧凑吸顶状态 */
        .site-header.is-scrolled .header-topbar {
            margin-top: -37px;
            opacity: 0;
            pointer-events: none;
        }
        .site-header.is-scrolled {
            box-shadow: var(--shadow-md);
        }
        .site-header.is-scrolled .header-mainnav {
            padding: 10px 0;
        }

        /* 移动端汉堡按钮 */
        .mobile-toggle {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
        }
        .mobile-toggle span {
            display: block;
            width: 24px;
            height: 2px;
            background: var(--brand-deep);
            margin: 5px 0;
            transition: var(--transition);
        }

        /* 基础区块 */
        .page-body {
            padding-top: 105px;
        }
        .section-wrap {
            padding: 72px 0;
            position: relative;
        }
        .section-alt {
            background-color: var(--bg-soft);
        }
        .section-white {
            background-color: #ffffff;
        }
        .section-header {
            margin-bottom: 44px;
        }
        .section-badge {
            display: inline-block;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1px;
            color: var(--brand-accent);
            background: rgba(196, 154, 69, 0.12);
            padding: 4px 12px;
            border-radius: 20px;
            margin-bottom: 12px;
            text-transform: uppercase;
        }
        .section-title {
            font-size: 30px;
            margin-bottom: 14px;
        }
        .section-desc {
            font-size: 15px;
            color: var(--text-sub);
            max-width: 680px;
            line-height: 1.8;
        }

        /* Hero 板块：路线图预告，版本节点条 + 订阅更新 */
        .hero-section {
            background: linear-gradient(135deg, rgba(15, 36, 29, 0.94) 0%, rgba(22, 56, 43, 0.90) 100%),
                        url('/assets/images/穿旗袍的小姐姐_笑起来真好看_情感_-_养眼美女_-_气质美女_-_美女_.webp') center center/cover no-repeat;
            color: #ffffff;
            padding: 60px 0 80px 0;
            position: relative;
        }
        .hero-badge-wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 20px;
        }
        .hero-badge {
            background: var(--brand-accent);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 5px 12px;
            border-radius: 4px;
        }
        .hero-version {
            font-size: 13px;
            color: #d1ded8;
            letter-spacing: 0.5px;
        }
        .hero-h1 {
            font-size: 38px;
            font-weight: 800;
            color: #ffffff;
            line-height: 1.28;
            margin-bottom: 18px;
        }
        .hero-intro {
            font-size: 16px;
            color: #dfede7;
            max-width: 820px;
            margin-bottom: 36px;
            line-height: 1.8;
        }
        /* 路线图节点条 */
        .roadmap-bar {
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(255, 255, 255, 0.16);
            border-radius: var(--radius-md);
            padding: 24px;
            margin-bottom: 34px;
        }
        .roadmap-bar-title {
            font-size: 14px;
            font-weight: 700;
            color: var(--brand-accent);
            margin-bottom: 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .roadmap-nodes {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            position: relative;
        }
        .roadmap-node-item {
            position: relative;
            padding-left: 16px;
            border-left: 2px solid rgba(196, 154, 69, 0.4);
        }
        .roadmap-node-item.active {
            border-left-color: var(--brand-accent);
        }
        .node-tag {
            font-size: 11px;
            color: var(--brand-accent);
            font-weight: 700;
            text-transform: uppercase;
        }
        .node-name {
            font-size: 14px;
            font-weight: 700;
            color: #ffffff;
            margin: 2px 0 4px;
        }
        .node-status {
            font-size: 12px;
            color: #b7ccc3;
        }

        /* Hero 订阅与行动入口 */
        .hero-action-box {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            align-items: center;
        }
        .subscribe-form {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: var(--radius-sm);
            padding: 4px;
            max-width: 440px;
            width: 100%;
        }
        .subscribe-form input {
            border: none;
            padding: 10px 14px;
            font-size: 14px;
            outline: none;
            flex-grow: 1;
            color: var(--text-main);
            margin: 0;
            box-shadow: none;
        }
        .subscribe-form button {
            background: var(--brand-primary);
            color: #ffffff;
            border: none;
            padding: 9px 18px;
            font-size: 14px;
            font-weight: 600;
            border-radius: 3px;
            cursor: pointer;
            transition: var(--transition);
        }
        .subscribe-form button:hover {
            background: var(--brand-light);
        }

        /* 亮点卡片矩阵 (公司亮点) */
        .highlight-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }
        .highlight-card {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            padding: 28px 24px;
            transition: var(--transition);
        }
        .highlight-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-md);
            border-color: var(--brand-accent);
        }
        .highlight-icon-box {
            width: 48px;
            height: 48px;
            background: var(--bg-soft);
            color: var(--brand-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: var(--radius-sm);
            font-size: 22px;
            font-weight: bold;
            margin-bottom: 18px;
            border: 1px solid var(--border-light);
        }
        .highlight-card h3 {
            font-size: 18px;
            margin-bottom: 10px;
        }
        .highlight-card p {
            font-size: 14px;
            color: var(--text-sub);
            margin-bottom: 0;
            line-height: 1.65;
        }

        /* 热招席位与特邀招募 */
        .jobs-list {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .job-card {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            padding: 30px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: var(--transition);
        }
        .job-card:hover {
            border-color: var(--brand-primary);
            box-shadow: var(--shadow-md);
        }
        .job-top {
            margin-bottom: 20px;
        }
        .job-category {
            display: inline-block;
            font-size: 12px;
            color: var(--brand-accent);
            font-weight: 700;
            margin-bottom: 6px;
        }
        .job-title {
            font-size: 20px;
            margin-bottom: 10px;
        }
        .job-summary {
            font-size: 14px;
            color: var(--text-sub);
            line-height: 1.7;
            margin-bottom: 16px;
        }
        .job-requirements {
            list-style: none;
            margin: 0 0 20px 0;
            padding: 0;
        }
        .job-requirements li {
            font-size: 13px;
            color: var(--text-sub);
            position: relative;
            padding-left: 16px;
            margin-bottom: 6px;
        }
        .job-requirements li::before {
            content: "•";
            position: absolute;
            left: 0;
            color: var(--brand-accent);
            font-weight: bold;
        }
        .job-action {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: 16px;
            border-top: 1px dashed var(--border-light);
        }
        .job-quota {
            font-size: 12px;
            color: var(--text-muted);
        }

        /* 成长路径：茶客进阶体系 */
        .pathway-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            position: relative;
        }
        .pathway-card {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            padding: 26px 20px;
            position: relative;
            text-align: center;
            transition: var(--transition);
        }
        .pathway-card:hover {
            box-shadow: var(--shadow-md);
            border-color: var(--brand-accent);
        }
        .pathway-step {
            position: absolute;
            top: -14px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--brand-deep);
            color: var(--brand-accent);
            font-size: 12px;
            font-weight: 700;
            padding: 2px 14px;
            border-radius: 12px;
        }
        .pathway-rank {
            font-size: 18px;
            margin: 10px 0 8px;
            color: var(--brand-deep);
        }
        .pathway-target {
            font-size: 13px;
            font-weight: 600;
            color: var(--brand-accent);
            margin-bottom: 12px;
        }
        .pathway-desc {
            font-size: 13px;
            color: var(--text-sub);
            line-height: 1.65;
            text-align: left;
        }

        /* 团队氛围与线下雅集 */
        .atmosphere-wrap {
            display: grid;
            grid-template-columns: 1.1fr 0.9fr;
            gap: 36px;
            align-items: center;
        }
        .atmosphere-img-box {
            position: relative;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-lg);
        }
        .atmosphere-img-box img {
            width: 100%;
            height: 400px;
            transition: var(--transition);
        }
        .atmosphere-img-box:hover img {
            transform: scale(1.03);
        }
        .atmosphere-img-tag {
            position: absolute;
            bottom: 20px;
            left: 20px;
            background: rgba(22, 56, 43, 0.85);
            backdrop-filter: blur(6px);
            color: #ffffff;
            padding: 8px 16px;
            border-radius: var(--radius-sm);
            font-size: 13px;
        }
        .atmosphere-content h3 {
            font-size: 26px;
            margin-bottom: 16px;
        }
        .atmosphere-content p {
            font-size: 15px;
            color: var(--text-sub);
            line-height: 1.8;
            margin-bottom: 24px;
        }
        .atmosphere-pillars {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
        }
        .pillar-item {
            background: #ffffff;
            padding: 16px;
            border-radius: var(--radius-sm);
            border: 1px solid var(--border-color);
        }
        .pillar-title {
            font-size: 15px;
            font-weight: 700;
            color: var(--brand-deep);
            margin-bottom: 4px;
        }
        .pillar-desc {
            font-size: 13px;
            color: var(--text-sub);
            margin: 0;
        }

        /* 沪上茶馆特色精选合集 (合集目录) */
        .catalog-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .catalog-card {
            background: #ffffff;
            border-radius: var(--radius-md);
            border: 1px solid var(--border-color);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transition: var(--transition);
        }
        .catalog-card:hover {
            box-shadow: var(--shadow-md);
            transform: translateY(-3px);
        }
        .catalog-thumb {
            height: 200px;
            width: 100%;
            overflow: hidden;
            position: relative;
        }
        .catalog-thumb img {
            width: 100%;
            height: 100%;
            transition: var(--transition);
        }
        .catalog-card:hover .catalog-thumb img {
            transform: scale(1.05);
        }
        .catalog-badge {
            position: absolute;
            top: 14px;
            right: 14px;
            background: rgba(22, 56, 43, 0.85);
            color: #ffffff;
            font-size: 12px;
            padding: 4px 10px;
            border-radius: 4px;
        }
        .catalog-body {
            padding: 22px;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .catalog-body h4 {
            font-size: 18px;
            margin-bottom: 10px;
        }
        .catalog-body p {
            font-size: 13px;
            color: var(--text-sub);
            margin-bottom: 16px;
            line-height: 1.65;
        }
        .catalog-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 13px;
            padding-top: 14px;
            border-top: 1px solid var(--border-light);
        }

        /* 平台路线图演进卡片 (版本路线图) */
        .roadmap-timeline-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .timeline-card {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            padding: 28px;
            border-top: 4px solid var(--brand-primary);
        }
        .timeline-card.current {
            border-top-color: var(--brand-accent);
            background: #fffdf9;
        }
        .timeline-quarter {
            font-size: 13px;
            font-weight: 700;
            color: var(--brand-accent);
            margin-bottom: 8px;
            display: block;
        }
        .timeline-title {
            font-size: 19px;
            margin-bottom: 12px;
        }
        .timeline-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .timeline-list li {
            font-size: 13px;
            color: var(--text-sub);
            margin-bottom: 10px;
            display: flex;
            align-items: flex-start;
            gap: 8px;
        }
        .timeline-list li span.dot {
            width: 6px;
            height: 6px;
            background: var(--brand-primary);
            border-radius: 50%;
            margin-top: 7px;
            flex-shrink: 0;
        }

        /* 资讯与随笔 (资讯列表) */
        .news-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .news-item {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            padding: 24px;
            transition: var(--transition);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .news-item:hover {
            box-shadow: var(--shadow-sm);
            border-color: var(--brand-light);
        }
        .news-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 12px;
            color: var(--text-muted);
            margin-bottom: 10px;
        }
        .news-tag {
            background: var(--bg-soft);
            color: var(--brand-primary);
            padding: 2px 8px;
            border-radius: 3px;
            font-weight: 600;
        }
        .news-item h4 {
            font-size: 17px;
            margin-bottom: 10px;
            line-height: 1.45;
        }
        .news-snippet {
            font-size: 13px;
            color: var(--text-sub);
            line-height: 1.65;
            margin-bottom: 16px;
        }
        .news-link {
            font-size: 13px;
            font-weight: 600;
            color: var(--brand-primary);
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        /* 驻站嘉宾亮点 */
        .expert-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }
        .expert-card {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            overflow: hidden;
            text-align: center;
            padding-bottom: 20px;
            transition: var(--transition);
        }
        .expert-card:hover {
            box-shadow: var(--shadow-md);
            border-color: var(--brand-accent);
        }
        .expert-photo-wrap {
            height: 220px;
            width: 100%;
            overflow: hidden;
            background: #e9ecef;
            margin-bottom: 16px;
        }
        .expert-photo-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
        }
        .expert-card:hover .expert-photo-wrap img {
            transform: scale(1.04);
        }
        .expert-name {
            font-size: 17px;
            font-weight: 700;
            margin-bottom: 4px;
        }
        .expert-role {
            font-size: 12px;
            color: var(--brand-accent);
            font-weight: 600;
            margin-bottom: 10px;
        }
        .expert-intro {
            font-size: 13px;
            color: var(--text-sub);
            padding: 0 16px;
            line-height: 1.6;
        }

        /* 社会认同与口碑数据 */
        .social-proof-wrap {
            background: var(--brand-deep);
            color: #ffffff;
            padding: 60px 0;
            border-radius: var(--radius-lg);
            margin: 20px 0;
        }
        .proof-stats {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            text-align: center;
            margin-bottom: 48px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.12);
            padding-bottom: 40px;
        }
        .stat-num {
            font-size: 38px;
            font-weight: 800;
            color: var(--brand-accent);
            line-height: 1;
            margin-bottom: 8px;
        }
        .stat-label {
            font-size: 14px;
            color: #cfddd6;
        }
        .testimonial-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .testimonial-card {
            background: rgba(255, 255, 255, 0.06);
            backdrop-filter: blur(6px);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: var(--radius-md);
            padding: 24px;
        }
        .testimonial-score {
            color: var(--brand-accent);
            font-size: 14px;
            margin-bottom: 10px;
        }
        .testimonial-text {
            font-size: 14px;
            color: #e2ede8;
            line-height: 1.7;
            margin-bottom: 16px;
        }
        .testimonial-user {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .user-avatar-text {
            width: 34px;
            height: 34px;
            background: var(--brand-accent);
            color: #ffffff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
        }
        .user-name {
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
        }
        .user-loc {
            font-size: 11px;
            color: #9cb3a8;
        }

        /* FAQ 手风琴样式 */
        .faq-accordion {
            max-width: 860px;
            margin: 0 auto;
        }
        .faq-item {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            margin-bottom: 14px;
            overflow: hidden;
            transition: var(--transition);
        }
        .faq-item.active {
            border-color: var(--brand-accent);
            box-shadow: var(--shadow-sm);
        }
        .faq-question {
            padding: 18px 24px;
            font-size: 16px;
            font-weight: 700;
            color: var(--brand-deep);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            user-select: none;
        }
        .faq-icon {
            font-size: 18px;
            font-weight: 400;
            color: var(--brand-accent);
            transition: var(--transition);
        }
        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            background: #fafcfb;
            border-top: 1px solid transparent;
        }
        .faq-item.active .faq-answer {
            max-height: 200px;
            border-top-color: var(--border-light);
        }
        .faq-answer-inner {
            padding: 18px 24px;
            font-size: 14px;
            color: var(--text-sub);
            line-height: 1.75;
        }

        /* 投递入口与会员登录通道 */
        .portal-entry-card {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: 48px;
            box-shadow: var(--shadow-md);
        }
        .portal-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: center;
        }
        .portal-info h3 {
            font-size: 28px;
            margin-bottom: 16px;
        }
        .portal-info p {
            font-size: 15px;
            color: var(--text-sub);
            line-height: 1.8;
            margin-bottom: 24px;
        }
        .portal-form-box {
            background: var(--bg-soft);
            padding: 30px;
            border-radius: var(--radius-md);
            border: 1px solid var(--border-color);
        }
        .form-group {
            margin-bottom: 18px;
        }
        .form-group label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 6px;
        }
        .form-group input, .form-group select {
            width: 100%;
            padding: 11px 14px;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-sm);
            background: #ffffff;
            font-size: 14px;
            outline: none;
            transition: var(--transition);
        }
        .form-group input:focus, .form-group select:focus {
            border-color: var(--brand-accent);
            box-shadow: 0 0 0 3px rgba(196, 154, 69, 0.15);
        }

        /* 页脚统一设计 */
        .site-footer {
            background: #0f241d;
            color: #bac9c2;
            padding: 64px 0 30px;
            font-size: 14px;
            border-top: 4px solid var(--brand-accent);
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
            gap: 40px;
            margin-bottom: 48px;
        }
        .footer-brand .footer-logo-title {
            color: #ffffff;
            font-size: 18px;
            font-weight: 800;
            margin-bottom: 14px;
        }
        .footer-desc {
            font-size: 13px;
            line-height: 1.8;
            color: #9cb3a8;
            margin-bottom: 20px;
        }
        .footer-col h5 {
            color: #ffffff;
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 18px;
            position: relative;
            padding-bottom: 8px;
        }
        .footer-col h5::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 24px;
            height: 2px;
            background: var(--brand-accent);
        }
        .footer-links {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-links li {
            margin-bottom: 10px;
        }
        .footer-links a {
            color: #a7bbb1;
            font-size: 13px;
            transition: var(--transition);
        }
        .footer-links a:hover {
            color: #ffffff;
            padding-left: 4px;
        }
        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            padding-top: 26px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 12px;
            color: #7b9488;
        }
        .footer-domain {
            color: var(--brand-accent);
        }

        /* 响应式断点 */
        @media (max-width: 1024px) {
            .highlight-grid, .pathway-grid, .expert-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .roadmap-nodes {
                grid-template-columns: repeat(2, 1fr);
            }
            .jobs-list, .catalog-grid, .roadmap-timeline-grid, .news-grid, .testimonial-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .atmosphere-wrap, .portal-grid {
                grid-template-columns: 1fr;
            }
            .footer-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .proof-stats {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 768px) {
            .header-topbar {
                display: none;
            }
            .page-body {
                padding-top: 70px;
            }
            .mobile-toggle {
                display: block;
            }
            .nav-links, .nav-cta {
                display: none;
            }
            .nav-links.is-open {
                display: flex;
                flex-direction: column;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: #ffffff;
                box-shadow: var(--shadow-md);
                padding: 20px;
                gap: 16px;
                border-top: 1px solid var(--border-light);
            }
            .hero-h1 {
                font-size: 26px;
            }
            .jobs-list, .catalog-grid, .roadmap-timeline-grid, .news-grid, .testimonial-grid,
            .highlight-grid, .pathway-grid, .expert-grid, .footer-grid, .roadmap-nodes {
                grid-template-columns: 1fr;
            }
            .portal-entry-card {
                padding: 24px;
            }
            .footer-bottom {
                flex-direction: column;
                gap: 12px;
                text-align: center;
            }
        }

/* roulang page: category2 */
:root {
      --brand-deep: #16382b;
      --brand-primary: #1e4d3b;
      --brand-light: #2d6a53;
      --brand-accent: #c49a45;
      --brand-accent-hover: #b08736;
      --bg-canvas: #f6f8f6;
      --bg-card: #ffffff;
      --bg-soft: #edf3f0;
      --text-main: #1d2521;
      --text-sub: #53625b;
      --text-muted: #85958d;
      --border-color: #dce6e1;
      --border-light: #eaf0ed;
      --shadow-sm: 0 2px 6px rgba(22, 56, 43, 0.05);
      --shadow-md: 0 8px 24px rgba(22, 56, 43, 0.08);
      --shadow-lg: 0 16px 36px rgba(22, 56, 43, 0.12);
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 14px;
      --transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-canvas);
      color: var(--text-main);
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
      margin: 0;
      padding: 0;
    }

    a { color: inherit; text-decoration: none; transition: var(--transition); }
    a:hover, a:focus { color: var(--brand-accent); }
    img { max-width: 100%; height: auto; display: block; object-fit: cover; }
    
    .container-custom {
      width: 100%;
      max-width: 1220px;
      margin: 0 auto;
      padding: 0 20px;
    }

    /* 滚动收缩双层导航 */
    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 999;
      background: #ffffff;
      box-shadow: var(--shadow-sm);
      transition: var(--transition);
    }
    .header-topbar {
      background-color: var(--brand-deep);
      color: #d9e5df;
      font-size: 13px;
      padding: 8px 0;
      transition: var(--transition);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .header-topbar-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .topbar-msg {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .topbar-msg .badge-notice {
      background: var(--brand-accent);
      color: #fff;
      padding: 2px 8px;
      border-radius: 3px;
      font-size: 11px;
      font-weight: 600;
    }
    .topbar-quick {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .topbar-quick a {
      color: #e2ede8;
      font-size: 12px;
    }
    .header-mainnav {
      padding: 14px 0;
      background: #ffffff;
      transition: var(--transition);
    }
    .mainnav-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .site-logo {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .logo-mark {
      width: 40px;
      height: 40px;
      background: var(--brand-primary);
      color: var(--brand-accent);
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-sm);
      font-weight: 900;
      font-size: 20px;
      box-shadow: inset 0 0 0 1px rgba(196,154,69,0.3);
    }
    .logo-text {
      display: flex;
      flex-direction: column;
    }
    .logo-title {
      font-size: 18px;
      font-weight: 800;
      color: var(--brand-deep);
      line-height: 1.2;
    }
    .logo-subtitle {
      font-size: 11px;
      color: var(--text-muted);
      letter-spacing: 0.5px;
    }
    .nav-links {
      display: flex;
      align-items: center;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 26px;
    }
    .nav-links li a {
      font-size: 15px;
      font-weight: 600;
      color: var(--text-main);
      padding: 6px 0;
      position: relative;
    }
    .nav-links li a.active,
    .nav-links li a:hover {
      color: var(--brand-primary);
    }
    .nav-links li a.active::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--brand-accent);
    }
    .nav-cta {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 9px 20px;
      border-radius: var(--radius-sm);
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      border: 1px solid transparent;
      text-decoration: none;
    }
    .btn-gold {
      background: var(--brand-accent);
      color: #ffffff !important;
      box-shadow: 0 4px 10px rgba(196, 154, 69, 0.25);
    }
    .btn-gold:hover {
      background: var(--brand-accent-hover);
      transform: translateY(-1px);
    }
    .btn-outline-green {
      border-color: var(--brand-primary);
      color: var(--brand-primary);
      background: transparent;
    }
    .btn-outline-green:hover {
      background: var(--brand-primary);
      color: #ffffff;
    }
    .btn-dark {
      background: var(--brand-deep);
      color: #ffffff !important;
    }
    .btn-dark:hover {
      background: var(--brand-primary);
    }

    /* 紧凑吸顶状态 */
    .site-header.is-scrolled .header-topbar {
      margin-top: -37px;
      opacity: 0;
      pointer-events: none;
    }
    .site-header.is-scrolled {
      box-shadow: var(--shadow-md);
    }
    .site-header.is-scrolled .header-mainnav {
      padding: 10px 0;
    }

    /* 移动端汉堡按钮 */
    .mobile-toggle {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
    }
    .mobile-toggle span {
      width: 24px;
      height: 2px;
      background: var(--brand-deep);
      transition: var(--transition);
    }

    /* 主体布局与边距补偿 */
    .page-main-wrap {
      padding-top: 110px;
    }

    /* 通用板块与排版 */
    .section-wrap {
      padding: 75px 0;
      position: relative;
    }
    .section-wrap-alt {
      background-color: var(--bg-soft);
      border-top: 1px solid var(--border-light);
      border-bottom: 1px solid var(--border-light);
    }
    .section-head {
      margin-bottom: 45px;
    }
    .section-badge {
      display: inline-block;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: var(--brand-accent);
      background: rgba(196, 154, 69, 0.1);
      padding: 4px 12px;
      border-radius: 20px;
      margin-bottom: 12px;
    }
    .section-title {
      font-size: 30px;
      font-weight: 800;
      color: var(--brand-deep);
      line-height: 1.35;
      margin-bottom: 14px;
    }
    .section-subtitle {
      font-size: 15px;
      color: var(--text-sub);
      max-width: 700px;
      line-height: 1.7;
    }

    /* 面包屑导航 */
    .breadcrumb-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: var(--text-muted);
      margin-bottom: 18px;
    }
    .breadcrumb-nav a {
      color: var(--text-sub);
    }
    .breadcrumb-nav a:hover {
      color: var(--brand-accent);
    }
    .breadcrumb-nav span.sep {
      color: #b8c7c0;
    }

    /* 1. 分类主屏 Hero 大图叙事板块 */
    .category-hero {
      position: relative;
      background: var(--brand-deep);
      color: #ffffff;
      padding: 70px 0 85px 0;
      overflow: hidden;
      border-bottom: 3px solid var(--brand-accent);
    }
    .category-hero::before {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background-image: url('/assets/images/穿旗袍的小姐姐_笑起来真好看_情感_-_养眼美女_-_气质美女_-_美女_.webp');
      background-size: cover;
      background-position: center 25%;
      opacity: 0.18;
      z-index: 1;
    }
    .category-hero-content {
      position: relative;
      z-index: 2;
    }
    .hero-h1 {
      font-size: 36px;
      font-weight: 900;
      color: #ffffff;
      line-height: 1.25;
      margin-bottom: 18px;
      letter-spacing: -0.5px;
    }
    .hero-lead {
      font-size: 16px;
      color: #d1ded8;
      max-width: 780px;
      line-height: 1.8;
      margin-bottom: 32px;
    }
    .hero-stats-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      background: rgba(255, 255, 255, 0.05);
      backdrop-filter: blur(8px);
      padding: 24px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(255, 255, 255, 0.12);
    }
    .hero-stat-item h4 {
      font-size: 26px;
      font-weight: 800;
      color: var(--brand-accent);
      margin: 0 0 4px 0;
      font-family: inherit;
    }
    .hero-stat-item p {
      font-size: 13px;
      color: #aebfb7;
      margin: 0;
    }

    /* 2. 名家导师卡片列表 */
    .master-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .master-card {
      background: var(--bg-card);
      border-radius: var(--radius-md);
      border: 1px solid var(--border-color);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: var(--transition);
      display: flex;
      flex-direction: column;
    }
    .master-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-lg);
      border-color: rgba(196, 154, 69, 0.5);
    }
    .master-card-thumb {
      height: 250px;
      position: relative;
      overflow: hidden;
    }
    .master-card-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .master-card:hover .master-card-thumb img {
      transform: scale(1.05);
    }
    .master-tag {
      position: absolute;
      bottom: 12px;
      left: 12px;
      background: rgba(22, 56, 43, 0.88);
      color: #e5ede9;
      font-size: 11px;
      font-weight: 600;
      padding: 3px 8px;
      border-radius: var(--radius-sm);
      border: 1px solid rgba(196, 154, 69, 0.4);
    }
    .master-card-body {
      padding: 22px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
    }
    .master-name-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 8px;
    }
    .master-name {
      font-size: 18px;
      font-weight: 700;
      color: var(--brand-deep);
    }
    .master-title {
      font-size: 12px;
      color: var(--brand-accent);
      font-weight: 600;
    }
    .master-intro {
      font-size: 13px;
      color: var(--text-sub);
      line-height: 1.6;
      margin-bottom: 16px;
      flex-grow: 1;
    }
    .master-foot {
      padding-top: 14px;
      border-top: 1px dashed var(--border-light);
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 12px;
      color: var(--text-muted);
    }
    .master-foot a {
      color: var(--brand-primary);
      font-weight: 700;
    }

    /* 3. 名家深度报告图文专区 */
    .essay-feature-list {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 30px;
      align-items: center;
    }
    .essay-card-prominent {
      background: var(--bg-card);
      border-radius: var(--radius-md);
      border: 1px solid var(--border-color);
      padding: 32px;
      box-shadow: var(--shadow-sm);
      position: relative;
    }
    .essay-meta-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: var(--brand-accent);
      background: #fbf7ee;
      padding: 4px 12px;
      border-radius: 4px;
      font-weight: 700;
      margin-bottom: 16px;
      border: 1px solid rgba(196, 154, 69, 0.2);
    }
    .essay-title {
      font-size: 22px;
      font-weight: 800;
      color: var(--brand-deep);
      line-height: 1.4;
      margin-bottom: 16px;
    }
    .essay-text {
      font-size: 14px;
      color: var(--text-sub);
      line-height: 1.8;
      margin-bottom: 24px;
    }
    .essay-keypoints {
      background: var(--bg-canvas);
      padding: 16px 20px;
      border-left: 3px solid var(--brand-accent);
      border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
      margin-bottom: 24px;
      font-size: 13px;
      color: var(--text-main);
    }
    .essay-keypoints ul {
      margin: 0;
      padding-left: 18px;
    }
    .essay-keypoints li {
      margin-bottom: 6px;
    }
    .side-essay-col {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }
    .side-essay-item {
      background: var(--bg-card);
      border-radius: var(--radius-md);
      border: 1px solid var(--border-color);
      padding: 20px;
      transition: var(--transition);
    }
    .side-essay-item:hover {
      border-color: var(--brand-primary);
      box-shadow: var(--shadow-sm);
    }
    .side-essay-date {
      font-size: 11px;
      color: var(--text-muted);
      margin-bottom: 6px;
    }
    .side-essay-item h4 {
      font-size: 16px;
      font-weight: 700;
      color: var(--brand-deep);
      line-height: 1.4;
      margin-bottom: 8px;
    }
    .side-essay-item p {
      font-size: 12px;
      color: var(--text-sub);
      line-height: 1.6;
      margin: 0;
    }

    /* 4. 审评技艺与工法矩阵 (4步进阶) */
    .ritual-process-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .ritual-step-card {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      padding: 24px 20px;
      position: relative;
      transition: var(--transition);
    }
    .ritual-step-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
    }
    .ritual-num {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--brand-deep);
      color: var(--brand-accent);
      font-weight: 800;
      font-size: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 16px;
    }
    .ritual-step-card h4 {
      font-size: 17px;
      font-weight: 700;
      color: var(--brand-deep);
      margin-bottom: 10px;
    }
    .ritual-step-card p {
      font-size: 13px;
      color: var(--text-sub);
      line-height: 1.65;
      margin: 0;
    }

    /* 5. 特邀审评机制与茶网特权 */
    .privilege-box {
      background: #ffffff;
      border-radius: var(--radius-lg);
      border: 1px solid var(--border-color);
      padding: 40px;
      box-shadow: var(--shadow-sm);
    }
    .privilege-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .privilege-item {
      padding: 10px;
    }
    .privilege-icon {
      font-size: 24px;
      margin-bottom: 12px;
      display: inline-block;
      color: var(--brand-accent);
    }
    .privilege-item h4 {
      font-size: 17px;
      font-weight: 700;
      color: var(--brand-deep);
      margin-bottom: 10px;
    }
    .privilege-item p {
      font-size: 13px;
      color: var(--text-sub);
      line-height: 1.7;
      margin: 0;
    }

    /* 6. 名师线下雅席日程与排期表 */
    .schedule-table-wrap {
      background: var(--bg-card);
      border-radius: var(--radius-md);
      border: 1px solid var(--border-color);
      overflow-x: auto;
      box-shadow: var(--shadow-sm);
    }
    .custom-table {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
      font-size: 13px;
      margin: 0;
    }
    .custom-table th {
      background: var(--bg-soft);
      color: var(--brand-deep);
      font-weight: 700;
      padding: 16px 20px;
      border-bottom: 1px solid var(--border-color);
    }
    .custom-table td {
      padding: 16px 20px;
      border-bottom: 1px solid var(--border-light);
      color: var(--text-main);
    }
    .custom-table tr:last-child td {
      border-bottom: none;
    }
    .custom-table tr:hover td {
      background-color: #fafcfb;
    }
    .status-badge {
      display: inline-block;
      padding: 3px 10px;
      border-radius: 12px;
      font-size: 11px;
      font-weight: 600;
    }
    .status-badge.open {
      background: #e7f5ee;
      color: #1e6b48;
      border: 1px solid #b7e2cf;
    }
    .status-badge.limited {
      background: #fbf2e1;
      color: #9c6e18;
      border: 1px solid #eed6aa;
    }

    /* 7. 上海品茶网登录入口 · 专栏会员交互区 */
    .login-section-box {
      background: linear-gradient(135deg, var(--brand-deep) 0%, #1c4335 100%);
      color: #ffffff;
      border-radius: var(--radius-lg);
      padding: 50px 40px;
      box-shadow: var(--shadow-lg);
    }
    .login-grid-split {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 40px;
      align-items: center;
    }
    .login-intro h3 {
      font-size: 26px;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 14px;
    }
    .login-intro p {
      font-size: 14px;
      color: #d1ded8;
      line-height: 1.8;
      margin-bottom: 22px;
    }
    .login-badge-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 24px;
    }
    .login-badge-list span {
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.18);
      font-size: 12px;
      padding: 5px 12px;
      border-radius: var(--radius-sm);
      color: #f0f6f3;
    }
    .login-form-card {
      background: #ffffff;
      border-radius: var(--radius-md);
      padding: 32px;
      color: var(--text-main);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }
    .login-form-card h4 {
      font-size: 18px;
      font-weight: 700;
      color: var(--brand-deep);
      margin-bottom: 18px;
      text-align: center;
    }
    .form-group {
      margin-bottom: 16px;
    }
    .form-label {
      font-size: 12px;
      font-weight: 600;
      color: var(--text-sub);
      display: block;
      margin-bottom: 6px;
    }
    .form-input {
      width: 100%;
      height: 42px;
      border: 1px solid var(--border-color);
      border-radius: var(--radius-sm);
      padding: 8px 12px;
      font-size: 14px;
      color: var(--text-main);
      outline: none;
      transition: var(--transition);
      box-sizing: border-box;
    }
    .form-input:focus {
      border-color: var(--brand-accent);
      box-shadow: 0 0 0 3px rgba(196, 154, 69, 0.15);
    }
    .form-submit-btn {
      width: 100%;
      height: 44px;
      background: var(--brand-accent);
      color: #ffffff;
      border: none;
      border-radius: var(--radius-sm);
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      transition: var(--transition);
    }
    .form-submit-btn:hover {
      background: var(--brand-accent-hover);
    }
    .form-helper {
      margin-top: 14px;
      font-size: 11px;
      color: var(--text-muted);
      text-align: center;
      line-height: 1.5;
    }

    /* 8. FAQ 手风琴式问答板块 */
    .faq-container {
      max-width: 900px;
      margin: 0 auto;
    }
    .faq-item {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      margin-bottom: 14px;
      overflow: hidden;
      transition: var(--transition);
    }
    .faq-item:hover {
      border-color: var(--brand-primary);
    }
    .faq-question {
      padding: 20px 24px;
      font-size: 16px;
      font-weight: 700;
      color: var(--brand-deep);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      user-select: none;
      background: #ffffff;
    }
    .faq-icon {
      font-size: 18px;
      color: var(--brand-accent);
      transition: transform 0.3s ease;
    }
    .faq-answer {
      padding: 0 24px 20px 24px;
      font-size: 14px;
      color: var(--text-sub);
      line-height: 1.8;
      border-top: 1px solid transparent;
    }

    /* 页脚对齐规范 */
    .site-footer {
      background-color: var(--brand-deep);
      color: #c9dbd3;
      padding: 60px 0 30px;
      border-top: 4px solid var(--brand-accent);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1.5fr;
      gap: 36px;
      margin-bottom: 45px;
    }
    .footer-logo-title {
      font-size: 18px;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 14px;
    }
    .footer-desc {
      font-size: 13px;
      color: #9cb5ab;
      line-height: 1.8;
      margin-bottom: 16px;
    }
    .footer-col h5 {
      font-size: 15px;
      font-weight: 700;
      color: #ffffff;
      margin-bottom: 18px;
      position: relative;
      padding-bottom: 8px;
    }
    .footer-col h5::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 24px;
      height: 2px;
      background: var(--brand-accent);
    }
    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .footer-links li {
      margin-bottom: 10px;
      font-size: 13px;
    }
    .footer-links a {
      color: #b0c9be;
    }
    .footer-links a:hover {
      color: var(--brand-accent);
    }
    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.08);
      padding-top: 25px;
      font-size: 12px;
      color: #7f9b8e;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }
    .footer-domain {
      color: #e5ede9;
      font-weight: 600;
    }

    /* 响应式断点适配 */
    @media (max-width: 1024px) {
      .master-grid { grid-template-columns: repeat(2, 1fr); }
      .essay-feature-list { grid-template-columns: 1fr; }
      .ritual-process-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
      .hero-stats-row { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 768px) {
      .header-topbar { display: none; }
      .page-main-wrap { padding-top: 70px; }
      .mobile-toggle { display: flex; }
      .nav-cta { display: none; }
      .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #ffffff;
        flex-direction: column;
        padding: 20px;
        box-shadow: var(--shadow-md);
        gap: 14px;
      }
      .nav-links.is-open { display: flex; }
      .login-grid-split { grid-template-columns: 1fr; gap: 30px; }
      .privilege-grid { grid-template-columns: 1fr; }
      .hero-h1 { font-size: 26px; }
      .section-title { font-size: 24px; }
      .master-grid { grid-template-columns: 1fr; }
      .ritual-process-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .footer-bottom { flex-direction: column; text-align: center; }
    }

/* roulang page: category1 */
:root {
        --brand-deep: #16382b;
        --brand-primary: #1e4d3b;
        --brand-light: #2d6a53;
        --brand-accent: #c49a45;
        --brand-accent-hover: #b08736;
        --bg-canvas: #f6f8f6;
        --bg-card: #ffffff;
        --bg-soft: #edf3f0;
        --text-main: #1d2521;
        --text-sub: #53625b;
        --text-muted: #85958d;
        --border-color: #dce6e1;
        --border-light: #eaf0ed;
        --shadow-sm: 0 2px 6px rgba(22, 56, 43, 0.05);
        --shadow-md: 0 8px 24px rgba(22, 56, 43, 0.08);
        --shadow-lg: 0 16px 36px rgba(22, 56, 43, 0.12);
        --radius-sm: 4px;
        --radius-md: 8px;
        --radius-lg: 14px;
        --transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }
    *, *::before, *::after {
        box-sizing: border-box;
    }
    body {
        margin: 0;
        padding: 0;
        font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
        background-color: var(--bg-canvas);
        color: var(--text-main);
        line-height: 1.7;
        -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; transition: var(--transition); }
    a:hover, a:focus { color: var(--brand-accent); }
    img { max-width: 100%; height: auto; display: block; object-fit: cover; }
    .container-custom {
        width: 100%;
        max-width: 1220px;
        margin: 0 auto;
        padding: 0 20px;
    }

    /* 滚动收缩双层导航 */
    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        background: #ffffff;
        box-shadow: var(--shadow-sm);
        transition: var(--transition);
    }
    .header-topbar {
        background-color: var(--brand-deep);
        color: #d9e5df;
        font-size: 13px;
        padding: 8px 0;
        transition: var(--transition);
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .header-topbar-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .topbar-msg {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .topbar-msg .badge-notice {
        background: var(--brand-accent);
        color: #fff;
        padding: 2px 8px;
        border-radius: 3px;
        font-size: 11px;
        font-weight: 600;
    }
    .topbar-quick {
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .topbar-quick a {
        color: #e2ede8;
        font-size: 12px;
    }
    .header-mainnav {
        padding: 14px 0;
        background: #ffffff;
        transition: var(--transition);
    }
    .mainnav-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .site-logo {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .logo-mark {
        width: 40px;
        height: 40px;
        background: var(--brand-primary);
        color: var(--brand-accent);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--radius-sm);
        font-weight: 900;
        font-size: 20px;
        box-shadow: inset 0 0 0 1px rgba(196,154,69,0.3);
    }
    .logo-text {
        display: flex;
        flex-direction: column;
    }
    .logo-title {
        font-size: 18px;
        font-weight: 800;
        color: var(--brand-deep);
        line-height: 1.2;
    }
    .logo-subtitle {
        font-size: 11px;
        color: var(--text-muted);
        letter-spacing: 0.5px;
    }
    .nav-links {
        display: flex;
        align-items: center;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 26px;
    }
    .nav-links li a {
        font-size: 15px;
        font-weight: 600;
        color: var(--text-main);
        padding: 6px 0;
        position: relative;
    }
    .nav-links li a.active,
    .nav-links li a:hover {
        color: var(--brand-primary);
    }
    .nav-links li a.active::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--brand-accent);
    }
    .nav-cta {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 9px 20px;
        border-radius: var(--radius-sm);
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
        border: 1px solid transparent;
        line-height: 1.4;
    }
    .btn-gold {
        background: var(--brand-accent);
        color: #ffffff;
        box-shadow: 0 4px 10px rgba(196, 154, 69, 0.25);
    }
    .btn-gold:hover {
        background: var(--brand-accent-hover);
        color: #ffffff;
        transform: translateY(-1px);
    }
    .btn-outline-green {
        border-color: var(--brand-primary);
        color: var(--brand-primary);
        background: transparent;
    }
    .btn-outline-green:hover {
        background: var(--brand-primary);
        color: #ffffff;
    }
    .btn-dark {
        background: var(--brand-deep);
        color: #ffffff;
    }
    .btn-dark:hover {
        background: var(--brand-primary);
        color: #ffffff;
    }
    .site-header.is-scrolled .header-topbar {
        margin-top: -37px;
        opacity: 0;
        pointer-events: none;
    }
    .site-header.is-scrolled {
        box-shadow: var(--shadow-md);
    }
    .site-header.is-scrolled .header-mainnav {
        padding: 10px 0;
    }
    .mobile-toggle {
        display: none;
        flex-direction: column;
        gap: 5px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px;
    }
    .mobile-toggle span {
        width: 24px;
        height: 2px;
        background-color: var(--brand-deep);
        transition: var(--transition);
    }

    /* 页面基础布局 */
    .page-wrapper {
        padding-top: 108px;
    }
    .section-wrap {
        padding: 72px 0;
        position: relative;
    }
    .section-alt {
        background-color: var(--bg-soft);
    }
    .section-white {
        background-color: #ffffff;
    }
    .section-header {
        margin-bottom: 48px;
    }
    .section-header.text-center {
        text-align: center;
    }
    .section-tag {
        display: inline-block;
        font-size: 12px;
        font-weight: 700;
        color: var(--brand-accent);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 8px;
    }
    .section-title {
        font-size: 30px;
        font-weight: 800;
        color: var(--brand-deep);
        margin: 0 0 12px 0;
        line-height: 1.3;
    }
    .section-desc {
        font-size: 16px;
        color: var(--text-sub);
        max-width: 680px;
        margin: 0;
    }
    .text-center .section-desc {
        margin: 0 auto;
    }

    /* 板块1：Hero（短视频竖屏感主视觉 + 跟买/了解 CTA） */
    .guide-hero {
        padding: 60px 0 80px;
        background: linear-gradient(145deg, #f0f5f2 0%, #e5eee9 100%);
        border-bottom: 1px solid var(--border-color);
    }
    .hero-grid {
        display: grid;
        grid-template-columns: 360px 1fr;
        gap: 50px;
        align-items: center;
    }
    .video-card-vertical {
        position: relative;
        border-radius: var(--radius-lg);
        overflow: hidden;
        box-shadow: var(--shadow-lg);
        aspect-ratio: 9 / 16;
        max-height: 520px;
        background: #000;
        border: 4px solid #ffffff;
    }
    .video-card-vertical img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .video-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(16, 40, 31, 0.95) 0%, rgba(16, 40, 31, 0.2) 60%, transparent 100%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 24px;
        color: #ffffff;
    }
    .live-badge {
        position: absolute;
        top: 16px;
        left: 16px;
        background: rgba(22, 56, 43, 0.85);
        backdrop-filter: blur(8px);
        color: #fff;
        font-size: 12px;
        padding: 4px 10px;
        border-radius: 20px;
        display: flex;
        align-items: center;
        gap: 6px;
        border: 1px solid rgba(255, 255, 255, 0.2);
    }
    .live-dot {
        width: 8px;
        height: 8px;
        background: #39b54a;
        border-radius: 50%;
    }
    .vertical-title {
        font-size: 18px;
        font-weight: 700;
        color: #ffffff;
        margin-bottom: 6px;
    }
    .vertical-desc {
        font-size: 12px;
        color: #cfdad5;
        margin-bottom: 14px;
        line-height: 1.5;
    }
    .vertical-action {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .score-chip {
        background: rgba(196, 154, 69, 0.2);
        color: var(--brand-accent);
        border: 1px solid var(--brand-accent);
        padding: 2px 8px;
        border-radius: var(--radius-sm);
        font-weight: 700;
        font-size: 13px;
    }
    .hero-content h1 {
        font-size: 36px;
        font-weight: 900;
        color: var(--brand-deep);
        margin: 0 0 16px;
        line-height: 1.25;
    }
    .hero-lead {
        font-size: 17px;
        color: var(--text-sub);
        margin-bottom: 28px;
    }
    .hero-metrics-bar {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        background: #ffffff;
        padding: 20px;
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
        border: 1px solid var(--border-light);
        margin-bottom: 30px;
    }
    .metric-item {
        border-right: 1px solid var(--border-light);
        padding-right: 12px;
    }
    .metric-item:last-child {
        border-right: none;
    }
    .metric-val {
        font-size: 24px;
        font-weight: 800;
        color: var(--brand-primary);
        display: block;
        line-height: 1.2;
    }
    .metric-lbl {
        font-size: 12px;
        color: var(--text-muted);
    }
    .hero-btn-group {
        display: flex;
        align-items: center;
        gap: 14px;
        flex-wrap: wrap;
    }

    /* 板块2：商圈茶馆分类矩阵 */
    .district-matrix {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    .district-card {
        background: #ffffff;
        border: 1px solid var(--border-light);
        border-radius: var(--radius-md);
        padding: 24px 20px;
        transition: var(--transition);
        position: relative;
    }
    .district-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-md);
        border-color: var(--brand-accent);
    }
    .district-icon-num {
        font-size: 13px;
        font-weight: 800;
        color: var(--brand-accent);
        margin-bottom: 8px;
    }
    .district-name {
        font-size: 19px;
        font-weight: 700;
        color: var(--brand-deep);
        margin-bottom: 8px;
    }
    .district-highlight {
        font-size: 13px;
        color: var(--brand-light);
        background: rgba(30, 77, 59, 0.08);
        display: inline-block;
        padding: 2px 8px;
        border-radius: 2px;
        margin-bottom: 12px;
        font-weight: 600;
    }
    .district-summary {
        font-size: 13px;
        color: var(--text-sub);
        margin-bottom: 16px;
        line-height: 1.6;
    }
    .district-foot {
        font-size: 12px;
        color: var(--text-muted);
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-top: 1px dashed var(--border-light);
        padding-top: 12px;
    }

    /* 板块3：五维严苛审评标准 */
    .criteria-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 16px;
    }
    .criteria-box {
        background: #ffffff;
        border-radius: var(--radius-md);
        padding: 24px 18px;
        border: 1px solid var(--border-color);
        position: relative;
    }
    .criteria-step {
        width: 32px;
        height: 32px;
        background: var(--brand-deep);
        color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 16px;
    }
    .criteria-heading {
        font-size: 16px;
        font-weight: 700;
        color: var(--brand-deep);
        margin-bottom: 8px;
    }
    .criteria-desc {
        font-size: 13px;
        color: var(--text-sub);
        line-height: 1.6;
        margin: 0;
    }

    /* 板块4：本季精选实探茶舍案例墙 */
    .teahouse-gallery {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }
    .teahouse-item {
        background: #ffffff;
        border-radius: var(--radius-md);
        overflow: hidden;
        border: 1px solid var(--border-light);
        box-shadow: var(--shadow-sm);
        transition: var(--transition);
        display: flex;
        flex-direction: column;
    }
    .teahouse-item:hover {
        box-shadow: var(--shadow-lg);
        transform: translateY(-3px);
    }
    .teahouse-thumb {
        height: 220px;
        position: relative;
        overflow: hidden;
    }
    .teahouse-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
    }
    .teahouse-item:hover .teahouse-thumb img {
        transform: scale(1.04);
    }
    .teahouse-badge-area {
        position: absolute;
        bottom: 10px;
        left: 12px;
        display: flex;
        gap: 6px;
    }
    .badge-pill {
        background: rgba(22, 56, 43, 0.85);
        color: #fff;
        font-size: 11px;
        padding: 3px 8px;
        border-radius: 4px;
        backdrop-filter: blur(4px);
    }
    .teahouse-body {
        padding: 22px;
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    .teahouse-name {
        font-size: 19px;
        font-weight: 700;
        color: var(--brand-deep);
        margin-bottom: 6px;
    }
    .teahouse-meta {
        font-size: 13px;
        color: var(--brand-accent);
        font-weight: 600;
        margin-bottom: 12px;
    }
    .teahouse-desc {
        font-size: 13px;
        color: var(--text-sub);
        line-height: 1.6;
        margin-bottom: 18px;
        flex: 1;
    }
    .teahouse-feature-list {
        list-style: none;
        padding: 0;
        margin: 0 0 18px 0;
        font-size: 12px;
        color: var(--text-muted);
    }
    .teahouse-feature-list li {
        margin-bottom: 4px;
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .teahouse-feature-list li::before {
        content: '•';
        color: var(--brand-primary);
        font-size: 14px;
    }
    .teahouse-action {
        border-top: 1px solid var(--border-light);
        padding-top: 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .price-tag {
        font-size: 16px;
        font-weight: 800;
        color: var(--brand-primary);
    }
    .price-tag span {
        font-size: 11px;
        font-weight: normal;
        color: var(--text-muted);
    }

    /* 板块5：实测口碑茶评流 */
    .reviews-stream {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    .review-bubble {
        background: #ffffff;
        border: 1px solid var(--border-color);
        border-radius: var(--radius-md);
        padding: 24px;
        position: relative;
    }
    .bubble-author {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
    }
    .author-avatar {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: var(--bg-soft);
        color: var(--brand-primary);
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        border: 1px solid var(--border-color);
    }
    .author-info h6 {
        font-size: 14px;
        font-weight: 700;
        margin: 0;
        color: var(--brand-deep);
    }
    .author-info span {
        font-size: 11px;
        color: var(--text-muted);
    }
    .bubble-rating {
        color: var(--brand-accent);
        font-size: 12px;
        margin-bottom: 8px;
    }
    .bubble-text {
        font-size: 13px;
        color: var(--text-sub);
        line-height: 1.65;
        margin-bottom: 12px;
    }
    .bubble-tag {
        font-size: 11px;
        background: var(--bg-canvas);
        color: var(--brand-light);
        padding: 2px 8px;
        border-radius: 3px;
        display: inline-block;
    }

    /* 板块6：源头茶山与茶舍保障数据条 */
    .guarantee-bar-card {
        background: var(--brand-deep);
        color: #ffffff;
        border-radius: var(--radius-lg);
        padding: 48px 40px;
        box-shadow: var(--shadow-md);
    }
    .guarantee-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
        text-align: center;
    }
    .guarantee-col {
        border-right: 1px solid rgba(255, 255, 255, 0.12);
        padding: 0 15px;
    }
    .guarantee-col:last-child {
        border-right: none;
    }
    .guarantee-num {
        font-size: 38px;
        font-weight: 900;
        color: var(--brand-accent);
        line-height: 1.1;
        margin-bottom: 8px;
    }
    .guarantee-label {
        font-size: 15px;
        font-weight: 700;
        margin-bottom: 6px;
    }
    .guarantee-note {
        font-size: 12px;
        color: #a1b8ae;
        line-height: 1.5;
        margin: 0;
    }

    /* 板块7：茶客常见问答 FAQ */
    .faq-container {
        max-width: 860px;
        margin: 0 auto;
    }
    .faq-accordion-item {
        background: #ffffff;
        border: 1px solid var(--border-color);
        border-radius: var(--radius-md);
        margin-bottom: 16px;
        overflow: hidden;
    }
    .faq-question {
        padding: 18px 24px;
        font-size: 16px;
        font-weight: 700;
        color: var(--brand-deep);
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #ffffff;
        transition: background 0.2s;
    }
    .faq-question:hover {
        background: var(--bg-soft);
    }
    .faq-icon {
        font-size: 18px;
        color: var(--brand-accent);
        font-weight: 300;
    }
    .faq-answer {
        padding: 0 24px 20px;
        font-size: 14px;
        color: var(--text-sub);
        line-height: 1.7;
    }

    /* 板块8：上海品茶网登录入口快速验证与收口 */
    .portal-section {
        background: linear-gradient(135deg, #102a20 0%, #1c4b39 100%);
        color: #ffffff;
        padding: 80px 0;
        position: relative;
    }
    .portal-box {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: var(--radius-lg);
        padding: 40px;
        backdrop-filter: blur(10px);
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 50px;
        align-items: center;
    }
    .portal-text h2 {
        font-size: 28px;
        font-weight: 800;
        color: #ffffff;
        margin-bottom: 14px;
    }
    .portal-text p {
        font-size: 14px;
        color: #cde0d7;
        line-height: 1.7;
        margin-bottom: 22px;
    }
    .portal-list {
        list-style: none;
        padding: 0;
        margin: 0;
        font-size: 13px;
        color: #e2ede8;
    }
    .portal-list li {
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .portal-list li::before {
        content: '✓';
        color: var(--brand-accent);
        font-weight: bold;
    }
    .portal-card-form {
        background: #ffffff;
        border-radius: var(--radius-md);
        padding: 30px;
        color: var(--text-main);
        box-shadow: var(--shadow-lg);
    }
    .portal-form-title {
        font-size: 18px;
        font-weight: 800;
        color: var(--brand-deep);
        margin-bottom: 4px;
        text-align: center;
    }
    .portal-form-sub {
        font-size: 12px;
        color: var(--text-muted);
        text-align: center;
        margin-bottom: 20px;
    }
    .form-group {
        margin-bottom: 16px;
    }
    .form-group label {
        display: block;
        font-size: 12px;
        font-weight: 600;
        color: var(--text-main);
        margin-bottom: 6px;
    }
    .form-control {
        width: 100%;
        padding: 10px 14px;
        border: 1px solid var(--border-color);
        border-radius: var(--radius-sm);
        font-size: 13px;
        transition: var(--transition);
        outline: none;
        height: auto;
    }
    .form-control:focus {
        border-color: var(--brand-primary);
        box-shadow: 0 0 0 2px rgba(30, 77, 59, 0.15);
    }
    .form-btn-submit {
        width: 100%;
        margin-top: 10px;
        padding: 12px;
        background: var(--brand-accent);
        color: #fff;
        border: none;
        border-radius: var(--radius-sm);
        font-weight: 700;
        font-size: 14px;
        cursor: pointer;
        transition: var(--transition);
    }
    .form-btn-submit:hover {
        background: var(--brand-accent-hover);
    }
    .form-tips {
        font-size: 11px;
        color: var(--text-muted);
        text-align: center;
        margin-top: 12px;
    }

    /* 页脚标准体系 */
    .site-footer {
        background-color: #0e241c;
        color: #cad8d1;
        padding: 64px 0 24px;
        border-top: 1px solid rgba(255,255,255,0.06);
    }
    .footer-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1.2fr;
        gap: 40px;
        margin-bottom: 48px;
    }
    .footer-logo-title {
        font-size: 18px;
        font-weight: 800;
        color: #ffffff;
        margin-bottom: 12px;
    }
    .footer-desc {
        font-size: 13px;
        line-height: 1.8;
        color: #9cb5a9;
        margin-bottom: 16px;
    }
    .footer-col h5 {
        font-size: 15px;
        font-weight: 700;
        color: #ffffff;
        margin-bottom: 18px;
        position: relative;
        padding-bottom: 8px;
    }
    .footer-col h5::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 24px;
        height: 2px;
        background: var(--brand-accent);
    }
    .footer-links {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .footer-links li {
        margin-bottom: 10px;
        font-size: 13px;
    }
    .footer-links li a {
        color: #a4bdb1;
    }
    .footer-links li a:hover {
        color: var(--brand-accent);
    }
    .footer-bottom {
        border-top: 1px solid rgba(255,255,255,0.08);
        padding-top: 24px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 12px;
        color: #799487;
    }
    .footer-domain {
        color: var(--brand-accent);
    }

    /* 响应式调整 */
    @media (max-width: 1024px) {
        .district-matrix {
            grid-template-columns: repeat(2, 1fr);
        }
        .criteria-grid {
            grid-template-columns: repeat(3, 1fr);
        }
        .teahouse-gallery {
            grid-template-columns: repeat(2, 1fr);
        }
        .reviews-stream {
            grid-template-columns: repeat(2, 1fr);
        }
        .guarantee-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
        }
        .guarantee-col {
            border-right: none;
        }
        .footer-grid {
            grid-template-columns: 1fr 1fr;
        }
    }

    @media (max-width: 768px) {
        .page-wrapper {
            padding-top: 70px;
        }
        .header-topbar {
            display: none;
        }
        .mobile-toggle {
            display: flex;
        }
        .nav-links {
            position: fixed;
            top: 70px;
            left: 0;
            right: 0;
            background: #ffffff;
            flex-direction: column;
            padding: 24px;
            gap: 16px;
            box-shadow: var(--shadow-md);
            transform: translateY(-150%);
            transition: var(--transition);
        }
        .nav-links.is-open {
            transform: translateY(0);
        }
        .nav-cta {
            display: none;
        }
        .hero-grid {
            grid-template-columns: 1fr;
        }
        .video-card-vertical {
            max-width: 320px;
            margin: 0 auto;
        }
        .criteria-grid {
            grid-template-columns: 1fr;
        }
        .teahouse-gallery {
            grid-template-columns: 1fr;
        }
        .reviews-stream {
            grid-template-columns: 1fr;
        }
        .portal-box {
            grid-template-columns: 1fr;
            padding: 24px;
            gap: 30px;
        }
        .footer-grid {
            grid-template-columns: 1fr;
        }
        .footer-bottom {
            flex-direction: column;
            gap: 10px;
            text-align: center;
        }
    }

    @media (max-width: 520px) {
        .section-wrap {
            padding: 48px 0;
        }
        .hero-metrics-bar {
            grid-template-columns: 1fr;
            gap: 12px;
        }
        .metric-item {
            border-right: none;
            border-bottom: 1px solid var(--border-light);
            padding-bottom: 8px;
        }
        .district-matrix {
            grid-template-columns: 1fr;
        }
        .guarantee-grid {
            grid-template-columns: 1fr;
        }
    }

/* roulang page: category3 */
:root {
      --brand-deep: #16382b;
      --brand-primary: #1e4d3b;
      --brand-light: #2d6a53;
      --brand-accent: #c49a45;
      --brand-accent-hover: #b08736;
      --bg-canvas: #f6f8f6;
      --bg-card: #ffffff;
      --bg-soft: #edf3f0;
      --text-main: #1d2521;
      --text-sub: #53625b;
      --text-muted: #85958d;
      --border-color: #dce6e1;
      --border-light: #eaf0ed;
      --shadow-sm: 0 2px 6px rgba(22, 56, 43, 0.05);
      --shadow-md: 0 8px 24px rgba(22, 56, 43, 0.08);
      --shadow-lg: 0 16px 36px rgba(22, 56, 43, 0.12);
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 14px;
      --transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-canvas);
      color: var(--text-main);
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      margin: 0;
      padding: 0;
    }
    a { color: inherit; text-decoration: none; transition: var(--transition); }
    a:hover, a:focus { color: var(--brand-accent); }
    img { max-width: 100%; height: auto; display: block; object-fit: cover; }
    .container-custom {
      width: 100%;
      max-width: 1220px;
      margin: 0 auto;
      padding: 0 20px;
    }

    /* 滚动收缩双层导航 */
    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 999;
      background: #ffffff;
      box-shadow: var(--shadow-sm);
      transition: var(--transition);
    }
    .header-topbar {
      background-color: var(--brand-deep);
      color: #d9e5df;
      font-size: 13px;
      padding: 8px 0;
      transition: var(--transition);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .header-topbar-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .topbar-msg {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .topbar-msg .badge-notice {
      background: var(--brand-accent);
      color: #fff;
      padding: 2px 8px;
      border-radius: 3px;
      font-size: 11px;
      font-weight: 600;
    }
    .topbar-quick {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .topbar-quick a {
      color: #e2ede8;
      font-size: 12px;
    }
    .header-mainnav {
      padding: 14px 0;
      background: #ffffff;
      transition: var(--transition);
    }
    .mainnav-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .site-logo {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .logo-mark {
      width: 40px;
      height: 40px;
      background: var(--brand-primary);
      color: var(--brand-accent);
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-sm);
      font-weight: 900;
      font-size: 20px;
      box-shadow: inset 0 0 0 1px rgba(196,154,69,0.3);
    }
    .logo-text {
      display: flex;
      flex-direction: column;
    }
    .logo-title {
      font-size: 18px;
      font-weight: 800;
      color: var(--brand-deep);
      line-height: 1.2;
    }
    .logo-subtitle {
      font-size: 11px;
      color: var(--text-muted);
      letter-spacing: 0.5px;
    }
    .nav-links {
      display: flex;
      align-items: center;
      list-style: none;
      margin: 0;
      gap: 26px;
    }
    .nav-links li a {
      font-size: 15px;
      font-weight: 600;
      color: var(--text-main);
      padding: 6px 0;
      position: relative;
    }
    .nav-links li a.active,
    .nav-links li a:hover {
      color: var(--brand-primary);
    }
    .nav-links li a.active::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--brand-accent);
    }
    .nav-cta {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 9px 20px;
      border-radius: var(--radius-sm);
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      border: 1px solid transparent;
      text-decoration: none;
    }
    .btn-gold {
      background: var(--brand-accent);
      color: #ffffff;
      box-shadow: 0 4px 10px rgba(196, 154, 69, 0.25);
    }
    .btn-gold:hover {
      background: var(--brand-accent-hover);
      color: #ffffff;
      transform: translateY(-1px);
    }
    .btn-outline-green {
      border-color: var(--brand-primary);
      color: var(--brand-primary);
      background: transparent;
    }
    .btn-outline-green:hover {
      background: var(--brand-primary);
      color: #ffffff;
    }
    .btn-dark {
      background: var(--brand-deep);
      color: #ffffff;
    }
    .btn-dark:hover {
      background: var(--brand-primary);
      color: #ffffff;
    }
    .mobile-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
    }
    .mobile-toggle span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--brand-deep);
      margin: 4px 0;
      transition: var(--transition);
    }
    .site-header.is-scrolled .header-topbar {
      margin-top: -37px;
      opacity: 0;
      pointer-events: none;
    }
    .site-header.is-scrolled {
      box-shadow: var(--shadow-md);
    }
    .site-header.is-scrolled .header-mainnav {
      padding: 10px 0;
    }

    /* 内页面包屑与 Hero */
    .page-hero {
      margin-top: 100px;
      padding: 50px 0 40px;
      background: linear-gradient(135deg, #16382b 0%, #1e4d3b 60%, #285a47 100%);
      color: #ffffff;
      position: relative;
      overflow: hidden;
    }
    .breadcrumb-nav {
      font-size: 13px;
      color: #9cb5aa;
      margin-bottom: 20px;
    }
    .breadcrumb-nav a {
      color: #d1e2da;
    }
    .breadcrumb-nav a:hover {
      color: var(--brand-accent);
    }
    .breadcrumb-nav span {
      margin: 0 8px;
      color: #60796f;
    }
    .hero-countdown-wrap {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(196, 154, 69, 0.35);
      border-radius: var(--radius-md);
      padding: 24px;
      backdrop-filter: blur(8px);
      text-align: center;
    }
    .ring-timer-box {
      display: flex;
      justify-content: center;
      gap: 16px;
      margin: 16px 0;
    }
    .timer-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      border: 2px solid var(--brand-accent);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: rgba(22, 56, 43, 0.5);
    }
    .timer-num {
      font-size: 18px;
      font-weight: 700;
      line-height: 1.1;
      color: #ffffff;
    }
    .timer-label {
      font-size: 10px;
      color: #a4c2b5;
    }

    /* 各板块通用 */
    .section-padding {
      padding: 60px 0;
    }
    .section-alt-bg {
      background-color: var(--bg-soft);
      border-top: 1px solid var(--border-color);
      border-bottom: 1px solid var(--border-color);
    }
    .section-head {
      margin-bottom: 36px;
    }
    .section-title-line {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
    }
    .sec-tag {
      font-size: 12px;
      font-weight: 700;
      background: rgba(196,154,69,0.15);
      color: var(--brand-accent);
      padding: 3px 10px;
      border-radius: var(--radius-sm);
    }
    .section-head h2 {
      font-size: 26px;
      font-weight: 700;
      color: var(--brand-deep);
      margin: 0;
    }
    .section-head p {
      font-size: 14px;
      color: var(--text-sub);
      margin: 6px 0 0;
    }

    /* 活动排期网格 */
    .yaji-card {
      background: var(--bg-card);
      border-radius: var(--radius-md);
      border: 1px solid var(--border-color);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    .yaji-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
      border-color: var(--brand-light);
    }
    .yaji-thumb {
      height: 190px;
      position: relative;
      overflow: hidden;
    }
    .yaji-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: var(--transition);
    }
    .yaji-card:hover .yaji-thumb img {
      transform: scale(1.04);
    }
    .yaji-meta-badge {
      position: absolute;
      top: 12px;
      left: 12px;
      background: var(--brand-deep);
      color: #fff;
      font-size: 11px;
      padding: 3px 8px;
      border-radius: var(--radius-sm);
      font-weight: 600;
    }
    .yaji-status {
      position: absolute;
      bottom: 12px;
      right: 12px;
      background: var(--brand-accent);
      color: #fff;
      font-size: 11px;
      padding: 3px 8px;
      border-radius: var(--radius-sm);
      font-weight: 600;
    }
    .yaji-content {
      padding: 20px;
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .yaji-title {
      font-size: 17px;
      font-weight: 700;
      color: var(--brand-deep);
      margin-bottom: 10px;
      line-height: 1.4;
    }
    .yaji-desc {
      font-size: 13px;
      color: var(--text-sub);
      line-height: 1.6;
      margin-bottom: 14px;
      flex: 1;
    }
    .yaji-info-row {
      font-size: 12px;
      color: var(--text-muted);
      display: flex;
      justify-content: space-between;
      border-top: 1px dashed var(--border-color);
      padding-top: 12px;
      margin-bottom: 16px;
    }
    .yaji-btn {
      width: 100%;
      text-align: center;
      padding: 8px;
      font-size: 13px;
      border-radius: var(--radius-sm);
    }

    /* 流程与准则板块 */
    .flow-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 20px;
    }
    .step-box {
      background: #ffffff;
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      padding: 24px 18px;
      position: relative;
    }
    .step-num {
      font-size: 28px;
      font-weight: 800;
      color: rgba(196, 154, 69, 0.35);
      line-height: 1;
      margin-bottom: 10px;
    }
    .step-name {
      font-size: 16px;
      font-weight: 700;
      color: var(--brand-deep);
      margin-bottom: 6px;
    }
    .step-text {
      font-size: 13px;
      color: var(--text-sub);
      line-height: 1.6;
    }

    /* 席主风范 */
    .host-card {
      background: #ffffff;
      border-radius: var(--radius-md);
      padding: 24px;
      border: 1px solid var(--border-color);
      display: flex;
      gap: 20px;
      align-items: center;
    }
    .host-avatar {
      width: 90px;
      height: 90px;
      border-radius: 50%;
      flex-shrink: 0;
      overflow: hidden;
      border: 2px solid var(--brand-accent);
    }
    .host-info h4 {
      font-size: 16px;
      font-weight: 700;
      color: var(--brand-deep);
      margin: 0 0 4px;
    }
    .host-tag {
      font-size: 11px;
      color: var(--brand-accent);
      font-weight: 600;
      margin-bottom: 6px;
      display: inline-block;
    }
    .host-bio {
      font-size: 12px;
      color: var(--text-sub);
      line-height: 1.5;
      margin: 0;
    }

    /* 纪要列表 */
    .recap-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .recap-item {
      background: #ffffff;
      border: 1px solid var(--border-color);
      border-radius: var(--radius-sm);
      padding: 16px 20px;
      margin-bottom: 12px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      transition: var(--transition);
    }
    .recap-item:hover {
      border-color: var(--brand-accent);
      background: #fafcfb;
    }
    .recap-title-wrap {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .recap-badge {
      background: var(--bg-soft);
      color: var(--brand-primary);
      font-size: 11px;
      padding: 2px 6px;
      border-radius: 2px;
      font-weight: 600;
    }
    .recap-title {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-main);
    }
    .recap-date {
      font-size: 12px;
      color: var(--text-muted);
    }

    /* 登入鉴权卡片/CTA */
    .portal-box {
      background: linear-gradient(135deg, var(--brand-deep) 0%, #1c4b3a 100%);
      border-radius: var(--radius-lg);
      padding: 40px;
      color: #ffffff;
      border: 1px solid rgba(196,154,69,0.3);
      box-shadow: var(--shadow-lg);
    }
    .portal-input {
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.2);
      color: #ffffff;
      padding: 10px 14px;
      border-radius: var(--radius-sm);
      font-size: 14px;
      width: 100%;
      margin-bottom: 12px;
    }
    .portal-input:focus {
      outline: none;
      border-color: var(--brand-accent);
      background: rgba(255, 255, 255, 0.18);
    }

    /* 页脚 */
    .site-footer {
      background-color: var(--brand-deep);
      color: #c9d6d0;
      padding: 60px 0 24px;
      font-size: 14px;
      border-top: 3px solid var(--brand-accent);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1.5fr;
      gap: 40px;
      margin-bottom: 40px;
    }
    .footer-logo-title {
      font-size: 18px;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 14px;
    }
    .footer-desc {
      font-size: 13px;
      line-height: 1.8;
      color: #a4b8af;
      margin-bottom: 16px;
    }
    .footer-col h5 {
      color: #ffffff;
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 18px;
      position: relative;
      padding-bottom: 8px;
    }
    .footer-col h5::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 28px;
      height: 2px;
      background: var(--brand-accent);
    }
    .footer-links {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .footer-links li {
      margin-bottom: 10px;
    }
    .footer-links a {
      color: #a4b8af;
      font-size: 13px;
    }
    .footer-links a:hover {
      color: var(--brand-accent);
    }
    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 12px;
      color: #7b9488;
    }
    .footer-domain {
      color: var(--brand-accent);
      font-weight: 600;
    }

    /* 响应式断点 */
    @media (max-width: 1024px) {
      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .flow-steps {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    @media (max-width: 768px) {
      .header-topbar {
        display: none;
      }
      .site-header {
        position: relative;
      }
      .page-hero {
        margin-top: 0;
      }
      .nav-links, .nav-cta {
        display: none;
      }
      .mobile-toggle {
        display: block;
      }
      .footer-grid {
        grid-template-columns: 1fr;
      }
      .flow-steps {
        grid-template-columns: 1fr;
      }
      .footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
      }
      .host-card {
        flex-direction: column;
        text-align: center;
      }
    }
