/* Sales page only: editorial typography aligned with article pages and a distinct membership presentation. */
.page {
  --copy-size:17px; --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-family:var(--serif); font-weight:400; letter-spacing:.015em;
  --paper:#f3ede2; --paper-light:#fcf9f2; --paper-card:#eee5d5; --paper-deep:#e7dcc9;
  --ink:#302c25; --ink-2:#474036; --ink-3:#5f5548; --ink-4:#6b6051;
  --vermilion:#a43627; --vermilion-dark:#86291e; --gold:#a48752; --ochre:#77603a;
  max-width:800px; font-size:var(--copy-size); line-height:2;
  box-shadow:0 0 0 1px rgba(89,70,40,.08);
}
.page section { padding:64px 56px; }
.page p,.page li { overflow-wrap:break-word; }
.page .section-head { margin-bottom:32px; }
.page .section-title { font-size:30px; line-height:1.45; }
.page .section-sub { font-size:var(--copy-size); line-height:1.9; }
.page .eyebrow { font-size:15px; letter-spacing:.16em; }
.page .hero { min-height:660px; padding:0; }
.page .hero-inner { padding:42px 48px 48px; }
.page .hero-body { padding-top:100px; }
.page .hero h1 { font-size:42px; line-height:1.4; }
.page .hero-sub { font-size:18px; line-height:1.95; font-weight:400; color:#f1e6d1; }
.page .hero-brand { font-size:26px; }
.page .hero-brand small { font-size:14px; color:#e0ceab; letter-spacing:.18em; }
.page .hero-en { font-size:12px; color:#cebd9c; }
.page .hero-eyebrow { font-size:16px; letter-spacing:.2em; }
.page .hero-tag { font-size:14px; padding:7px 12px; }
.page .hero-price { flex-basis:184px; background:rgba(255,250,240,.12); padding:16px 12px; }
.page .hero-price .price-kicker,.page .final-price-label { font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.16em; color:#e8c98e; }
.page .hero-price .num { font-size:60px; }
.page .hero-price .num small { font-size:18px; }
.page .hero-price .lbl { font-size:15px; }
.page .price-original { text-decoration:line-through; text-decoration-thickness:1px; opacity:.72; }
.page .hero-offer { font-size:15px; color:#ecdbba; line-height:1.8; }
.page .btn-primary { min-height:68px; box-shadow:none; border:1px solid rgba(255,255,255,.15); }
.page .btn-primary .btn-main { font-size:var(--copy-size); }
.page .btn-primary .btn-sub { font-size:15px; letter-spacing:.04em; opacity:1; }
/* Reading copy: one comfortable rhythm, including benefits and explanations. */
.page :is(.pain-item p,.pillars-lead,.pillar p,.yuan-lead,.yuan-card p,.daily-intro,.quarter .qd,.ts-lead,.ts-v,.ts-bonus li,.ts-item-d,.daily-app p,.courses-intro p,.course-q,.course-topic,.courses-foot,.benefit p,.newbie-card p,.newbie-platform,.who-item p,.teacher-card p,.basis-list li,.fit-box li,.final-sub,.final-offer .od,.meta-item .v,.step p,.faq-a,.consult .consult-lead) {
  font-size:var(--copy-size); line-height:2;
}
.page :is(.pillar h3,.daily-app h3,.course h3,.benefit h3,.newbie-card h3,.who-item h3,.fit-box h3) { font-size:17px; line-height:1.55; }
.page :is(.pain-foot,.daily-creed,.yuan-foot) { font-size:var(--copy-size); line-height:1.9; }
.page :is(.pillar h3 small,.yuan-tools,.book .status,.ref,.newbie-badge,.meta-item .k,.ledger-price .calc,.hero-price .lbl,.qr-caption) { font-size:14px; line-height:1.75; }
.page :is(.yuan-method,.books-title,.book .name,.quarter .qt,.ts-block-title,.ts-item-t,.ts-bonus-head,.teacher-basis h4,.ledger-name,.ledger-total .lbl,.final-offer .ot,.final-steps h4,.consult h4,.foot h4) { font-size:17px; line-height:1.7; }
.page :is(.daily-creed span,.teacher-name .role,.newbie-meta,.benefits-note,.value-note,.value-highlight p span,.final-warn,.final-price-unit,.foot p,.foot .contact) { font-size:16px; line-height:1.85; }
.page .ts-note,.page .foot .boundary { font-size:15px; line-height:1.9; }
.page .foot-en { font-size:12px; }
.page .teacher-name h3 { font-size:26px; }
.page .path .min { font-size:32px; }
.page .path .min small,.page .path .lbl { font-size:16px; line-height:1.75; }
.page .path { padding:24px 10px; }
.page .book { flex-wrap:wrap; padding:16px 18px; }
.page .book .name { flex:1; min-width:0; }
.page .book .status { margin-left:0; }
.page .pain-item,.page .pillar,.page .benefit,.page .newbie-card { padding:24px; border-radius:4px; }
.page .course { padding:26px 26px 26px 78px; border-radius:4px; }
.page .course-num { top:30px; left:24px; }
.page .course-topic { padding-top:16px; }
.page .ref { color:var(--ink-2); padding:4px 10px; }
.page .yuan-grid,.page .ts-grid { gap:18px; }
.page .yuan-card,.page .ts-item { padding:24px; text-align:left; border-radius:4px; }
.page .yuan-char { font-size:30px; }
/* Brass accents and warm charcoal distinguish the sales narrative from the site. */
.page :is(.yuan,.tongsheng,.benefits,.final) { background:#302c25; }
.page :is(.yuan,.tongsheng,.benefits,.final)::before { display:none; }
.page :is(.yuan .section-sub,.yuan-lead,.yuan-tools,.yuan-card p,.tongsheng .section-sub,.tongsheng .ts-lead,.ts-item-d,.tongsheng .ts-bonus li,.tongsheng .ts-note,.benefits .section-sub,.benefit p,.final-sub,.final-offer .od,.meta-item .k,.final-warn,.step p,.consult .consult-lead,.qr-caption) { color:#e2d5be; }
.page :is(.yuan-card,.ts-item,.benefit,.meta-item) { background:#39342c; border-color:#72624c; }
.page .benefit p b { color:#fff0d6; }
.page .ts-note { padding-inline:0; text-align:left; }
.page .benefit-list { gap:16px; }
.page .ledger-row { padding:22px; align-items:flex-start; flex-wrap:wrap; }
.page .ledger-info { flex:1 1 240px; }
.page .ledger-desc { font-size:16px; line-height:1.85; margin-top:6px; }
.page .ledger-price { margin-left:auto; }
.page .ledger-price .amt { font-size:var(--copy-size); }
.page .ledger-head { font-size:var(--copy-size); }
.page .ledger-total .amt { font-size:var(--copy-size); }
.page .ledger-member { padding:28px 24px; gap:20px; }
.page .ledger-member .lbl { font-size:var(--copy-size); }
.page .ledger-member .lbl small { font-size:15px; opacity:1; }
.page .ledger-member .member-price { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.page .ledger-member .member-price > .price-original { font-family:var(--sans); font-size:14px; }
.page .ledger-member .price { font-size:48px; white-space:nowrap; }
.page .ledger-member .price small { font-size:var(--copy-size); }
.page .value-highlight { border-style:solid; padding:24px; }
.page .value-highlight p { font-size:var(--copy-size); }
.page .fit-box li { padding-left:26px; }
.page .fit-yes li::before { font-size:15px; color:var(--ochre); }
.page .final { border-top:4px solid #bb8d4d; }
.page .final h2 { font-size:30px; }
.page .final-price-card { padding:36px 24px; border-color:#a88b5d; background:#39342c; }
.page .final-price-now { font-size:72px; color:#f0bc72; }
.page .final-price-now small { font-size:24px; }
.page .final-meta { gap:16px; }
.page .final-offer { padding:22px; }
.page .btn-final { font-size:24px; padding:24px; animation:none; box-shadow:none; border:1px solid #dc8270; }
.page .btn-final .sub { font-size:16px; letter-spacing:.04em; opacity:1; }
.page .step-n { flex-basis:30px; height:30px; font-size:16px; }
.page .consult { margin-top:36px; padding-top:32px; }
.page .qr-card img { width:196px; }
.page details.faq-item summary { font-size:17px; line-height:1.75; padding:22px 48px 22px 22px; }
.page .faq-a { padding:0 22px 22px; }
.page .foot { padding-bottom:68px; }
.sticky-cta { padding:14px max(22px,calc((100vw - 752px)/2)) calc(14px + env(safe-area-inset-bottom)); background:#fcf9f2; }
.sticky-cta .sp .p { font-size:28px; }
.sticky-cta .sp .p small,.sticky-cta .sp .l { font-size:14px; line-height:1.5; }
.sticky-btn { min-height:52px; font-size:17px; padding:14px 26px; animation:none; box-shadow:none; white-space:nowrap; }
.page :is(.btn-primary,.btn-final):hover,.sticky-btn:hover { background:#86291e; }
.page a:focus-visible,.sticky-btn:focus-visible { outline:3px solid #dba45e; outline-offset:4px; }
@media(max-width:600px) {
 .page { --copy-size:16px; font-size:16px; }
 .page section { padding:48px 22px; }
 .page .section-title { font-size:24px; }
 .page .hero-inner { padding:32px 24px 36px; }
 .page .hero { min-height:600px; }
 .page .hero-body { padding-top:40px; }
 .page .hero h1 { font-size:32px; }
 .page .hero-sub { font-size:var(--copy-size); }
 .page .hero-price { flex-basis:132px; }
 .page .hero-price .num { font-size:48px; }
 .page .hero-cta-row { gap:10px; }
 .page .btn-primary { padding:16px 10px; }
 .page .btn-primary .btn-main { font-size:18px; letter-spacing:.08em; }
 .page .btn-primary .btn-sub { font-size:14px; letter-spacing:0; }
 .page .hero-price .lbl { font-size:14px; letter-spacing:0; }
 .page .yuan-grid,.page .ts-grid { grid-template-columns:1fr; }
 .page :is(.pain-item,.pillar,.benefit,.newbie-card) { padding:20px 18px; }
 .page :is(.pain-item p,.pillar p,.yuan-card p,.ts-item-d,.benefit p,.course-topic,.newbie-card p,.teacher-card p,.fit-box li,.step p,.faq-a) { font-size:var(--copy-size); }
 .page .course { padding:22px 18px; }
 .page .course-num { position:static; margin-bottom:14px; }
 .page .teacher-card { padding:24px 18px; }
 .page .ledger-row { gap:10px; padding:20px 16px; }
 .page .ledger-icon { display:none; }
 .page .ledger-info { flex-basis:100%; }
 .page .ledger-price { display:flex; align-items:baseline; gap:12px; }
 .page .ledger-member { flex-wrap:wrap; padding:24px 18px; }
 .page .ledger-member .price { margin-left:auto; }
 .page .final h2 { font-size:26px; }
 .page .final-meta { grid-template-columns:1fr; }
 .page .foot { padding:40px 22px 54px; }
 .sticky-cta { padding-inline:16px; gap:12px; }
 .sticky-btn { font-size:18px; padding-inline:20px; letter-spacing:.04em; }
}
@media(max-width:360px) {
 .page .hero h1 { font-size:28px; }
 .page .hero-cta-row { flex-wrap:wrap; }
 .page .hero-price { flex:1 1 100%; flex-direction:row; gap:14px; }
 .page .hero-price .lbl { margin-top:0; }
 .page .paths { grid-template-columns:1fr; }
 .page .teacher-head { gap:12px; }
}
/* Long membership sections must remain visible even before scroll observers fire. */
.page .reveal { opacity:1; transform:none; transition:none; }
.page #join { scroll-margin-top:90px; }

/* Quiet hierarchy: serif reading copy, compact sans-serif labels and actions. */
.page :is(h1,h2,h3,h4,.hero h1,.teacher-name h3) { font-weight:600; letter-spacing:.025em; }
.page :is(b,strong) { font-weight:600; }
.page :is(.eyebrow,.hero-eyebrow,.hero-tag,.hero-offer,.hero-brand small,.hero-en,.book .status,.ref,.newbie-badge,.newbie-meta,.newbie-platform,.meta-item .k,.ledger-head,.ledger-desc,.ledger-price .calc,.hero-price .lbl,.qr-caption,.ts-note,.final-warn,.final-price-unit,.foot .boundary) {
 font-family:var(--sans); font-size:13px; line-height:1.8; letter-spacing:.025em;
}
.page :is(.pillar h3,.daily-app h3,.course h3,.benefit h3,.newbie-card h3,.who-item h3,.fit-box h3) { font-size:20px; line-height:1.6; }
.page .hero h1 { text-shadow:none; }
.page :is(.btn-primary,.btn-final),.sticky-btn { font-family:var(--sans); font-weight:500; letter-spacing:.06em; border-radius:2px; }
.page .btn-primary .btn-main { font-size:17px; }
.page :is(.btn-primary .btn-sub,.btn-final .sub) { font-family:var(--sans); font-size:12px; line-height:1.7; }
.page .btn-final { font-size:18px; padding:18px 24px; }
.page :is(.hero-price .num,.ledger-member .price,.final-price-now) { font-weight:600; letter-spacing:-.02em; }
.page :is(.pain-item,.pillar,.benefit,.newbie-card,.course,.yuan-card,.ts-item,.teacher-card,.fit-box,.final-price-card,details.faq-item) { border-radius:2px; }
.page :is(.pain-item p,.pillar p,.course-topic,.teacher-card p,.fit-box li,.faq-a) { text-align:left; }
.page .section-sub { max-width:34em; margin:12px auto 0; }
.page .teacher-card { padding:32px; }
.page .faq-a { line-height:2; }
.sticky-cta { padding-top:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
.sticky-cta .sp .p { font-size:24px; font-weight:600; }
.sticky-cta .sp .l { font-family:var(--sans); font-size:12px; }
.sticky-btn { min-height:44px; font-size:15px; padding:11px 24px; }
.site-footer { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
@media(max-width:600px) {
 .page section { padding:44px 24px; }
 .page .hero { padding:0; }
 .page .hero-inner { padding:28px 24px 32px; }
 .page :is(.pillar h3,.daily-app h3,.course h3,.benefit h3,.newbie-card h3,.who-item h3,.fit-box h3) { font-size:18px; }
 .page .section-head { margin-bottom:24px; }
 .page .hero-brand { font-size:22px; }
 .page .hero-sub { font-size:16px; line-height:2; }
 .page :is(.hero-tag,.hero-eyebrow) { font-size:12px; }
 .page .hero-tag { padding:5px 9px; }
 .page .hero-price { flex-basis:132px; }
 .page .hero-price .num { font-size:46px; }
 .page .hero-price .lbl { font-size:12px; }
 .page .teacher-card { padding:24px 18px; }
 .page .ledger-member .lbl { font-size:18px; }
 .page .ledger-member .price { font-size:38px; }
 .page .final-price-now { font-size:58px; }
 .page details.faq-item summary { font-size:16px; padding:18px 40px 18px 18px; }
 .page .faq-a { padding:0 18px 20px; }
 .page .course-num { margin-bottom:10px; font-size:24px; }
}
@media(max-width:360px) {
 .page .hero-cta-row { flex-wrap:wrap; }
 .page .btn-primary,.page .hero-price { flex:1 1 100%; width:100%; }
 .page .hero-price { min-height:132px; }
 .page .hero-price .num { font-size:50px; }
}
