/* FaceSolo — Phase 1 page-template layer.
   Loaded after style.css (tokens) + layout.css (kit grammar).
   Scope: full-bleed reset for the two marketing templates, reveal hardening,
   and the few one-off components not already in layout.css. */

/* ============================================================
   REVEAL — wire the stagger delay (missing from child style.css)
   + a JS-fail safety net (the vanilla scroll-reveal has none).
   If scroll-reveal.js never runs, content still fades in by 2.6s
   instead of staying invisible forever.
   ============================================================ */
.reveal { transition-delay: var(--reveal-delay, 0ms); }
.reveal { animation: sb-reveal-safety 1ms linear 2.6s forwards; }
@keyframes sb-reveal-safety { to { opacity: 1; transform: none; } }
.reveal.is-in-view { animation: none; }
@media (prefers-reduced-motion: reduce) { .reveal { animation: none; opacity: 1; transform: none; } }

/* ============================================================
   FULL-BLEED MARKETING TEMPLATES
   GeneratePress 3.6.1, separate-containers. These templates render
   sections straight into .site-main (no .inside-article box), so we
   only need to drop the content container's width/padding and let the
   .alt/.deep bands break out to the viewport edges.
   Scoped to the two body classes — never touches header/footer/other pages.
   ============================================================ */
/* Applied to every bespoke /page-templates/ page + single posts via the
   `sb-fullbleed` body class (added by a body_class filter in functions.php) —
   so all bespoke pages behave identically with no per-template CSS edits. */
.sb-fullbleed #content,
.sb-fullbleed .content-area,
.sb-fullbleed .site-main {
	max-width: none;
	width: auto;
	padding-left: 0;
	padding-right: 0;
}
/* The GP header is NOT sticky/fixed on this site (verified in the served CSS),
   so scoping overflow-x to these page bodies safely absorbs the scrollbar-width
   overflow the break-out creates — without establishing a scroll container that
   could break a sticky element. (Header stays centred via .inside-header;
   footer via .wrap — neither is touched here.)

   ★ 2026-08-06 起这条只是**兜底**，不再是常态：断出多出来的 7.5px/侧 已由
   layout.css 的 `html { scrollbar-gutter: stable }` 从根上消除（见下方断出注释）。
   保留它是为了 Safari < 18.2 等不支持 scrollbar-gutter 的浏览器。
   注意它会顺带吞掉将来真正的横向溢出——查溢出时先临时关掉这条再量。 */
body.sb-fullbleed { overflow-x: hidden; }

/* colour bands run edge-to-edge regardless of the GP container width;
   their inner .wrap re-centres content to 1280, aligned with the cream sections.

   ★ `50vw` 与 `50%` 基准不同：vw 不含滚动条、% 按 .site-main 的可用宽算。
   没有 `html { scrollbar-gutter: stable }`（layout.css）时，有纵向滚动条的页面
   每侧会多断出 7.5px，全站横向溢出 7px。改这里前先读 layout.css 那条注释。 */
.sb-fullbleed .alt,
.sb-fullbleed .deep {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* GP separate-containers 给 .site-main 注入 margin:20px 0、区块间也留 20px 外边距。
   全宽营销页各区块自带内距，这些上下外边距会在区块之间、尤其深色段↔深色 Footer 之间
   漏出页面底色（#FAF7F2 浅缝）。只清上下外边距——保留上面的左右负边距（全宽断出靠它）。 */
.sb-fullbleed .site-main { margin-top: 0; margin-bottom: 0; }
.sb-fullbleed .site-main > * { margin-top: 0; margin-bottom: 0; }

/* ============================================================
   DEEP-INK "heavy moment" line (home worldview / membership 不作为成本)
   ============================================================ */
.deep-quote {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(34px, 4.6vw, 60px);
	line-height: 1.3;
	letter-spacing: 0;            /* CJK: never negative tracking */
	max-width: 20em;
	margin: 0 auto;
	color: var(--color-ink-inverse);
}

/* ============================================================
   TRUST EVIDENCE — 2×3 hairline grid (home, PRD 模块4A, placeholder)
   ============================================================ */
.evidence {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: var(--hairline);
	margin-top: var(--space-7);
}
.evidence__cell {
	display: block;
	padding: var(--space-6);
	border-bottom: var(--hairline);
	border-right: var(--hairline);
	text-decoration: none;
	color: inherit;
	transition: padding-left var(--dur-short) var(--ease-out-quart);
}
.evidence__cell:nth-child(3n) { border-right: 0; }
.evidence__cell:hover { padding-left: calc(var(--space-6) + 8px); }
.evidence__title { font-family: var(--font-display); font-size: 24px; color: var(--color-ink); margin-bottom: 10px; line-height: 1.2; }
.evidence__desc { font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; margin: 0 0 16px; }
.evidence__link { font-size: 13px; color: var(--color-accent-ink); letter-spacing: 0; }   /* CJK link: no positive tracking */
@media (max-width: 900px) {
	.evidence { grid-template-columns: 1fr; }
	.evidence__cell { border-right: 0; }
}

/* ============================================================
   7-DAY GUARANTEE — quiet hairline list (membership, PRD §11.13A)
   ============================================================ */
.guarantee {
	list-style: none;
	padding: 0;
	margin: var(--space-6) 0 0;
	max-width: 46em;
}
.guarantee li {
	padding: 13px 0;
	border-top: var(--hairline);
	font-size: 15px;
	color: var(--color-ink-mid);
	line-height: 1.6;
}

/* ============================================================
   EDITORIAL ROW VARIANTS — learn entries (trailing link) /
   product Volumes (label + trailing price). Base .ed-row is 56px 1fr.
   ============================================================ */
.ed-row--link { grid-template-columns: 56px 1fr auto; }
.ed-row--vol  { grid-template-columns: 120px 1fr auto; }
.ed-row__link { font-size: 14px; color: var(--color-accent-ink); letter-spacing: 0; align-self: center; white-space: nowrap; }
.ed-row__price { font-family: var(--font-display); font-size: 22px; color: var(--color-ink-mid); align-self: center; white-space: nowrap; }
@media (max-width: 900px) {
	.ed-row--link, .ed-row--vol { grid-template-columns: 1fr; gap: 10px; }
	.ed-row__link, .ed-row__price { margin-top: 6px; }
}

/* Centered serif aphorism on cream / alt ground (e.g. /products closing) */
.section-quote {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.3;
	letter-spacing: 0;
	max-width: 22em;
	margin: 0 auto var(--space-6);
	color: var(--color-ink);
}

/* ============================================================
   WOOCOMMERCE MY ACCOUNT — quiet-luxury "delivery center"
   (account page only — never the cart/checkout)
   ============================================================ */
.acct-head { margin-bottom: var(--space-7); }
/* Two-column (nav | content) only when the nav exists (logged in) — :has keeps
   the logged-out login form full-width, not squeezed into a column. */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--space-8);
	align-items: start;
}
/* ★ 三件主件钉死列（2026-09-19）。这张网格原来全靠自动排布：第一格其实被 WooCommerce 自带 woocommerce.css 的
   clearfix `.woocommerce-account .woocommerce::before{content:" ";display:table}` 占着（网格里伪元素也是网格项），
   页头才落进右格、导航左、内容右 —— 「正常」是碰巧的。任何多出来的直接子元素（原来挂在
   woocommerce_before_account_navigation 的通知条就是一个）都让后面整体错一格：导航跑右栏、控制台被挤进 220px 左栏。
   钉住之后，插进来的兄弟元素怎么排，导航都在左、内容都在右；正常情况下落位与原来完全一样。
   判据：tests/test-account-notice-layout.sh（无头 Chrome 真排版：1280 / 800 / 375 + 对照页）。 */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .acct-head,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 2; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: var(--hairline); }
.woocommerce-MyAccount-navigation li { border-bottom: var(--hairline); }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: 15px 0; font-size: 14px; letter-spacing: 0.04em;
	color: var(--color-ink-mid); text-decoration: none;
	transition: color var(--dur-hover) var(--ease-out-cubic), padding-left var(--dur-short) var(--ease-out-quart);
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a { color: var(--color-ink); }
.woocommerce-MyAccount-navigation li.is-active a { box-shadow: inset 2px 0 0 var(--color-accent); padding-left: 12px; }
/* ★ 复位 WooCommerce 自带的双列 float 布局（2026-08-10）。
   woocommerce-layout.css 写着：
       .woocommerce-MyAccount-navigation { float:left;  width:30% }
       .woocommerce-MyAccount-content    { float:right; width:68% }
   上面那条 grid 生效后 float 被忽略，但 **width 不会** —— 两个元素各自
   只占所在轨道的 30% / 68%。1440px 视口下主内容实测只剩约 540px，
   卡片挤成三窄列、左侧导航「破局启动」折行。
   grid 已经决定了列宽，这里必须把百分比宽度还原成 auto，否则两套布局各说各话。 */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p:first-child { color: var(--color-ink-mid); }
/* logged-out login form: centred, calm */
.woocommerce-account .woocommerce-form-login { max-width: 440px; border: 0; padding: 0; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { font-size: 13px; color: var(--color-ink-soft); }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: var(--space-6); }
	/* 单列时撤掉上面钉的列：grid-column:2 在单列网格里会凭空长出第二条隐式轨道 */
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .acct-head,
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: auto; }
}
/* ★ 团队席位面板（functions.php facesolo_seats_panel）：窄屏把三列表拆成每人一块（2026-09-15；BC-WP-2 T6 起是三列 ——
   「本周期已用」那一列删了，W-V01。规则与列数无关，没动）。
   375px 手机上「我的账户」内容列只有 313px，当时的四列表最窄也要 481px —— 邮箱只在连字符处断（168）、
   金额 nowrap（175）、按钮 nowrap（91）、父主题 GeneratePress 每格 padding 8px —— 整页被撑到 512px，
   每一行的「革除」「重发邀请」都在屏外，老板要横向滚动才点得到（2bd1814 记过同一类事故，5cb109f 又加了重发按钮）。
   拆开之后每人一块：邮箱（任意处可断）/ 状态 / 按钮各占一行，按钮离右边界还有一百多 px。
   断点 720px：再宽时内容列 ≥ 659px，表放得下（留足长邮箱的余量）；桌面照旧是表。
   td 上是内联的 padding / text-align，只能 !important 盖过去。
   判据：tests/test-seats-panel-375.sh（无头 Chrome 按 375×812 真排版：按钮左右边界、命中测试、整页横向溢出；1280 下仍是三列）。 */
@media (max-width: 720px) {
	.facesolo-seats__table, .facesolo-seats__table tbody, .facesolo-seats__table tr, .facesolo-seats__table td { display: block; }
	.facesolo-seats__table tr.facesolo-seats__head { display: none; }
	.facesolo-seats__table tr { padding: 10px 0; border-bottom: var(--hairline); }
	.facesolo-seats__table td { padding: 2px 0 !important; text-align: left !important; border: 0; }
	.facesolo-seats__table td:empty { display: none; }
	.facesolo-seats__table td:first-child { overflow-wrap: anywhere; }
}

/* ============================================================
   WOOCOMMERCE BLOCKS — cart / checkout quiet-luxury recolor.
   CSS-ONLY: square corners, hairlines, ink CTAs, no shadow/radius. Does NOT touch
   block structure, JS, or the Stripe payment iframe (left entirely to Stripe).
   Prices kept in Inter for legibility (§11 conversion clarity).
   ============================================================ */
/* strip rounded / shadowed chrome from block components */
.wc-block-components-panel,
.wc-block-cart-item__wrap,
.wc-block-components-order-summary,
.wc-block-checkout__main,
.wc-block-components-text-input input,
.wc-block-components-text-input,
.wc-block-components-select .wc-block-components-select__select,
.wc-block-components-quantity-selector,
.wc-block-components-address-card {
	border-radius: 0 !important;
	box-shadow: none !important;
}
/* fields → square + hairline; focus → ink */
.wc-block-components-text-input input,
.wc-block-components-select .wc-block-components-select__select {
	border: 1px solid var(--color-rule) !important;
	border-radius: 0 !important;
	background: transparent !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select .wc-block-components-select__select:focus {
	border-color: var(--color-ink) !important;
	outline: none !important;
	box-shadow: none !important;
}
/* primary CTAs (proceed to checkout / place order) → ink fill, square, wide caps */
.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--color-accent) !important;
	color: var(--color-bg) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-transform: uppercase;
	letter-spacing: var(--tracking-wider);
	font-weight: 500;
}
.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--color-accent-hover) !important; }
/* secondary / text buttons + accents → hairline ink / copper */
.wc-block-components-button.outlined { border: 1px solid var(--color-ink) !important; border-radius: 0 !important; color: var(--color-ink) !important; box-shadow: none !important; }
.wc-block-components-button.text,
.wc-block-components-totals-coupon-link,
.wc-block-cart__sidebar a { color: var(--color-accent-ink) !important; }
/* totals / line separators → hairline */
.wc-block-components-totals-item,
.wc-block-components-totals-wrapper,
.wc-block-cart-item__wrap { border-color: var(--color-rule) !important; }
.wc-block-components-totals-footer-item { border-top: var(--hairline) !important; }
.wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value { color: var(--color-ink); }

/* ============================================================
   HOME（Couture Cream 当前规范 · 对照 Hero.jsx + HomeSections.jsx）
   ============================================================ */
.center { text-align: center; }
.measure { max-width: 640px; margin-left: auto; margin-right: auto; }
.sec-sub { font-size: var(--text-lg); line-height: 1.5; color: var(--color-ink-mid); margin-top: var(--space-5); }
/* 居中 section 头部的 eyebrow kicker 与 h2 之间留气（仅 .center.measure 内，不触 hero/CTA 的 .center） */
.center.measure .eyebrow-cjk { margin-bottom: var(--space-3); }

/* Hero — 左文右图 */
.home-hero { padding-top: clamp(40px,6vw,96px); padding-bottom: clamp(40px,6vw,96px); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0,5.9fr) minmax(0,5.6fr); gap: clamp(40px,5.5vw,88px); align-items: center; }
.home-hero__grid > div:first-child { display: flex; flex-direction: column; align-items: flex-start; }
/* ============================================================
   首屏 HERO 重设计（design workflow 综合方案 · UX 最高）
   拆文字铜 token 达 AA · CTA 漏斗+可点反馈 · 信任行上提 · 铜发丝线锚点 · 图框装裱。
   全部 scope 在 .home-hero，其它页 hero 不受影响。
   ============================================================ */
.home-hero .slogan-kicker { font-size: 13px; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: var(--color-ink-mid); margin-bottom: 0; }
.home-hero__rule { width: 40px; height: 1px; background: var(--color-accent); margin: 14px 0 18px; }
.home-hero__title { font-family: var(--font-display); font-weight: 500; font-size: clamp(30px,4.2vw,52px); line-height: 1.12; letter-spacing: -0.01em; margin-top: 0; color: var(--color-ink); }
.home-hero .hero__sub { font-size: 18px; line-height: var(--leading-cjk-body); color: var(--color-ink-mid); max-width: 30em; margin: var(--space-4) 0 0; }
.home-hero__brand { font-family: var(--font-display); font-weight: 500; font-size: 22px; letter-spacing: 0.02em; line-height: 1.4; color: var(--color-accent-ink); margin-top: var(--space-6); }
.home-hero__cta-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-top: var(--space-6); }
.home-hero .cta-row { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; margin-top: 0; }
.home-hero .cta-row .btn-solid { border-radius: 7px !important; padding: 18px 34px; text-transform: none; letter-spacing: 0.01em; font-size: 15px; box-shadow: 0 1px 2px rgba(28,26,23,0.08); transition: transform var(--dur-fast) var(--ease-out-quart), box-shadow var(--dur-fast) var(--ease-out-quart), background-color var(--dur-hover) var(--ease-out-cubic); }
.home-hero .cta-row .btn-solid:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(28,26,23,0.12); }
.home-hero .cta-row .btn-solid:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(28,26,23,0.08); }
.home-hero .cta-row .link { font-size: 15px; color: var(--color-accent-ink); }
.home-hero .trust-row { display: flex; align-items: center; gap: var(--space-4); margin-top: 0; }
.home-hero .trust-row span { font-size: 14px; font-weight: 500; color: var(--color-ink-mid); }
.home-hero__img { border: var(--hairline-strong); border-radius: 8px; overflow: hidden; }
.home-hero__img img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; display: block; }
.avatars { display: flex; }
.avatars img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-bg); margin-left: -10px; }
.home-hero .avatars img { width: 36px; height: 36px; box-shadow: 0 0 0 1px var(--color-rule-strong); }
.avatars img:first-child { margin-left: 0; }
@media (max-width: 900px){ .home-hero__grid { grid-template-columns: 1fr; } }

/* ============================================================
   新规范全站推广（design rollout · UX 最高）
   营销 CTA 柔角可点（hero 同款）：a.btn-solid 命中全站所有锚点营销 CTA（订阅/查看/选择/下载…），
   零模板改动；精确避开表单提交键（<button>/<input>，保持方角配方形输入框）与 Woo 功能键
   （不用 .btn-solid）——交易/表单键保留方角=确定性语言。
   + 独立图框柔角装裱（呼应 hero __img 8px）。
   ============================================================ */
a.btn-solid { border-radius: 7px !important; text-transform: none; letter-spacing: 0.01em; font-size: 15px; box-shadow: 0 1px 2px rgba(28,26,23,0.08); transition: transform var(--dur-fast) var(--ease-out-quart), box-shadow var(--dur-fast) var(--ease-out-quart), background-color var(--dur-hover) var(--ease-out-cubic); }
a.btn-solid:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(28,26,23,0.12); }
a.btn-solid:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(28,26,23,0.08); }
.lhero__img, .s72-gains__img, .sp-buy__img { border-radius: 8px; }

/* C1 卡片 elevation：4 个独立边框卡极轻静止底影 + hover 浮起（box-shadow 入各自 transition 防瞬变；@media(hover:none) 各卡已有 transform:none 守门，静止底影移动端属预期） */
.pcard, .prodcard, .s72-why__card, .s72-day { box-shadow: 0 1px 2px rgba(28,26,23,0.06); transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic), box-shadow var(--dur-hover) var(--ease-out-cubic); }
.pcard:hover, .prodcard:hover, .s72-why__card:hover, .s72-day:hover { box-shadow: 0 6px 18px rgba(28,26,23,0.10); }
/* C4 卡片 CTA 链接静止发丝下划线（WCAG 1.4.1 非颜色可点线索）：!important 盖 base .link 的 text-decoration:none!important（style.css L111）；hover 透明化交回 ::after 铜色动画，避免双线 */
.pcard__cta .link, .s72-day__cta .link, .artcard__foot .link { text-decoration: underline !important; text-decoration-color: var(--color-rule-strong) !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pcard__cta .link:hover, .s72-day__cta .link:hover, .artcard__foot .link:hover { text-decoration-color: transparent !important; }

/* 72h 序号序列 — 5 列 */
.seq { display: grid; grid-template-columns: repeat(5,1fr); gap: var(--space-6); margin-top: var(--space-8); }
.seq__n { font-family: var(--font-display); font-weight: 400; font-size: clamp(40px,4vw,56px); color: var(--color-accent); line-height: 1; margin-bottom: var(--space-4); }
.seq__t { font-family: var(--font-body); font-weight: 500; font-size: 15px; letter-spacing: 0.6em; /* B12：原以全角空格撑距，改纯 tracking */ margin-bottom: var(--space-2); color: var(--color-ink); white-space: nowrap; text-indent: 0.6em; /* 抵消末字符 tracking 造成的视觉偏左 */ }
/* 三态徽章（2026-07-20）：已上线=金棕实底 / 试点中=描边 / 规划中=灰。标题只留 4 字，字距撑得住。 */
.seq__s { display: inline-block; font-size: 11px; letter-spacing: 0.2em; text-indent: 0.2em; padding: 3px 10px 2px; border-radius: 999px; margin-bottom: var(--space-3); line-height: 1.6; }
.seq__s--live { background: var(--color-accent); color: var(--color-paper, #faf6ef); }
.seq__s--pilot { border: 1px solid var(--color-accent); color: var(--color-accent); }
.seq__s--plan { border: 1px solid var(--color-ink-faint, #c9c2b6); color: var(--color-ink-mid); }
.seq__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; }
@media (max-width: 900px){ .seq { grid-template-columns: 1fr 1fr; gap: var(--space-6); } }

/* 卡片网格 — 共用外框 + 内部发丝线（痛点 4 / 角色 5） */
.cardgrid { display: grid; border: var(--hairline); margin-top: var(--space-8); }
.cardgrid--4 { grid-template-columns: repeat(4,1fr); }
.cardgrid--5 { grid-template-columns: repeat(5,1fr); }
.cardgrid > .cell { padding: var(--space-6); border-left: var(--hairline); display: flex; flex-direction: column; }
.cardgrid > .cell:first-child { border-left: none; }
.cell__icon { color: var(--color-accent); margin-bottom: var(--space-4); }
.cell__t { font-family: var(--font-body); font-weight: 500; font-size: 18px; line-height: 1.4; margin-bottom: var(--space-3); color: var(--color-ink); }
.cell__t--sm { font-size: 18px; }
.cell__d { font-size: var(--text-sm); color: var(--color-ink-mid); line-height: 1.8; flex: 1; }
.cell__link { margin-top: var(--space-5); }
@media (max-width: 900px){
  .cardgrid--4, .cardgrid--5 { grid-template-columns: 1fr; }
  .cardgrid > .cell { border-left: none; border-top: var(--hairline); }
  .cardgrid > .cell:first-child { border-top: none; }
}

/* 做三件事 band */
.three { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: clamp(32px,5vw,80px); align-items: start; }
.three__cols { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-6); }
.three__t { font-family: var(--font-body); font-weight: 500; font-size: 18px; margin: var(--space-4) 0 var(--space-2); color: var(--color-ink); }
.three__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.65; }
@media (max-width: 900px){ .three { grid-template-columns: 1fr; } .three__cols { grid-template-columns: 1fr; } }

/* 五星证言 — 4 列 */
.tcell .stars { color: var(--color-accent); letter-spacing: 2px; font-size: 15px; }
.tcell__q { font-size: 15px; color: var(--color-ink); line-height: 1.7; margin: var(--space-4) 0 var(--space-5); }
.tcell__by { font-size: 13px; color: var(--color-ink-mid); } /* AA：证言署名 */

/* 灰度工具 logo 行 */
.toollogos { display: flex; flex-wrap: wrap; gap: clamp(20px,4vw,48px); align-items: center; justify-content: center; filter: grayscale(1); opacity: .6; margin-top: var(--space-8); }
.toollogos span { font-family: var(--font-body); font-weight: 600; font-size: 17px; color: var(--color-ink); }

/* 产品网格 — 6 项 3 列 objet/材质卡 */
.prodgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-6); margin-top: var(--space-8); }
.prodcard { border: var(--hairline); background: var(--color-bg); }
.prodcard__imgwrap { overflow: hidden; border-bottom: var(--hairline); }
.prodcard__imgwrap img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform var(--dur-cinema) var(--ease-out-expo); }
.prodcard:hover .prodcard__imgwrap img { transform: scale(1.04); }
.prodcard__body { padding: var(--space-5); }
.prodcard__t { font-family: var(--font-body); font-weight: 500; font-size: 18px; margin-bottom: var(--space-2); color: var(--color-ink); }
.prodcard__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.8; margin-bottom: var(--space-4); }
@media (max-width: 900px){ .prodgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .prodgrid { grid-template-columns: 1fr; } }

/* ============================================================
   MEMBERSHIP（对照 Membership.jsx 10 段）
   .deep/.alt/.section/.wrap 提供底色与全宽断出；以下只补排版与网格。
   ============================================================ */
.mhero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(38px,5vw,72px); line-height: 1.2; letter-spacing: 0; margin-top: var(--space-5); text-wrap: balance; }
.mhero__lead { font-size: 18px; color: rgba(244,234,222,0.72); max-width: 620px; margin: var(--space-5) auto 0; line-height: 1.8; }
.mhero__note { font-size: 13px; color: rgba(244,234,222,0.5); margin-top: var(--space-5); }
.mbundle { font-family: var(--font-display); font-size: clamp(22px,2.6vw,30px); line-height: 1.5; color: var(--color-ink); text-align: center; max-width: 760px; margin: 0 auto; }

.mplans { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-6); margin-top: var(--space-8); align-items: stretch; }
.mplan { border: var(--hairline-strong); background: var(--color-bg); padding: var(--space-6); display: flex; flex-direction: column; }
.mplan--feat { border-top: 2px solid var(--color-accent); background: var(--color-bg-alt); }
.mplan__tag { font-family: var(--font-body); font-weight: 500; font-size: 13px; letter-spacing: 0.3em; color: var(--color-ink-soft); }
.mplan--feat .mplan__tag { color: var(--color-accent-ink); }
.mplan__name { font-family: var(--font-display); font-weight: 500; font-size: 32px; margin-top: var(--space-3); }
.mplan__price { display: flex; align-items: baseline; gap: var(--space-2); margin-top: var(--space-4); }
.mplan__price b { font-family: var(--font-display); font-size: 56px; font-weight: 400; line-height: 1; }
.mplan__price span { font-size: 14px; color: var(--color-ink-soft); }
.mplan__strength { font-size: 12.5px; color: var(--color-accent-ink); margin-top: var(--space-3); line-height: 1.6; }
.mplan__blurb { font-size: 14px; color: var(--color-ink-mid); margin-top: var(--space-4); line-height: 1.7; }
.mplan__feats { list-style: none; margin: var(--space-5) 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); flex: 1; }
.mplan__feats li { display: flex; gap: 10px; font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; }
.mplan__feats .sb-icon { flex-shrink: 0; margin-top: 2px; }
.mplan .btn { width: 100%; justify-content: center; text-align: center; }
.mplans__note { text-align: center; margin: var(--space-6) auto 0; font-size: 14px; color: var(--color-ink-soft); max-width: 640px; }
@media (max-width: 900px){ .mplans { grid-template-columns: 1fr; } }

.mcompare__wrap { overflow-x: auto; margin-top: var(--space-8); }
.mcompare { width: 100%; border-collapse: collapse; border: var(--hairline); min-width: 560px; }
.mcompare th, .mcompare td { padding: var(--space-4) var(--space-5); border-bottom: var(--hairline); font-size: 14.5px; text-align: center; }
.mcompare thead th { font-family: var(--font-display); font-weight: 400; font-size: 22px; color: var(--color-ink); }
.mcompare thead th.feat { background: var(--color-bg-alt); border-top: 2px solid var(--color-accent); }
.mcompare td.feat { background: var(--color-bg-alt); }
.mcompare tbody td:first-child, .mcompare thead th:first-child { text-align: left; }
.mcompare tbody td:first-child { color: var(--color-ink-mid); }
.mcompare .flag { font-family: var(--font-body); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; color: var(--color-accent-ink); margin-top: 4px; }
.mcompare .dash { color: var(--color-ink-soft); }
.mcompare__note { font-size: 13px; color: var(--color-ink-soft); margin-top: var(--space-5); max-width: 720px; line-height: 1.7; }

.mfits { display: grid; grid-template-columns: repeat(3,1fr); border: var(--hairline); margin-top: var(--space-8); }
.mfits > div { padding: var(--space-6); border-left: var(--hairline); display: flex; flex-direction: column; }
.mfits > div:first-child { border-left: none; }
.mfits__t { font-family: var(--font-display); font-weight: 500; font-size: 24px; margin-bottom: var(--space-4); }
.mfits ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); flex: 1; }
.mfits li { display: flex; gap: 9px; font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; }
.mfits__concl { font-size: 13.5px; color: var(--color-ink); border-top: var(--hairline); margin-top: var(--space-5); padding-top: var(--space-4); line-height: 1.6; }
@media (max-width: 900px){ .mfits { grid-template-columns: 1fr; } .mfits > div { border-left: none; border-top: var(--hairline); } .mfits > div:first-child { border-top: none; } }

.mreasons { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-6); margin-top: var(--space-8); }
.mreason__n { font-family: var(--font-display); font-weight: 400; font-size: 40px; color: var(--color-accent); line-height: 1; margin-bottom: var(--space-3); }
.mreason__t { font-weight: 500; font-size: 18px; margin-bottom: var(--space-2); }
.mreason__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; }
@media (max-width: 900px){ .mreasons { grid-template-columns: 1fr; } }

.mget { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: start; }
.mentries { border: var(--hairline); list-style: none; margin: 0; padding: 0; }
.mentries li { display: flex; align-items: center; gap: 12px; padding: var(--space-4) var(--space-5); border-top: var(--hairline); font-size: 15px; color: var(--color-ink); }
.mentries li:first-child { border-top: none; }
@media (max-width: 900px){ .mget { grid-template-columns: 1fr; } }

/* FAQ — 原生 details/summary（无需 JS），发丝线 + 铜色 +/− */
.faq { max-width: 820px; margin: var(--space-8) auto 0; border: var(--hairline); border-bottom: none; }
.faq details { border-bottom: var(--hairline); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: var(--space-5) var(--space-6); cursor: pointer; list-style: none; font-family: var(--font-body); font-weight: 500; font-size: 16px; color: var(--color-ink); }
.faq summary::-webkit-details-marker { display: none; }
/* 记号的替代文本为空（content 后半的 / ''）：读屏不把「加号 / 减号」念进问题里；先写一遍不带的给老浏览器（第 22 轮 site-trim v2 C1-12） */
.faq summary::after { content: '+'; content: '+' / ''; color: var(--color-accent); font-size: 22px; line-height: 1; flex-shrink: 0; }
.faq details[open] summary::after { content: '\2212'; content: '\2212' / ''; }
.faq__a { padding: 0 var(--space-6) var(--space-5); font-size: 14.5px; color: var(--color-ink-mid); line-height: 1.8; max-width: 680px; }

.mcta__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(30px,4vw,56px); color: var(--color-ink-inverse); text-wrap: balance; }
.mcta__sub { font-size: 17px; color: rgba(244,234,222,0.7); margin-top: var(--space-5); }
.mcta__note { font-size: 13px; color: rgba(244,234,222,0.5); margin-top: var(--space-5); }

/* ============================================================
   结构线加深（用户反馈：会员卡片分割线 / 对比表线太淡）
   用 --color-rule-strong（#C9BBA0）替代极淡的 --color-rule。
   ============================================================ */
.mcompare, .mfits, .mentries { border-color: var(--color-rule-strong); }
.mcompare th, .mcompare td { border-bottom-color: var(--color-rule-strong); }
.mfits > div { border-left-color: var(--color-rule-strong); }
.mentries li { border-top-color: var(--color-rule-strong); }
@media (max-width: 900px){ .mfits > div { border-top-color: var(--color-rule-strong); } }
/* 首页卡片网格同步加深，保持一致 */
.cardgrid { border-color: var(--color-rule-strong); }
.cardgrid > .cell { border-left-color: var(--color-rule-strong); }
@media (max-width: 900px){ .cardgrid > .cell { border-top-color: var(--color-rule-strong); border-left-color: transparent; } }

/* ============================================================
   GLOBAL FOOTER（深色 · 顶部 Newsletter + 4 列 + 社交 + 版权）
   ============================================================ */
.site-foot { background: var(--color-bg-deep); color: var(--color-ink-inverse); padding: clamp(48px,6vw,80px) 0 var(--space-7); }
.foot-news { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: clamp(24px,5vw,64px); align-items: center; }
.foot-news__desc { color: rgba(244,234,222,0.62); font-size: 14px; line-height: 1.7; margin-top: var(--space-3); max-width: 34em; }
.foot-news__form { display: flex; }
.foot-news__err { color: var(--color-ink-inverse); font-size: 13.5px; margin: 0 0 var(--space-3); }
.foot-news__input { flex: 1; min-width: 0; border: 1px solid rgba(244,234,222,0.45) /* AA 非文本 3:1 */; border-right: none; background: transparent; color: var(--color-ink-inverse); padding: 0 16px; height: 52px; font-family: var(--font-body); font-size: 15px; outline: none; }
.foot-news__input::placeholder { color: rgba(244,234,222,0.62); } /* AA：对齐同区块 desc 既有透明度 */
.foot-news__form .btn { height: 52px; flex-shrink: 0; }
.foot-sep { border-top: 1px solid rgba(244,234,222,0.14); margin: clamp(40px,5vw,64px) 0; }
.foot-grid { display: grid; grid-template-columns: 1.6fr repeat(4,1fr); gap: var(--space-6); }
.foot-brand__line { color: rgba(244,234,222,0.6); font-size: 14px; line-height: 1.7; margin-top: var(--space-4); max-width: 22em; }
.foot-social { display: flex; gap: var(--space-4); margin-top: var(--space-5); color: var(--color-accent); }
.foot-col .foot-col__t { font-family: var(--font-body); font-size: 13px; font-weight: 500; letter-spacing: 0.2em; color: var(--color-ink-inverse); margin: 0 0 var(--space-4); }
.foot-col a { display: block; font-size: 13.5px; color: rgba(244,234,222,0.6); text-decoration: none; padding: 5px 0; transition: color var(--dur-hover) var(--ease-out-cubic); }
.foot-col a:hover { color: var(--color-ink-inverse); }
.foot-fine { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid rgba(244,234,222,0.12); margin-top: var(--space-7); padding-top: var(--space-5); font-size: 12.5px; color: rgba(244,234,222,0.45); }
@media (max-width: 900px){ .foot-news { grid-template-columns: 1fr; } .foot-grid { grid-template-columns: 1fr 1fr; gap: var(--space-6) var(--space-5); } }
@media (max-width: 560px){ .foot-grid { grid-template-columns: 1fr; } }

/* ============================================================
   品牌 Slogan「让企业用 AI 少花钱多产出 / Enterprise AI, less cost more output」
   Footer 中英签名（slogan 的家）+ cream Hero 顶部英文 kicker。
   铜色单强调 · 大写宽字距 label · 方角无阴影。
   ============================================================ */
.slogan-kicker { font-family: var(--font-display); font-size: 12px; font-weight: 500; letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--color-accent); margin-bottom: var(--space-3); }
.foot-slogan { font-family: var(--font-display); font-size: 21px; color: var(--color-accent); margin-top: var(--space-4); line-height: 1.4; }
.foot-slogan__en { font-family: var(--font-display); font-size: 11px; font-weight: 500; letter-spacing: var(--tracking-widest); text-transform: uppercase; color: rgba(244,234,222,0.6); margin-top: var(--space-2); }

/* 做三件事 —— 居中三列（替代旧的左右不对称布局，更整齐） */
.threecols { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-7); margin-top: var(--space-8); }
.threecol { text-align: center; text-decoration: none; color: inherit; display: block; }
.threecol .cell__icon { display: flex; justify-content: center; margin-bottom: var(--space-4); }
.threecol__t { font-family: var(--font-body); font-weight: 500; font-size: 18px; margin-bottom: var(--space-2); color: var(--color-ink); }
.threecol__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.65; max-width: 22em; margin: 0 auto; }
@media (max-width: 900px){ .threecols { grid-template-columns: 1fr; gap: var(--space-6); } }

/* ============================================================
   卡片悬停微动效（克制版）—— 铜色图标轻弹 + 卡片上浮 4px + 边框转铜。
   不做"整卡内容缩放"（糊字、偏离扁平克制铁律）；250ms premium-SaaS 区间。
   ============================================================ */
.sb-icon { transition: transform var(--dur-hover) var(--ease-out-cubic); }
.threecol,
.prodcard { transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
/* 独立卡（做三件事 / 产品）才上浮——它们各自有完整边框，不破共享分割线 */
.threecol:hover,
.prodcard:hover { transform: translateY(-4px); }
.prodcard:hover { border-color: var(--color-accent); }
/* 全部图标卡：hover 铜色图标轻弹（网格卡只做这个，避免共享边线错位）*/
.cardgrid > .cell:hover .sb-icon,
.threecol:hover .sb-icon,
.prodcard:hover .sb-icon { transform: scale(1.14); }
/* 触屏无 hover：不做位移 */
@media (hover: none) {
	.threecol:hover, .prodcard:hover { transform: none; }
}

/* 72h 序列：列内容居中 + hover（用户要求 01–05 也有动效）。
   只 transform 铜色数字 .seq__n——序列项本身是 .reveal，直接 transform 会冲掉淡入。 */
.seq > div { text-align: center; }
.seq__n { transition: transform var(--dur-hover) var(--ease-out-cubic); }
.seq > div:hover .seq__n { transform: translateY(-4px) scale(1.08); }

/* ============================================================
   网格卡（痛点/角色/证言）改为"独立完整边框卡 + 间隙"，
   以支持完整 hover：上浮 4px + 边框转铜 + 铜色图标轻弹（250ms）。
   覆盖前面"共用外框 + 内部发丝线"的旧规则。
   ============================================================ */
.cardgrid { border: none !important; gap: var(--space-4); }
.cardgrid > .cell {
	border: var(--hairline-strong) !important;
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic);
}
.cardgrid > .cell:hover { transform: translateY(-4px); border-color: var(--color-accent) !important; }
@media (max-width: 900px) { .cardgrid > .cell { border: var(--hairline-strong) !important; } }
@media (hover: none) { .cardgrid > .cell:hover { transform: none; } }

/* ============================================================
   PRODUCTS（对照 Products.jsx · §5.2 覆盖）
   开篇居中 + 6 张独立边框卡（16px 间隙）+ 深色打包 CTA（复用 .mcta__*）。
   卡片 hover：上浮 4px + 边框转铜 + 图片轻放大（图标卡用 .cardgrid 规则，
   产品卡有图无单一图标——动效落在图片上，与首页 .prodcard 一致）。
   ============================================================ */
/* 1 · 开篇（cream · 居中 · LCP） */
.phero { text-align: center; padding-top: clamp(56px,7vw,104px); padding-bottom: clamp(40px,5vw,56px); }
.phero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(34px,4.8vw,62px);
	line-height: 1.2; letter-spacing: 0; color: var(--color-ink); margin: var(--space-5) auto 0; max-width: 17em; text-wrap: balance; }
.phero__sub { font-size: var(--text-lg); line-height: 1.55; color: var(--color-ink-mid);
	margin: var(--space-5) auto 0; max-width: 680px; }

/* 2 · 产品矩阵 — 6 张独立边框卡 */
.pgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin-top: var(--space-8); align-items: stretch; }
.pcard { display: flex; flex-direction: column; background: var(--color-bg); border: var(--hairline-strong);
	color: inherit; text-decoration: none;
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
.pcard:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.pcard--feat { border-top: 2px solid var(--color-accent); }
.pcard__imgwrap { overflow: hidden; border-bottom: var(--hairline-strong); }
.pcard__imgwrap img { width: 100%; height: 200px; object-fit: cover; display: block; transition: transform var(--dur-cinema) var(--ease-out-expo); }
.pcard:hover .pcard__imgwrap img { transform: scale(1.04); }
.pcard__body { display: flex; flex-direction: column; flex: 1; padding: var(--space-6); }
.pcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: var(--space-3); }
.pcard__tag { font-family: var(--font-body); font-weight: 500; font-size: 12px; letter-spacing: var(--tracking-cjk-label); color: var(--color-ink-soft); }
.pcard__price { font-family: var(--font-display); font-weight: 500; font-size: 22px; color: var(--color-accent-ink); white-space: nowrap; }
.pcard__name { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 1.25; color: var(--color-ink); }
.pcard__desc { font-size: 14px; color: var(--color-ink-mid); line-height: 1.75; margin: var(--space-3) 0 var(--space-5); }
.pcard__feats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.pcard__feats li { display: flex; gap: 9px; font-size: 13.5px; color: var(--color-ink-mid); line-height: 1.5; }
.pcard__feats .sb-icon { flex-shrink: 0; margin-top: 2px; }
.pcard__cta { margin-top: var(--space-5); }
.pcard__cta .link { font-size: 13px; color: var(--color-accent-ink); }
@media (max-width: 900px){ .pgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .pgrid { grid-template-columns: 1fr; } }
@media (hover: none){ .pcard:hover { transform: none; } }

/* ============================================================
   CHECKOUT 闭环 Phase 2 —— Thank-You 品牌化 + 沉浸式结账（§24.11 / §27D.3/4）
   ============================================================ */
/* Thank-You：隐藏默认「订单已收到」文案，注入品牌头部（订单详情/概览保留） */
.woocommerce-thankyou-order-received { display: none !important; }
.sb-ty { text-align: center; padding: clamp(24px,4vw,56px) 0 var(--space-7); border-bottom: var(--hairline-strong); margin-bottom: var(--space-7); }
.sb-ty__badge { display: flex; justify-content: center; margin-bottom: var(--space-4); }
.sb-ty__badge .sb-icon { color: var(--color-accent); }
/* 失败/取消变体（审计 TY-07）：徽标改中性墨色（非成功铜色），其余排版沿用 .sb-ty */
.sb-ty--failed .sb-ty__badge .sb-icon { color: var(--color-ink-soft); }
.sb-ty__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px,3.6vw,48px); line-height: 1.2; letter-spacing: 0; color: var(--color-ink); margin: 0; text-wrap: balance; word-break: keep-all; }
.sb-ty__welcome { font-family: var(--font-display); font-weight: 500; font-size: clamp(18px,2vw,24px); line-height: 1.3; letter-spacing: 0; color: var(--color-ink-mid); margin: var(--space-3) 0 0; text-wrap: balance; }
.sb-ty__sub { font-size: var(--text-lg); line-height: 1.6; color: var(--color-ink-mid); margin: var(--space-4) auto 0; max-width: 540px; }
.sb-ty__cta { justify-content: center; margin-top: var(--space-6); }

/* 沉浸式结账/购物车：封闭漏斗——隐藏主导航（留 logo 可点回首页），Footer 法律链接保留 */
.woocommerce-checkout .main-navigation,
.woocommerce-cart .main-navigation { display: none !important; }
/* 隐藏 WooCommerce 默认页面标题（结账「结账」/ 收货「已收到订单」）——
   收货页由 .sb-ty 品牌头部充当标题，避免重复；结账表单走极简无标题。 */
.woocommerce-checkout .entry-header { display: none !important; }

/* 结账信任条（the_content 注入于表单下方，区块外、水合不丢） */
.sb-trustbar { border-top: var(--hairline-strong); margin-top: var(--space-7); padding-top: var(--space-6); }
.sb-trustbar__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-7); justify-content: center; }
.sb-trustbar__list li { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--color-ink-mid); }
.sb-trustbar__list .sb-icon { flex-shrink: 0; }
.sb-trustbar__safe { text-align: center; font-size: 13px; color: var(--color-ink-soft); line-height: 1.7; margin: var(--space-5) auto 0; max-width: 40em; }
@media (max-width: 640px){ .sb-trustbar__list { flex-direction: column; align-items: center; gap: var(--space-3); } }

/* 沉浸式漏斗逃生条（审计 FUNNEL-06）—— wp_body_open 注入于 <body> 顶部，
   隐藏主导航后提供就近的「返回购物车/继续购物」「退款与撤回权政策」「需要帮助」出口。
   sticky 顶贴，中段滚动也够得到（直击移动端困局）；漏斗已隐藏 .main-navigation，不与导航重叠。
   选择器作用在 div/a 上（非 p/h*），避免 :lang(zh) 单 class lh/ls 覆盖陷阱。 */
.sb-escape { position: sticky; top: 0; z-index: 40; background: var(--color-bg-alt); border-bottom: var(--hairline-strong); }
.sb-escape__inner { max-width: var(--container, 1200px); margin: 0 auto; padding: 10px var(--space-5); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.sb-escape__back { display: inline-flex; align-items: center; gap: 7px; font-size: var(--text-sm); font-weight: 500; color: var(--color-ink-mid); text-decoration: none; line-height: 1.4; letter-spacing: 0; }
.sb-escape__back:hover { color: var(--color-accent-ink); }
.sb-escape__arrow { font-size: 16px; line-height: 1; }
.sb-escape__aux { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; }
.sb-escape__link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--color-ink-soft); text-decoration: none; line-height: 1.4; letter-spacing: 0; }
.sb-escape__link:hover { color: var(--color-accent-ink); }
.sb-escape__link .sb-icon { flex-shrink: 0; }
@media (max-width: 560px){
	.sb-escape__inner { padding: 9px var(--space-4); gap: var(--space-3); }
	.sb-escape__aux { gap: var(--space-4); width: 100%; justify-content: flex-start; }
	.sb-escape__link span { font-size: 12px; }
}

/* ============================================================
   SINGLE PRODUCT（§8.3 · 对照 Commerce.jsx ProductView）
   Pro 订阅与单品共用；内容宽度内布局（非全宽断出），发丝线/边框分隔。
   ============================================================ */
.single-product .woocommerce-breadcrumb { display: none; } /* 用下方 .sp-crumb 取代 WC 默认面包屑 */
.sp-crumb { font-size: 13px; color: var(--color-ink-soft); padding-top: var(--space-6); }
.sp-crumb a { color: var(--color-ink-mid); text-decoration: none; }
.sp-crumb a:hover { color: var(--color-accent); }
.sp-crumb__sep { margin: 0 8px; color: var(--color-rule-strong); }

/* 1 · 标题 + 购买盒 */
.sp-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,0.9fr); gap: clamp(32px,5vw,72px); align-items: start; }
.sp-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(32px,4.4vw,58px); line-height: 1.18; letter-spacing: 0; color: var(--color-ink); margin: var(--space-4) 0 0; }
.sp-short { font-family: var(--font-display); letter-spacing: 0.03em; font-size: clamp(20px,2.4vw,26px); color: var(--color-accent); margin: var(--space-4) 0 0; line-height: 1.4; }
.sp-hero .lead { margin-top: var(--space-5); max-width: 540px; }
.sp-body { margin-top: var(--space-5); font-size: 15.5px; color: var(--color-ink-mid); line-height: 1.9; }
.sp-buy { border: var(--hairline-strong); background: var(--color-bg-alt); padding: var(--space-6); position: sticky; top: 24px; }
.sp-buy--feat { border-top: 2px solid var(--color-accent); }
.sp-buy__img { border: var(--hairline-strong); overflow: hidden; margin-bottom: var(--space-5); }
.sp-buy__img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.sp-price { display: flex; align-items: baseline; gap: 8px; }
.sp-price b { font-family: var(--font-display); font-weight: 400; font-size: 56px; line-height: 1; color: var(--color-ink); }
.sp-price span { font-size: 14px; color: var(--color-ink-soft); }
.sp-buy__note { font-size: 13px; color: var(--color-ink-soft); margin-top: var(--space-3); }
.sp-buy__rights { list-style: none; margin: var(--space-5) 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.sp-buy__rights li { display: flex; gap: 10px; font-size: 14px; color: var(--color-ink-mid); line-height: 1.5; }
.sp-buy__rights .sb-icon { flex-shrink: 0; margin-top: 2px; }
.sp-buy__cart .quantity { display: none !important; }
.sp-buy__cart .single_add_to_cart_button { display: flex; width: 100%; justify-content: center; align-items: center; height: 52px; line-height: 1;
	background: var(--color-accent) !important; color: var(--color-bg) !important; border-color: var(--color-accent) !important; }
.sp-buy__cart .single_add_to_cart_button:hover { background: var(--color-accent-hover) !important; border-color: var(--color-accent-hover) !important; }
.sp-buy__guar { font-size: 12px; color: var(--color-ink-soft); margin-top: var(--space-3); text-align: center; }
.sp-buy__unavail { display: flex; gap: 10px; align-items: flex-start; margin-top: var(--space-5); padding: var(--space-4) var(--space-5); border: var(--hairline-strong); background: var(--color-bg-alt); font-size: 13px; color: var(--color-ink-mid); line-height: 1.6; }
.sp-buy__unavail .sb-icon { flex-shrink: 0; margin-top: 3px; color: var(--color-ink-soft); }

/* 2 · 包含权益 / 你会读到 */
.sp-rights { list-style: none; margin: var(--space-7) 0 0; padding: 0; border: var(--hairline-strong); display: grid; grid-template-columns: 1fr 1fr; }
.sp-rights li { display: flex; gap: 12px; align-items: center; padding: var(--space-4) var(--space-6); font-size: 15px; color: var(--color-ink); line-height: 1.5; border-top: var(--hairline-strong); }
.sp-rights li:nth-child(odd) { border-right: var(--hairline-strong); }
.sp-rights li:nth-child(odd):last-child { border-right: none; } /* SP-06：奇数条权益末行左格独占，收掉右侧悬空发丝竖线 */
.sp-rights li:nth-child(1), .sp-rights li:nth-child(2) { border-top: none; }
.sp-rights .sb-icon { flex-shrink: 0; }
.sp-anchor { font-family: var(--font-display); font-size: clamp(18px,2.2vw,24px); color: var(--color-ink); margin: var(--space-7) auto 0; max-width: 760px; line-height: 1.6; text-align: center; }
.sp-strength { font-size: 14px; color: var(--color-ink-mid); margin: var(--space-5) auto 0; background: var(--color-bg-alt); border: var(--hairline-strong); padding: var(--space-4) var(--space-5); line-height: 1.7; max-width: 760px; }

/* 3 · 5 分钟内 + 适合谁 */
.sp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,72px); }
.sp-colh { font-family: var(--font-display); font-weight: 500; font-size: 26px; margin: 0 0 var(--space-5); color: var(--color-ink); }
.sp-five, .sp-fits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.sp-five li { display: flex; gap: 14px; font-size: 15px; color: var(--color-ink); align-items: baseline; line-height: 1.5; }
.sp-five__n { font-family: var(--font-mono); font-size: 12px; color: var(--color-accent-ink); flex-shrink: 0; }
.sp-fits li { display: flex; gap: 12px; font-size: 15px; color: var(--color-ink-mid); line-height: 1.5; }
.sp-fits .sb-icon { flex-shrink: 0; margin-top: 2px; }

/* 4 · 单品的 Pro 引导 */
.sp-proguide { border: var(--hairline-strong); background: var(--color-bg-alt); padding: clamp(28px,4vw,56px); text-align: center; }
.sp-proguide__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(24px,3vw,36px); margin: var(--space-3) 0 0; color: var(--color-ink); }
.sp-proguide__p { font-size: 15px; color: var(--color-ink-mid); line-height: 1.8; max-width: 600px; margin: var(--space-4) auto 0; }

@media (max-width: 900px){
	/* SP-03：移动端塌成单列时改 flex 列向并把购买盒上移到长正文之前，让价格+加购 CTA 进首屏（桌面仍走 line 585 的 grid 两栏，order 仅在此 flex 上下文生效）。 */
	.sp-hero { display: flex; flex-direction: column; gap: var(--space-6); }
	.sp-buy { position: static; order: -1; }
	.sp-cols { grid-template-columns: 1fr; gap: var(--space-7); }
}
@media (max-width: 560px){
	.sp-rights { grid-template-columns: 1fr; }
	.sp-rights li:nth-child(odd) { border-right: none; }
	.sp-rights li:nth-child(2) { border-top: var(--hairline-strong); }
}

/* ============================================================
   72 小时破局训练（/learn/72-hour-breakthrough · 对照 SeventyTwo.jsx）
   Hero 左文右作战地图 · 为什么是72h 编号卡 · 三天交替图文行 · 你会得到 2栏 · FAQ · 深色CTA。
   §5.2 覆盖：标题思源黑；卡片独立强边框（#C9BBA0）+ hover 上浮4px·边框转铜（250ms）。
   复用 .actcard/.actrow/.actcard__foot/.section-quote/.faq/.mcta__*/.sp-crumb。
   ============================================================ */
/* 1 · Hero —— 左文（1.05fr）/ 右作战地图卡（1fr） */
.s72-hero { padding-top: clamp(40px,6vw,88px); padding-bottom: clamp(40px,6vw,88px); }
.s72-hero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.s72-hero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(40px,5.2vw,72px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
.s72-hero .hero__sub { margin-top: var(--space-5); }
.s72-hero .cta-note { max-width: 30em; }
/* 作战地图卡（复用 .actcard 边框/内距，置 alt 底 + 加宽 Day 编号 + 行文字加重） */
.s72-map { background: var(--color-bg-alt); border-color: var(--color-rule-strong); }
.s72-map__label { margin-bottom: var(--space-5); }
.s72-map .actrow__n { font-family: var(--font-display); font-weight: 400; font-size: 22px; color: var(--color-accent); width: auto; min-width: 84px; white-space: nowrap; }
.s72-map .actrow__t { font-size: 16px; font-weight: 500; color: var(--color-ink); }
@media (max-width: 900px){ .s72-hero__grid { grid-template-columns: 1fr; } }

/* 2 · 为什么是 72 小时 —— 3 编号卡（独立强边框 + hover 上浮/转铜） */
.s72-why { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin-top: var(--space-8); }
.s72-why__card { border: var(--hairline-strong); background: var(--color-bg); padding: var(--space-6);
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
.s72-why__card:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.s72-why__n { font-family: var(--font-display); font-weight: 400; font-size: 40px; color: var(--color-accent); line-height: 1; margin-bottom: var(--space-3); }
.s72-why__t { font-family: var(--font-body); font-weight: 500; font-size: 18px; line-height: 1.3; margin-bottom: var(--space-2); color: var(--color-ink); }
.s72-why__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.8; margin: 0; }
@media (max-width: 900px){ .s72-why { grid-template-columns: 1fr; } }
@media (hover: none){ .s72-why__card:hover { transform: none; } }

/* 3 · 三天 —— 交替图文行（整行强边框卡 + hover 上浮/转铜 + 图轻放大） */
.s72-days { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-8); }
.s72-day { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); align-items: stretch; border: var(--hairline-strong); overflow: hidden;
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
.s72-day:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.s72-day__img { overflow: hidden; }
.s72-day__img img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; transition: transform var(--dur-cinema) var(--ease-out-expo); }
.s72-day:hover .s72-day__img img { transform: scale(1.04); }
.s72-day__body { padding: clamp(24px,4vw,48px); display: flex; flex-direction: column; justify-content: center; }
.s72-day__head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.s72-day__d { font-family: var(--font-display); font-weight: 400; font-size: clamp(28px,3.4vw,44px); color: var(--color-accent); line-height: 1; }
.s72-day__t { font-family: var(--font-display); font-weight: 500; font-size: clamp(22px,2.6vw,30px); color: var(--color-ink); }
.s72-day__p { font-size: 15.5px; color: var(--color-ink-mid); line-height: 1.8; margin: var(--space-4) 0 0; max-width: 46em; }
.s72-day__cta { margin-top: var(--space-5); }
.s72-day__cta .link { font-size: 14px; color: var(--color-accent-ink); }
.s72-day--rev .s72-day__img { order: 2; }   /* 奇数行图片在右 */
@media (max-width: 900px){
	.s72-day, .s72-day--rev { grid-template-columns: 1fr; }
	.s72-day--rev .s72-day__img { order: 0; }
	.s72-day__img img { min-height: 200px; }
}
@media (hover: none){ .s72-day:hover { transform: none; } }

/* 4 · 你最终会得到什么 —— 左清单 / 右图 */
.s72-gains { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.s72-gainlist { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.s72-gainlist li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; color: var(--color-ink); line-height: 1.7; }
.s72-gainlist .sb-icon { flex-shrink: 0; margin-top: 2px; }
.s72-gains__img { border: var(--hairline-strong); overflow: hidden; aspect-ratio: 4 / 3; }
.s72-gains__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px){ .s72-gains { grid-template-columns: 1fr; } }

/* ============================================================
   免费学习中心（/learn · 对照 Learn.jsx）
   Hero（左文＋内联订阅 / 右图）· 免费资源中心（6 卡，复用 .cardgrid 独立强边框＋hover）·
   72h 图文 3 列（复用 .prodgrid/.prodcard）。
   ============================================================ */
/* 1 · Hero —— 左文（1.1fr）/ 右图（1fr） */
.lhero { padding-top: clamp(48px,7vw,104px); padding-bottom: clamp(48px,7vw,104px); }
.lhero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.lhero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px,5vw,68px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
.lhero .hero__sub { margin-top: var(--space-5); max-width: 30em; }
.lhero__form { max-width: 440px; margin-top: var(--space-6); }
.lhero__img { border: var(--hairline-strong); overflow: hidden; }
.lhero__img img { width: 100%; height: 100%; max-height: 420px; object-fit: cover; display: block; }
@media (max-width: 900px){ .lhero__grid { grid-template-columns: 1fr; } }

/* 2 · 免费资源中心 —— 6 卡（3 列，整卡可点；复用 .cardgrid 强边框＋hover 上浮/转铜/图标弹） */
.cardgrid--3 { grid-template-columns: repeat(3,1fr); }
.cardgrid a.cell { color: inherit; text-decoration: none; }
@media (max-width: 900px){ .cardgrid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .cardgrid--3 { grid-template-columns: 1fr; } }

/* 3 · 72h 图文 3 列 —— 复用 .prodgrid/.prodcard，卡内铜号＋空格标题（同首页 .seq 调性） */
.lday__head { display: flex; align-items: baseline; gap: var(--space-3); }
.lday__n { font-family: var(--font-display); font-weight: 400; font-size: 40px; color: var(--color-accent); line-height: 1; }
.lday__t { font-family: var(--font-body); font-weight: 500; font-size: 15px; letter-spacing: 0.2em; color: var(--color-ink); }
.lday__d { font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; margin: var(--space-4) 0 0; }

/* ============================================================
   行动文章 /articles（对照 Articles.jsx）
   Hero（左文 / 右「阅读→判断→行动→证明」流程卡）+ 真实文章卡格（WP_Query）。
   分类 chips 暂略；Newsletter 走全局 Footer。
   ============================================================ */
/* 1 · Hero —— 左文（1.1fr）/ 右流程卡（1fr） */
.ahero { padding-top: clamp(40px,6vw,88px); padding-bottom: clamp(40px,6vw,88px); }
.ahero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.ahero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px,4.4vw,58px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
.ahero .hero__sub { margin-top: var(--space-5); }
.artflow { border: var(--hairline-strong); background: var(--color-bg-alt); padding: clamp(28px,4vw,48px); display: flex; flex-direction: column; align-items: center; gap: var(--space-3); }
.artflow__step { font-family: var(--font-display); font-weight: 400; font-size: 26px; letter-spacing: 0.1em; color: var(--color-ink); }
.artflow__step--end { color: var(--color-accent); }
.artflow .sb-icon { color: var(--color-ink-soft); }
@media (max-width: 900px){ .ahero__grid { grid-template-columns: 1fr; } }

/* 2 · 文章卡格 —— 独立强边框卡 + hover 上浮/转铜 */
.artgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin-top: var(--space-8); align-items: stretch; }
.artcard { display: flex; flex-direction: column; border: var(--hairline-strong); background: var(--color-bg); padding: var(--space-6); color: inherit; text-decoration: none;
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
.artcard:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.artcard__cat { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: var(--tracking-cjk-label); color: var(--color-accent-ink); }
.artcard__title { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.25; color: var(--color-ink); margin: var(--space-3) 0 var(--space-2); }
.artcard__excerpt { font-size: 14px; color: var(--color-ink-mid); line-height: 1.7; flex: 1; margin: 0; }
.artcard__foot { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-5); }
.artcard__meta { font-size: 12.5px; color: var(--color-ink-soft); }
.artcard__foot .link { font-size: 13px; color: var(--color-accent-ink); }
@media (max-width: 900px){ .artgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .artgrid { grid-template-columns: 1fr; } }
@media (hover: none){ .artcard:hover { transform: none; } }

/* ============================================================
   精华提示词库 /prompt-library（对照 PromptLibrary.jsx）
   Hero（左文 / 右「场景→变量→步骤→输出→复用」结构卡）· 痛点 3 卡 + 格言 ·
   7 分类卡（复用 .cardgrid--4）· 9 张免费提示词卡（一键复制）· 完整库会员预告（复用 .sp-proguide）。
   ============================================================ */
/* 1 · Hero —— 左文（1.1fr）/ 右结构卡（1fr） */
.plhero { padding-top: clamp(40px,6vw,80px); padding-bottom: clamp(40px,6vw,80px); }
.plhero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: center; }
.plhero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(34px,4.2vw,54px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
.plhero .hero__sub { margin-top: var(--space-5); }
/* 结构卡（复用 .actcard，置 alt 底 + 强边框；编号 mono、步骤名 display 22） */
.plsteps { background: var(--color-bg-alt); border-color: var(--color-rule-strong); }
.plsteps .actrow__n { font-family: var(--font-mono); font-weight: 400; font-size: 12px; color: var(--color-accent-ink); width: auto; min-width: 28px; }
.plsteps .actrow__t { font-family: var(--font-display); font-weight: 400; font-size: 22px; color: var(--color-ink); }
@media (max-width: 900px){ .plhero__grid { grid-template-columns: 1fr; } }

/* 4 · 免费精选提示词卡 —— 独立强边框，hover 仅转铜（含内部复制按钮，不上浮以免干扰点击） */
.plgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin-top: var(--space-8); align-items: stretch; }
.plcard { display: flex; flex-direction: column; border: var(--hairline-strong); background: var(--color-bg); padding: var(--space-6);
	transition: border-color var(--dur-hover) var(--ease-out-cubic); }
.plcard:hover { border-color: var(--color-accent); }
.plcard__cat { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: var(--tracking-cjk-label); color: var(--color-accent-ink); }
.plcard__title { font-family: var(--font-body); font-weight: 500; font-size: 18px; line-height: 1.3; color: var(--color-ink); margin: var(--space-3) 0 var(--space-2); }
.plcard__scene { font-size: 12.5px; color: var(--color-ink-soft); margin-bottom: var(--space-3); }
.plcard__desc { font-size: 13.5px; color: var(--color-ink-mid); line-height: 1.7; flex: 1; margin: 0; }
.plchips { display: flex; gap: var(--space-2); flex-wrap: wrap; margin: var(--space-4) 0; }
.plchip { font-family: var(--font-mono); font-size: 11px; color: var(--color-ink-mid); border: var(--hairline-strong); padding: 3px 8px; }
.pl-copy { align-self: flex-start; padding: 10px 18px; font-size: 12px; }
@media (max-width: 900px){ .plgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .plgrid { grid-template-columns: 1fr; } }

/* ============================================================
   通用内页 Hero（.ihero）—— 左文 / 右面板，供 /video-training、/free-tools 复用。
   ============================================================ */
.ihero { padding-top: clamp(40px,6vw,80px); padding-bottom: clamp(40px,6vw,80px); }
.ihero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); align-items: start; }
.ihero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(36px,4.4vw,58px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
.ihero .hero__sub { margin-top: var(--space-5); font-size: 18px; line-height: var(--leading-cjk-body); max-width: 32em; }
@media (max-width: 900px){ .ihero__grid { grid-template-columns: 1fr; } }

/* ============================================================
   视频训练 /video-training（对照 VideoTraining.jsx · 「即将上线」形态）
   占位缩略图 + 视频标记 + 即将上线角标；卡片不可点（真实视频上线后替换为可播放）。
   ============================================================ */
.vidgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin-top: var(--space-8); }
.vidcard { border: var(--hairline-strong); background: var(--color-bg); overflow: hidden;
	transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic); }
.vidcard:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.vidcard__thumb { position: relative; overflow: hidden; border-bottom: var(--hairline-strong); }
.vidcard__thumb img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform var(--dur-cinema) var(--ease-out-expo); }
.vidcard:hover .vidcard__thumb img { transform: scale(1.04); }
.vidcard--feat .vidcard__thumb img { height: 280px; }
.vidcard__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.vidcard__play::before { content: ""; position: absolute; width: 54px; height: 54px; border-radius: 50%; background: rgba(28,26,23,0.5); }
.vidcard__play .sb-icon { position: relative; color: var(--color-bg) !important; }
.vidcard__badge { position: absolute; top: 12px; right: 12px; background: var(--color-bg-deep); color: var(--color-ink-inverse); font-size: 11px; letter-spacing: 0.1em; padding: 4px 10px; }
.vidcard__body { padding: var(--space-5); }
.vidcard__tag { font-family: var(--font-body); font-weight: 500; font-size: 11px; letter-spacing: var(--tracking-cjk-label); color: var(--color-accent-ink); }
.vidcard__title { font-family: var(--font-body); font-weight: 500; font-size: var(--text-base); line-height: 1.35; color: var(--color-ink); margin-top: var(--space-2); }
.vidcard--feat .vidcard__title { font-family: var(--font-display); font-size: 24px; }
@media (max-width: 900px){ .vidgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .vidgrid { grid-template-columns: 1fr; } }
@media (hover: none){ .vidcard:hover { transform: none; } }

/* ============================================================
   免费工具 /free-tools（对照 FreeTools.jsx）
   Hero（复用 .ihero · 长标题用 .fthero__h1 小一档）+ 工具箱卡（复用 .actcard）+
   推荐铜框 .ftfeature + 分类（复用 .cardgrid--4）+ 资源卡（复用 .artgrid/.artcard + 下载按钮）+
   领取后获得（复用 .s72-gains/.s72-gainlist）+ FAQ（复用 .faq）。下载一律引导 #newsletter 留邮箱。
   ============================================================ */
.fthero__h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(28px,3.2vw,46px); line-height: 1.18; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-5); }
/* 工具箱卡（.actcard 壳 + alt 底 + 强边框；下载图标 + display 标签行） */
.ftbox { background: var(--color-bg-alt); border-color: var(--color-rule-strong); }
.ftbox__label { margin-bottom: var(--space-5); }
.ftbox__row { display: flex; align-items: center; gap: 14px; padding: var(--space-3) 0; border-top: var(--hairline-strong); }
.ftbox__row:first-of-type { border-top: none; }
.ftbox__t { font-family: var(--font-display); font-weight: 400; font-size: 20px; color: var(--color-ink); }
/* 推荐工具 callout（2px 铜框，文字 | 按钮） */
.ftfeature { border: 2px solid var(--color-accent); background: var(--color-bg); padding: clamp(28px,4vw,48px); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-6); align-items: center; }
.ftfeature__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(26px,3vw,38px); margin-top: var(--space-3); color: var(--color-ink); }
.ftfeature__p { font-size: 15px; color: var(--color-ink-mid); line-height: 1.8; margin-top: var(--space-4); max-width: 520px; }
.ftfeature .btn { white-space: nowrap; }
@media (max-width: 760px){ .ftfeature { grid-template-columns: 1fr; } }
/* 资源卡推荐态 + 下载按钮 */
.artcard--feat { border-top: 2px solid var(--color-accent); }
.ft-dl { align-self: flex-start; margin-top: var(--space-5); padding: 10px 18px; font-size: 13px; display: inline-flex; align-items: center; gap: 8px; }
.ft-dl .sb-icon { flex-shrink: 0; }

/* ============================================================
   法务页（/terms /privacy-policy /refund-policy /ai-usage /cookie-policy · 对照 LegalView）
   一套模板按 slug 渲染；左正文（发丝线分节）+ 右粘性法务导航。
   ============================================================ */
.legal-head { padding-top: clamp(48px,7vw,96px); padding-bottom: 0; }
.legal-head__h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(34px,4.4vw,56px); line-height: 1.15; letter-spacing: 0; color: var(--color-ink); margin-top: var(--space-4); }
.legal-head__date { font-size: 14px; color: var(--color-ink-soft); margin-top: var(--space-3); }
.legal { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,1fr); gap: clamp(32px,5vw,64px); align-items: start; }
.legal__main { max-width: 760px; min-width: 0; }
.legal__disclaimer { font-size: 13px; color: var(--color-ink-soft); background: var(--color-bg-alt); border: var(--hairline-strong); padding: var(--space-4) var(--space-5); line-height: 1.7; margin: 0 0 var(--space-7); }
.legal__secs { display: flex; flex-direction: column; gap: var(--space-7); }
.legal__sec-h { font-family: var(--font-display); font-weight: 500; font-size: 22px; color: var(--color-ink); margin: 0 0 var(--space-3); line-height: 1.3; }
.legal__sec-p { font-size: 15px; color: var(--color-ink-mid); line-height: 1.9; margin: 0; }
.legal__nav { border: var(--hairline-strong); position: sticky; top: 24px; }
.legal__nav-link { display: block; padding: var(--space-4) var(--space-5); font-size: 14px; color: var(--color-ink-mid); text-decoration: none; border-top: var(--hairline-strong); transition: color var(--dur-hover) var(--ease-out-cubic); }
.legal__nav-link:first-child { border-top: none; }
.legal__nav-link:hover { color: var(--color-ink); }
.legal__nav-link.is-active { color: var(--color-accent-ink); background: var(--color-bg-alt); }
@media (max-width: 900px){ .legal { grid-template-columns: 1fr; } .legal__nav { position: static; } }

/* ============================================================
   CookieYes 同意横幅 —— 方角 + 品牌字（铁律；文案/铜色由 functions.php 过滤器处理）。
   ============================================================ */
.cky-consent-container, .cky-consent-bar, .cky-preference-center, .cky-modal, .cky-btn,
.cky-btn-revisit, .cky-btn-revisit-wrapper, .cky-switch, .cky-audit-table { border-radius: 0 !important; }
/* 铁律：绝不 box-shadow —— 盖 CookieYes 横幅/弹窗默认投影（OBS-1） */
.cky-consent-container, .cky-consent-bar, .cky-preference-center, .cky-modal, .cky-modal-content { box-shadow: none !important; }
.cky-btn { font-family: var(--font-body) !important; letter-spacing: 0.04em; }
/* 左下角常驻 revisit 浮动按钮隐藏——撤回入口改到 footer「Cookie 设置」(functions.php wp_footer) */
.cky-btn-revisit-wrapper { display: none !important; }
.cky-title, .cky-preference-title { font-family: var(--font-display) !important; }
/* 描述/偏好中心内链接走单铜色（盖 CookieYes 默认蓝 !important，守「单一强调色」铁律） */
.cky-notice-des a, .cky-preference-content-wrapper a, .cky-notice-des a:hover { color: var(--color-accent-ink) !important; }

/* ============================================================
   My Account 交付中心 Dashboard（§24.4-24.5 · 对照 Account.jsx）
   会员状态模块 + 新手破局启动进度条 + 6 快捷入口卡（复用 .cardgrid--3/.cell）。
   ============================================================ */
.acct-intro { font-size: 15px; color: var(--color-ink-mid); line-height: 1.8; margin: 0 0 var(--space-6); max-width: 620px; }
/* 会员状态模块 */
.acct-status { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); flex-wrap: wrap;
	border: var(--hairline-strong); background: var(--color-bg-alt); padding: var(--space-5) var(--space-6); }
.acct-status--free { border-top: 2px solid var(--color-accent); }
.acct-status__main { min-width: 0; }
.acct-status__title { font-family: var(--font-body); font-weight: 500; font-size: 17px; color: var(--color-ink); margin: 0; }
.acct-status__desc { font-size: 13.5px; color: var(--color-ink-mid); line-height: 1.7; margin: var(--space-2) 0 0; max-width: 640px; }
.acct-status .btn { flex-shrink: 0; }
/* 新手破局启动进度条 */
.acct-onboard { border: var(--hairline-strong); background: var(--color-bg-alt); padding: var(--space-6); margin-top: var(--space-5); }
.acct-onboard__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.acct-onboard__title { font-family: var(--font-body); font-weight: 500; font-size: 18px; color: var(--color-ink); margin: 0; }
.acct-onboard__count { font-size: 13px; color: var(--color-ink-mid); } /* AA：进度计数 */
.acct-onboard__sub { font-size: 14px; color: var(--color-ink-mid); margin: var(--space-2) 0 var(--space-4); }
.acct-onboard .progress { margin: 0 0 var(--space-4); }
.acct-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.acct-steps li { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--color-ink-mid); }
.acct-steps li.is-done { color: var(--color-ink); }
.acct-steps .sb-icon { flex-shrink: 0; }
.acct-onboard__cta { margin-top: var(--space-5); }
/* 6 快捷入口卡 */
.acct-cards { margin-top: var(--space-6); }
/* 隐藏账户页 GP 默认页标题（「我的帐户」），由 .acct-head「交付中心」头部充当，避免重复 */
.woocommerce-account .entry-header, .woocommerce-account .page-header { display: none; }

/* ============================================================
   关于 / 联系 / 通讯（§8.6 · 对照 MiscPages AboutView/ContactView/NewsletterPageView）
   ============================================================ */
/* about「不是什么」：复用 .sp-rights 2 列发丝线网格，限宽居中 */
.about-not { max-width: 820px; margin-left: auto; margin-right: auto; }
/* contact 可联系场景 6 项发丝线网格 */
.scenes { display: grid; grid-template-columns: repeat(3,1fr); border: var(--hairline-strong); margin-top: var(--space-8); }
.scenes__item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-5) var(--space-6); font-size: 15px; color: var(--color-ink);
	border-left: var(--hairline-strong); border-top: var(--hairline-strong); }
.scenes__item:nth-child(-n+3) { border-top: none; }
.scenes__item:nth-child(3n+1) { border-left: none; }
.scenes .sb-icon { flex-shrink: 0; }
@media (max-width: 760px){
	.scenes { grid-template-columns: 1fr; }
	.scenes__item { border-left: none; border-top: var(--hairline-strong); }
	.scenes__item:first-child { border-top: none; }
}
/* contact 表单 */
.cform { max-width: 680px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-4); }
.cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.cform input, .cform select, .cform textarea { width: 100%; border: var(--hairline-strong); border-radius: 0; background: var(--color-bg);
	padding: 0 16px; height: 52px; font-family: var(--font-body); font-size: 15px; color: var(--color-ink); outline: none; }
.cform textarea { height: auto; padding: 14px 16px; line-height: 1.7; resize: vertical; }
.cform input:focus, .cform select:focus, .cform textarea:focus { border-color: var(--color-ink); }
.cform .btn { align-self: flex-start; }
.cform__note { font-size: 13px; color: var(--color-ink-soft); margin: 0; }
.cform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cform-success { border: 1px solid var(--color-accent); padding: var(--space-7); text-align: center; max-width: 680px; margin: 0 auto; }
.cform-success__h { font-family: var(--font-display); font-weight: 400; font-size: 28px; margin: var(--space-3) 0 0; color: var(--color-ink); }
.cform-error { max-width: 680px; margin: 0 auto var(--space-5); border-top: 3px solid var(--color-accent); background: var(--color-bg-alt); padding: var(--space-4) var(--space-5); font-size: 14px; color: var(--color-ink); }
@media (max-width: 560px){ .cform__row { grid-template-columns: 1fr; } }
/* newsletter 右「你会收到」卡 */
.nl-box { border: var(--hairline-strong); background: var(--color-bg-alt); padding: var(--space-6); }
.nl-box__h { font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); color: var(--color-ink); margin-bottom: var(--space-5); }
.nl-box .s72-gainlist { margin-top: 0; }
.nl-form { max-width: 460px; }

/* Newsletter 表单蜜罐隐藏 + 订阅成功态（§8.9 FluentCRM 捕获） */
.sb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nl-ok { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-accent-ink); font-size: 15px; margin-top: var(--space-6); }
.nl-ok .sb-icon, .foot-news__ok .sb-icon { flex-shrink: 0; }
.foot-news__ok { display: inline-flex; align-items: center; gap: 8px; color: var(--color-accent); font-size: 15px; }

/* ============================================================
   WOOCOMMERCE 订单 / 订阅 / 账户详情品牌化（问题 C）
   —— 美化默认 view-order / orders / view-subscription / edit-account 模板，
   不覆盖模板（品牌页头经 functions.php WC endpoint 钩子注入 .acct-head）。
   全部复用既有 token；选择器限定 .woocommerce-* 命名空间，不影响结账/产品页。
   表格抄 .mcompare 范式：铜调表头 + 发丝线行 + alt 底 hover；圆角 0、无阴影。
   ============================================================ */
.woocommerce-orders-table,
.woocommerce-table--order-details,
.woocommerce-table--subscription-details,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%; border-collapse: collapse; border: var(--hairline-strong);
	margin-bottom: var(--space-6); border-radius: 0;
}
.woocommerce-orders-table th,
.woocommerce-table--order-details th,
.woocommerce-MyAccount-content table.shop_table th {
	font-family: var(--font-display); font-weight: 500; color: var(--color-ink);
	text-align: left; padding: 14px 18px; border-bottom: var(--hairline-strong); background: transparent;
}
.woocommerce-orders-table td,
.woocommerce-table--order-details td,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 14px 18px; border-bottom: var(--hairline); font-size: 14.5px; color: var(--color-ink-mid);
}
.woocommerce-orders-table tbody tr:hover { background: var(--color-bg-alt); }
.woocommerce-MyAccount-content table.shop_table tfoot th,
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td { color: var(--color-ink); font-weight: 500; }
.woocommerce-MyAccount-content .woocommerce-Price-amount { font-family: var(--font-display); color: var(--color-ink); }

/* 分区标题（订单详情 / 账单地址 / 相关订阅 等） */
.woocommerce-column__title,
.woocommerce-order-details__title,
.woocommerce-customer-details h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--font-display); font-weight: 500; font-size: 18px;
	color: var(--color-ink); margin: var(--space-6) 0 var(--space-4); letter-spacing: 0;
}

/* 地址块 —— .card 范式（发丝线描边 + 内距，去斜体） */
.woocommerce-customer-details address,
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address {
	border: var(--hairline-strong); padding: var(--space-5) var(--space-6); border-radius: 0;
	font-style: normal; color: var(--color-ink-mid); line-height: 1.9;
}

/* 订单 / 订阅 状态徽标 —— 铜色描边，替换默认浅色块 */
.woocommerce-orders-table mark.order-status,
.woocommerce-orders-table .subscription-status,
.woocommerce-MyAccount-content mark.order-status,
.woocommerce-MyAccount-content .order-status {
	background: transparent !important; border: 1px solid var(--color-accent);
	color: var(--color-ink); border-radius: 0; padding: 2px 10px; font-size: 12px; font-weight: 500;
}

/* 分区上方留白 + 「再次购买/付款」按钮继承品牌（style.css 已覆盖 .woocommerce a.button） */
.woocommerce-order-details, .woocommerce-customer-details,
.woocommerce-MyAccount-content .subscription_details { margin-top: var(--space-6); }

/* 移动端：订单/订阅列表保留发丝线、表头隐藏（沿用 WC 响应式，仅去默认圆角/阴影） */
@media (max-width: 600px) {
	.woocommerce-orders-table, .woocommerce-table--order-details { border: var(--hairline-strong); }
}

/* 全站审计补丁（fullsite audit）：vidcard 卡补 C1 elevation；ihero kicker 对齐首页 13/0.24 */
.vidcard { box-shadow: 0 1px 2px rgba(28,26,23,0.06); transition: transform var(--dur-hover) var(--ease-out-cubic), border-color var(--dur-hover) var(--ease-out-cubic), box-shadow var(--dur-hover) var(--ease-out-cubic); }
.vidcard:hover { box-shadow: 0 6px 18px rgba(28,26,23,0.10); }
.ihero .eyebrow-cjk { font-size: 13px; letter-spacing: 0.24em; }

/* membership 价格卡：月度信用分（阶段① 显数字） */
.mplan__credits{font-size:13px;color:var(--color-accent-ink);margin:2px 0 10px}
.mplan__credits b{font-family:var(--font-mono);font-size:16px;color:var(--color-ink)}

/* Hero 三点证据（.hero__points）：第 22 轮 site-trim 从首页删掉了（与下面「五件事」重复），样式一并拿掉（视觉基线第 4 条：旧素材直接拿掉）。 */


/* 首屏进屏优化（2026-07-26 迭代 2）：真机 390×844 实测——旧版 CTA 落在 1400px 处，
   手机首屏只看得到半截副标，「多少钱 / 怎么开始」全在屏外。逐项压缩至 CTA 进首屏。 */
@media (max-width: 600px) {
  /* GP 默认 header 在手机上吃掉 ~200px（24% 屏高），压到 ~72px */
  .site-header .inside-header { padding-top: 14px !important; padding-bottom: 14px !important; }
  .site-header .site-logo img, .site-header .site-branding img { height: 26px !important; }

  .home-hero { padding-top: var(--space-6) !important; }
  .home-hero__title { font-size: 30px; line-height: 1.2; }
  .home-hero__rule { margin: 10px 0 12px; }
  .home-hero .hero__sub { font-size: 15.5px; margin-top: var(--space-3); }
  .home-hero__cta-wrap { gap: var(--space-4); margin-top: var(--space-5); }
  .home-hero .cta-row { gap: var(--space-3); }
  /* 三颗按钮一起收（原来只收实心那颗，次按钮仍是 18px 32px，比主按钮高 6px —— 第 22 轮 site-trim v2 C1-7） */
  .home-hero .cta-row .btn { padding: 15px 26px; width: 100%; text-align: center; }
  /* 头像组在手机上是纯装饰、还挤掉一行文案——首屏寸土寸金，隐掉 */
  .home-hero .trust-row .avatars { display: none; }
  .home-hero .trust-row span { font-size: 13px; }
  /* 意境图移到 CTA 之后（DOM 顺序不变，靠 grid order），别在首屏抢位置 */
  .home-hero__grid { display: flex; flex-direction: column; }
  .home-hero__img { order: 2; margin-top: var(--space-6); }
}


/* ============================================================
   IDE 接入页（page-ide.php · 2026-08-06）
   ------------------------------------------------------------
   四条硬规矩在这里的落点：
   ① 对比度按**卡片底**算：代码块坐在 --color-bg-deep 上，正文用 --color-ink
      （不是 ink-soft——照着敲命令的人要逐字符看清，比读段落要求更高）。
   ② 装饰线 ≠ 功能边框：复制按钮是可点控件 → --color-rule-ui（3:1，WCAG 1.4.11）；
      卡片外框只是分组 → --color-rule。用同一个值会让按钮在深底上"消失"。
   ③ 零字距零大写：状态徽章是中文（已支持/规划中），uppercase 对汉字无意义、
      宽字距会把词拆散。
   ④ 代码块横向滚动**自己**滚，绝不让 body 出横向滚动条——
      models.json 那段在 390px 上必然超宽。
   ============================================================ */

.ide-cta { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; margin-top: var(--space-6); }

/* ── 端点一览 ─────────────────────────────────────────────── */
.ide-eps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-7); }
.ide-ep {
	background: var(--color-bg-card); border: var(--hairline); border-radius: var(--radius-lg);
	padding: var(--space-5);
}
.ide-ep__h { font-size: 15px; font-weight: 600; color: var(--color-ink); margin-bottom: var(--space-3); }
.ide-ep__u { display: flex; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-3); }
.ide-ep__m {
	font-family: var(--font-mono); font-size: 11px; font-weight: 600;
	color: var(--color-accent-ink); border: 1px solid var(--color-rule-ui);
	border-radius: var(--radius); padding: 1px 6px; flex: none;
}
/* 长 URL 在窄屏必须能断，否则整卡被撑破 */
.ide-ep__u code { font-size: 13px; color: var(--color-ink); word-break: break-all; }
.ide-ep__d { font-size: 13px; color: var(--color-ink-soft); line-height: 1.7; }

/* 对比表第三态：**制作中**。与 ✓ 视觉明确可分 —— 灰色的对勾还是对勾，
   用户扫表格时只看形状不看颜色。用与 revalidate 徽章同一套语汇。 */
.cell-wip {
	display: inline-block; font-size: 12px; font-weight: 600; line-height: 1;
	padding: 3px 8px; border-radius: var(--radius);
	color: var(--color-accent); border: 1px solid var(--color-accent);
	background: transparent; letter-spacing: 0;
}

/* ── 六工具横排选项卡（2026-08-11）────────────────────────────
 *
 * 原来六个工具瀑布流一路往下排，想看 Codex 得先滚过 Cursor 的七步 + 一整段红字。
 * 这一页的使用场景是「我用 X，照着配」—— 用户只关心六分之一，却要为其余五份付滚动成本。
 *
 * ★ 收起动作由 JS 施加，CSS **不默认隐藏面板**：脚本没跑（挂了/爬虫/打印）时
 *   六份配置全部可见。一个配置说明页不该因为脚本失败而变成空白页。
 *   所以下面所有隐藏规则都挂在 .is-tabbed 上，那个类由脚本加。
 */
.ide-tabs__bar {
	display: flex; gap: var(--space-2); margin-top: var(--space-6);
	border-bottom: var(--hairline); padding-bottom: 0;
	/* 六个名字在 375px 上放不下 —— 让**这一条**横向滚，而不是让 body 出横向滚动条 */
	overflow-x: auto; scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}
.ide-tabs__t {
	display: inline-flex; align-items: center; gap: 7px; flex: none;
	background: none; border: 0; border-bottom: 2px solid transparent;
	padding: var(--space-3) var(--space-4); margin-bottom: -1px;
	font-size: 15px; font-weight: 500; color: var(--color-ink-soft);
	cursor: pointer; white-space: nowrap;
	transition: color var(--dur-hover) var(--ease-out-cubic),
	            border-color var(--dur-hover) var(--ease-out-cubic);
}
.ide-tabs__t:hover { color: var(--color-ink); }
.ide-tabs__t[aria-selected="true"] { color: var(--color-ink); border-bottom-color: var(--color-accent); }
/* 键盘用户必须看得见焦点 —— 选项卡是纯键盘可达的控件，去掉 outline 等于废掉它 */
.ide-tabs__t:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; }

/* ↓ 只有脚本接管之后才隐藏非当前面板 */
.ide-tabs.is-tabbed .ide-tool[data-ide-panel] { display: none; }
.ide-tabs.is-tabbed .ide-tool[data-ide-panel].is-active { display: block; }
/* 选项卡已经标了工具名，面板里再来一遍标题就是重复；但协议名要留 */
.ide-tabs.is-tabbed .ide-tool__n { display: none; }
.ide-tabs.is-tabbed .ide-tool { margin-top: var(--space-5); }

@media (max-width: 600px) {
	.ide-tabs__t { padding: var(--space-3); font-size: 14px; }
}

/* ── 工具卡 ───────────────────────────────────────────────── */
.ide-tool {
	background: var(--color-bg-card); border: var(--hairline); border-radius: var(--radius-lg);
	padding: var(--space-6); margin-top: var(--space-6);
}
.ide-tool__head { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.ide-tool__n { font-size: 22px; font-weight: 600; margin: 0; color: var(--color-ink); }
.ide-tool__p { font-size: 13px; color: var(--color-ink-soft); }
.ide-tool__l { font-size: 15px; color: var(--color-ink-mid); margin: var(--space-3) 0 0; }

.ide-steps { margin: var(--space-5) 0 0; padding-left: 1.4em; }
.ide-steps > li { margin-bottom: var(--space-5); }
.ide-steps > li::marker { color: var(--color-accent-ink); font-weight: 600; }
.ide-steps__t { font-size: 15px; line-height: 1.8; color: var(--color-ink-mid); }
.ide-steps__t code, .ide-note code, .ide-faq code {
	font-size: 13px; color: var(--color-ink); background: var(--color-bg-deep);
	border-radius: 4px; padding: 1px 5px;
}
.ide-steps__t b, .ide-note b { color: var(--color-ink); font-weight: 600; }
.ide-steps__t kbd {
	font-family: var(--font-mono); font-size: 12px; color: var(--color-ink);
	background: var(--color-bg-deep); border: 1px solid var(--color-rule-ui);
	border-radius: 4px; padding: 1px 6px;
}

/* ── 代码块 + 复制按钮 ────────────────────────────────────── */
.ide-code { position: relative; margin-top: var(--space-3); }
.ide-code pre {
	background: var(--color-bg-deep); border: var(--hairline); border-radius: var(--radius);
	/* 右侧留出复制按钮的位置，否则长行会钻到按钮底下读不出来 */
	padding: var(--space-4) 84px var(--space-4) var(--space-4);
	margin: 0; overflow-x: auto;   /* ★ 自己滚，不让 body 出横向滚动条 */
}
.ide-code code {
	font-family: var(--font-mono); font-size: 13px; line-height: 1.75;
	color: var(--color-ink); white-space: pre; background: none; padding: 0;
}
.ide-copy {
	position: absolute; top: 10px; right: 10px; z-index: 1;
	font-size: 12px; font-weight: 500; line-height: 1;
	color: var(--color-ink-mid); background: var(--color-bg-card);
	/* 第 23 轮 avatar v3（计划审查第 2 轮 C 面附带）：卡片底上 #466074 只有 2.77:1 —— 改用 dark.css 里抬一档的 --color-rule-ui-raised（3.13:1）；后备值同色 */
	border: 1px solid var(--color-rule-ui-raised, #4D687D); border-radius: var(--radius);
	padding: 6px 12px; cursor: pointer; white-space: nowrap;
	transition: color var(--dur-hover) var(--ease-out-cubic),
	            border-color var(--dur-hover) var(--ease-out-cubic);
}
.ide-copy:hover { color: var(--color-ink); border-color: var(--color-ink-soft); }
.ide-copy.is-done { color: var(--color-ink-inverse); background: var(--color-accent); border-color: var(--color-accent); }

.ide-note {
	font-size: 14px; line-height: 1.85; color: var(--color-ink-soft);
	background: var(--color-bg-deep); border-radius: var(--radius);
	padding: var(--space-4); margin: var(--space-5) 0 0;
}

/* ── FAQ ─────────────────────────────────────────────────── */
.ide-faq { max-width: 760px; margin: var(--space-7) auto 0; }
.ide-faq__i { border-bottom: var(--hairline); }
.ide-faq__i summary {
	cursor: pointer; padding: var(--space-4) 0; font-size: 16px; font-weight: 500;
	color: var(--color-ink); list-style: none; position: relative; padding-right: 2em;
}
.ide-faq__i summary::-webkit-details-marker { display: none; }
.ide-faq__i summary::after {
	content: "+"; content: "+" / ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	color: var(--color-accent-ink); font-size: 20px; font-weight: 400;
}
.ide-faq__i[open] summary::after { content: "−"; content: "−" / ""; }   /* 替代文本为空：读屏不念加号减号（第 22 轮 site-trim v2 C1-12） */
.ide-faq__i > div { padding: 0 0 var(--space-5); font-size: 15px; line-height: 1.85; color: var(--color-ink-soft); }

@media (max-width: 900px) {
	.ide-eps { grid-template-columns: 1fr; gap: var(--space-4); }
}
@media (max-width: 600px) {
	.ide-tool { padding: var(--space-5); }
	.ide-tool__n { font-size: 19px; }
	.ide-code pre { padding: var(--space-4) var(--space-4) var(--space-4) var(--space-4); }
	/* 窄屏上按钮压在代码上方一行，别再占右侧 84px——那会把每行都挤成两行 */
	.ide-copy { position: static; display: block; margin: 0 0 var(--space-2) auto; }
	.ide-steps { padding-left: 1.2em; }
	.ide-cta .btn { width: 100%; text-align: center; }
}

/* 能力边界两栏（2026-08-06）：放在配置说明**之前**，别让人配到一半才发现用不了。
   「暂时不行」那栏刻意不给强调色也不给红——不是错误状态，是尚未支持；
   用弱化的中性色，信息照样看得清，但不抢「现在可以」的注意力。 */
.ide-scope { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); margin-top: var(--space-6); }
.ide-scope__col {
	background: var(--color-bg-card); border: var(--hairline); border-radius: var(--radius-lg);
	padding: var(--space-5);
}
.ide-scope__col--yes { border-left: 3px solid var(--color-accent); }
.ide-scope__col--no { border-left: 3px solid var(--color-rule-ui); }
.ide-scope__h { font-size: 15px; font-weight: 600; color: var(--color-ink); margin-bottom: var(--space-3); }
.ide-scope__col ul { list-style: none; padding: 0; margin: 0; }
.ide-scope__col li {
	position: relative; padding-left: 1.3em; margin-bottom: var(--space-3);
	font-size: 14.5px; line-height: 1.75; color: var(--color-ink-mid);
}
.ide-scope__col li:last-child { margin-bottom: 0; }
.ide-scope__col li b { color: var(--color-ink); font-weight: 600; }
.ide-scope__col--yes li::before { content: "✓"; position: absolute; left: 0; color: var(--color-accent); font-weight: 600; }
.ide-scope__col--no li::before { content: "—"; position: absolute; left: 0; color: var(--color-ink-soft); }
.ide-scope__note {
	max-width: 760px; margin: var(--space-5) auto 0; text-align: center;
	font-size: 14px; line-height: 1.8; color: var(--color-ink-soft);
}
@media (max-width: 700px) {
	.ide-scope { grid-template-columns: 1fr; gap: var(--space-4); }
}


/* 从 /go/chat 订阅门跳来时的说明条（2026-08-27）。
   放在 H1 之上：用户要先知道「我为什么在这」，再看标题。 */
.mhero__notice {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 32%, transparent);
  color: var(--ink-hi);
  font-size: 0.95rem;
  line-height: 1.6;
}
