        /* 与 index.html（home-editorial / --ed-*）一致的纸色与墨色，仅作用于套餐详情主内容 */
        #txq-root {
            color: var(--ed-ink);
            padding-top: clamp(5.5rem, 11vw, 7.5rem);
            padding-bottom: clamp(48px, 8vw, 96px);
        }

        #txq-root .font-serif {
            font-family: 'Fraunces', 'Playfair Display', 'Noto Serif SC', Georgia, serif;
        }

        #txq-root .txq-hero {
            background: linear-gradient(145deg, #faf6ef 0%, #efe6d8 48%, #e8dcc8 100%);
        }

        #txq-root .txq-eyebrow {
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--ed-accent);
        }

        #txq-root .txq-h1 {
            color: var(--ed-ink);
        }

        #txq-root .txq-h1-muted {
            color: rgba(20, 18, 15, 0.38);
        }

        #txq-root .txq-lead {
            color: var(--ed-muted);
        }

        #txq-root .txq-lead strong {
            color: var(--ed-ink);
            font-weight: 600;
        }

        #txq-root .txq-lead a {
            color: var(--ed-ink);
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        #txq-root .txq-lead a:hover {
            color: var(--ed-accent);
        }

        #txq-root .txq-h2 {
            color: var(--ed-ink);
        }

        #txq-root .txq-note {
            color: var(--ed-muted);
        }

        #txq-root .txq-note a {
            color: var(--ed-ink);
            font-weight: 500;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        #txq-root .txq-note a:hover {
            color: var(--ed-accent);
        }

        #txq-root .txq-period-hint {
            color: rgba(92, 86, 76, 0.92);
        }

        #txq-root .hero-spec-grid {
            border-top: 1px solid rgba(20, 18, 15, 0.1);
            border-bottom: 1px solid rgba(20, 18, 15, 0.1);
        }

        #txq-root .spec-item {
            padding: 2.5rem 0;
            border-right: 1px solid rgba(20, 18, 15, 0.1);
        }
        #txq-root .spec-item:last-child {
            border-right: none;
        }

        #txq-root .spec-k {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(92, 86, 76, 0.55);
        }

        #txq-root .spec-v {
            color: var(--ed-ink);
        }

        #txq-root .spec-d {
            font-size: 12px;
            color: rgba(92, 86, 76, 0.75);
        }

        @media (max-width: 767px) {
            #txq-root .spec-item {
                border-right: 1px solid rgba(20, 18, 15, 0.1);
            }
            #txq-root .spec-item:nth-child(2n) {
                border-right: none;
            }
            #txq-root .spec-item:nth-child(-n + 2) {
                border-bottom: 1px solid rgba(20, 18, 15, 0.1);
            }
        }

        @media (min-width: 768px) {
            #txq-root .spec-item {
                border-right: 1px solid rgba(20, 18, 15, 0.1);
                border-bottom: none;
            }
            #txq-root .spec-item:last-child {
                border-right: none;
            }
        }

        #txq-root .big-m4 {
            font-size: 15vw;
            line-height: 0.8;
            letter-spacing: -0.05em;
            color: transparent;
            -webkit-text-stroke: 1px rgba(20, 18, 15, 0.12);
            position: absolute;
            bottom: -20%;
            right: -5%;
            pointer-events: none;
            font-weight: 700;
        }

        #txq-root .period-pill {
            background: rgba(20, 18, 15, 0.06);
            border-radius: 999px;
            padding: 4px;
            border: 1px solid rgba(20, 18, 15, 0.06);
        }

        #txq-root .period-pill button {
            border-radius: 999px;
            transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
            color: var(--ed-muted);
        }

        #txq-root .period-pill button:hover {
            color: var(--ed-ink);
        }

        #txq-root .period-pill button.active {
            background: #fff;
            color: var(--ed-ink);
            box-shadow: 0 2px 14px rgba(26, 18, 10, 0.08);
        }

        #txq-root .price-flash {
            animation: txq-priceUpdate 0.5s ease-out;
        }

        @keyframes txq-priceUpdate {
            from {
                opacity: 0;
                transform: translateY(5px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        #txq-root .txq-period-label {
            color: rgba(92, 86, 76, 0.85);
        }

        #txq-root .txq-card {
            background: rgba(255, 255, 255, 0.55);
            border: 1px solid rgba(20, 18, 15, 0.08);
            box-shadow: 0 8px 28px rgba(26, 18, 10, 0.05);
        }

        #txq-root .txq-card--featured {
            background: #fff;
            border: 1px solid rgba(20, 18, 15, 0.06);
            box-shadow: var(--ed-shadow);
        }

        #txq-root .txq-badge {
            background: var(--ed-ink);
            color: #fcf9f4;
        }

        #txq-root .txq-icon-muted {
            color: rgba(20, 18, 15, 0.22);
        }

        #txq-root .txq-icon-accent {
            color: var(--ed-accent);
        }

        #txq-root .txq-rowline {
            border-color: rgba(20, 18, 15, 0.08);
        }

        #txq-root .txq-spec-muted {
            color: rgba(92, 86, 76, 0.75);
        }

        #txq-root .txq-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            padding: clamp(1rem, 2.5vw, 1.35rem) 1.25rem;
            font-size: 14px;
            font-weight: 700;
            color: #fcf9f4;
            background: var(--ed-ink);
            border-radius: 1rem;
            border: none;
            text-decoration: none;
            transition: background 0.25s ease;
        }

        #txq-root .txq-cta:hover {
            background: var(--ed-accent);
            color: #fcf9f4;
        }

        #txq-root .addon-card {
            background: rgba(255, 255, 255, 0.72);
            border: 1px solid rgba(20, 18, 15, 0.06);
            transition:
                transform 0.35s var(--ed-ease),
                box-shadow 0.35s var(--ed-ease),
                background 0.25s ease;
        }

        #txq-root .addon-card:hover {
            background: #fff;
            box-shadow: var(--ed-shadow);
            transform: translateY(-4px);
        }

        #txq-root .addon-card--outline {
            border-color: rgba(20, 18, 15, 0.1);
        }

        #txq-root .addon-card .txq-addon-desc {
            color: var(--ed-muted);
        }

        #txq-root .addon-per {
            color: rgba(92, 86, 76, 0.55);
        }

        #txq-root .addon-card h3 {
            color: var(--ed-ink);
        }

        #txq-root .addon-card .addon-ico {
            color: rgba(20, 18, 15, 0.35);
        }

        @media (prefers-reduced-motion: reduce) {
            #txq-root .addon-card:hover {
                transform: none;
            }
            #txq-root .period-pill button {
                transition: none;
            }
        }
