/* ============================================================
   site.css · 全站统一版式（2026-09-27）
   老板 09-27：「字体排版一点也不均匀：有的标题特别紧，有的字体特别大，几个子页面的字体也不统一。」
   做法：这一份放在所有样式表的最后，只管四件事——
     ① 一套字号阶梯（7 档）+ 一套间距尺度，所有页面共用；
     ② 白天 / 夜晚两套颜色：白天＝原来的纸白版（styles.css 默认），夜晚＝书房版（body.study）；
     ③ 导航右侧的两个开关（中/EN、☀/☾）；
     ④ 首页报名板块（offer）、对标板块（4 列）的新排法。
   字号只允许用下面的变量，别再在页面里写 .62rem / .55rem 这种小字。
   ============================================================ */

/* ---------- 0. 字号 / 间距 / 字体 ---------- */
:root{
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --en:var(--sans);
  --cn:var(--serif);
  /* 字号阶梯：0 说明文字 · 1 辅助 · 2 正文 · 3 导语 · 4 小标题 · 5 卡片大标题 · 6 板块标题 · 7 开场标题 */
  --fs-0:.8rem;  --fs-1:.9rem;  --fs-2:1rem;   --fs-3:1.125rem;
  --fs-4:1.25rem; --fs-5:clamp(1.4rem,1.6vw,1.7rem);
  --fs-6:clamp(1.85rem,3.1vw,2.6rem);
  --fs-7:clamp(2.5rem,4.8vw,4rem);
  --fs-page:clamp(2.1rem,3.6vw,3rem);
  --lh-display:1.15; --lh-head:1.3; --lh-body:1.75; --lh-tight:1.5;
  --track:.1em;
  /* 间距 */
  --sp-section:clamp(4rem,7.5vw,6.5rem);
  --sp-head:3rem; --sp-gap:1.5rem; --sp-card:2rem; --sp-block:2.5rem;
  --wrap:1240px; --measure:36em;
  --ease:cubic-bezier(.22,.61,.36,1);
  /* 面板色（白天） */
  --panel:#fff; --deep:#f3f1ec; --gold:#8d6b32; --gold-soft:rgba(141,107,50,.12);
}
body.study{--panel:#1e1a16;--deep:#100e0b;--gold:#c9a961;--gold-soft:rgba(201,169,97,.14)}

html{font-size:16px}
@media(min-width:1024px){html{font-size:17px}}
body{font-family:var(--sans);line-height:var(--lh-body);letter-spacing:.005em;font-feature-settings:normal;-webkit-font-smoothing:antialiased}
p,li,dd,td,summary,figcaption,small,label{font-size:var(--fs-2);line-height:var(--lh-body)}
/* 白天：标题用黑体加粗（跟课程正文页一样）；夜晚：宋体特粗（书房版），只在 study 下生效 */
h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:700;letter-spacing:.01em;line-height:var(--lh-head);color:var(--text-primary)}
body.study h1,body.study h2,body.study h3,body.study .section-title,body.study .hero-title,body.study .case-name,body.study .svc-card-title,body.study .offer-title,body.study .tool-row-name h3,body.study .lab h1,body.study .lab h2,body.study .lab h3,body.study .lab-final h2,body.study .lx-head h1,body.study .lx-seg-head h2,body.study .dx-intro h1,body.study .dx-result-name,body.study .dx-question,body.study .page-head h1{font-family:var(--serif);font-weight:900;letter-spacing:.01em}
body.study h3,body.study .case-name,body.study .svc-card-title,body.study .tool-row-name h3,body.study .lab h3,body.study .dx-question,body.study .lx-seg-head h2,body.study .lab-table caption,body.study .lab-faq summary{font-weight:700}
h1 em,h2 em,.section-title em,.hero-title em,.lab h1 em,.lab h2 em,.dx-intro h1 em,.dx-result-name em,.lx-head h1 em,.page-head h1 em{font-style:normal;font-weight:inherit;color:var(--gold)}
strong,b{font-weight:600}
::selection{background:var(--gold);color:#fff}
body.study ::selection{color:#15120f}

/* ---------- 1. 容器与板块节奏 ---------- */
.inner,.nav-inner,.footer-inner,.footer-bottom,.breadcrumb,.page-head{max-width:var(--wrap)}
.block{padding:var(--sp-section) 2.5rem}
.block+.block{border-top:1px solid var(--border)}
.section-head{margin-bottom:var(--sp-head);gap:1.2rem 3rem}
.section-head.split{align-items:end}
.section-head>div{display:flex;flex-direction:column;gap:1rem;max-width:44em}
.eyebrow,.lab-kicker,.hero-kicker,.policy-num,.case-portrait-num,.svc-num,.tool-row-en,.lab-card .meta,.lab-ticket .meta,.al-case .grade,.lab-card .status,.dx-route .label,.dx-next-eyebrow,.dx-progress-meta,.dx-question-en,.dx-result-code,.dx-all-preview h4,.dx-result-foot .meta,.footer-col h5,.lx-out,.case-role,.svc-card-en,.offer-en,.policy-en{
  font-family:var(--sans);font-size:var(--fs-0);font-weight:500;letter-spacing:var(--track);line-height:1.5;text-transform:uppercase;color:var(--text-muted)}
body.study .eyebrow,body.study .lab-kicker,body.study .hero-kicker,body.study .al-case .grade,body.study .lab-card .meta,body.study .lab-card .status,body.study .svc-num,body.study .tool-row-en,body.study .case-portrait-num{color:var(--gold)}
.eyebrow{margin:0}
.section-title{font-size:var(--fs-6);line-height:var(--lh-head);letter-spacing:-.01em;margin:0;text-wrap:normal;max-width:20em}
.section-subtitle{font-size:var(--fs-3);line-height:1.75;color:var(--text-secondary);max-width:var(--measure);margin:0}
.lab h2 .n,.lab-slogan .n,.lab-final h2 .n{font-family:inherit;font-size:1em}

/* ---------- 2. 导航 ---------- */
.nav{padding:.9rem 2.5rem}
.nav-inner{gap:1.5rem}
.logo-main{font-family:var(--sans);font-size:1.1rem;letter-spacing:.02em;text-transform:none;font-weight:700}
.nav-links{gap:1.8rem}
.nav-link{font-family:var(--sans);font-size:var(--fs-1);font-weight:500;letter-spacing:.02em;text-transform:none;padding:.35rem 0}
.nav-link .num{font-size:var(--fs-0);margin-right:.4rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.nav-links .btn{padding:.65rem 1.1rem;font-size:var(--fs-1)}
.nav-tools{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}
.nav-links+.nav-tools{margin-left:0}
.tgl{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:34px;min-width:34px;padding:0 .6rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-family:var(--sans);font-size:var(--fs-0);font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}
.tgl:hover{color:var(--text-primary);border-color:var(--text-primary)}
.tgl svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tgl .only-dark,.tgl .only-light{display:none}
body.study .tgl .only-dark{display:block}
body:not(.study) .tgl .only-light{display:block}
body.study .tgl:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:768px){
  .nav{padding:.6rem 1rem}
  .nav-inner{gap:.6rem}
  .nav-links{gap:1rem;margin-left:.4rem}
  .nav-link{font-size:var(--fs-1)}
  .nav-links .btn{padding:.55rem .8rem;font-size:var(--fs-0)}
  .nav-tools{gap:.35rem}
  .tgl{height:30px;min-width:30px;padding:0 .5rem;font-size:.72rem}
}

/* ---------- 3. 按钮 ---------- */
.btn{font-family:var(--sans);font-size:var(--fs-1);font-weight:600;letter-spacing:.02em;text-transform:none;padding:.9rem 1.5rem;line-height:1;gap:.5rem;border-radius:2px}
.btn:hover{transform:none}
.btn-primary:hover{transform:translateY(-1px)}
.btn-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.lab-more,.lab-step a,.dx-route-card a,.offer-free{font-family:var(--sans);font-size:var(--fs-1);font-weight:500;letter-spacing:.02em}
.hero-cta-row{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
.hero-cta-note{font-size:var(--fs-1);color:var(--text-muted);line-height:1.5}
.hero-cta-note b{color:var(--text-primary);font-weight:600}

/* ---------- 4. 开场 ---------- */
.hero{padding:3.5rem 2.5rem 4rem;gap:4rem;max-width:var(--wrap)}
.hero-kicker{margin-bottom:1.8rem;gap:.7rem;flex-wrap:wrap}
.hero-kicker b{color:var(--text-primary);font-weight:600}
body.study .hero-kicker b{color:var(--gold)}
.hero-title{font-size:var(--fs-7);line-height:var(--lh-display);letter-spacing:-.01em;margin-bottom:1.6rem;font-weight:700}
.hero-title .line-1{display:none}
.hero-title .line-2,.hero-title .line-3{letter-spacing:inherit}
.hero-title .line-3 b{font-weight:inherit}
.hero-title .line-3 b::after{display:none}
.hero-title .line-3 em{color:var(--gold)}
body.study .hero-title .line-3 em,body.study .hero-title .line-3 b{color:inherit}
body.study .hero-title .line-3 em{color:var(--gold)}
.hero-desc{font-size:var(--fs-3);line-height:1.75;max-width:var(--measure);margin-bottom:2rem}
.hero-desc strong{font-weight:600}
body.study .hero-host{min-height:0;aspect-ratio:4/5;max-height:640px}
body:not(.study) .hero-host{position:relative;overflow:hidden;aspect-ratio:4/5;max-height:640px;border:1px solid var(--border);background:var(--gray-100)}
body:not(.study) .hero-host img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
body:not(.study) .hero-host::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.55) 100%);pointer-events:none}
body:not(.study) .hero-host .cap{position:absolute;left:1.4rem;right:1.4rem;bottom:1.2rem;display:flex;flex-direction:column;gap:.2rem;z-index:2;color:#fff}
body:not(.study) .hero-host .cap b{font-size:var(--fs-3);font-weight:700;color:#fff}
body:not(.study) .hero-host .cap span{font-size:var(--fs-0);letter-spacing:var(--track);text-transform:uppercase;color:rgba(255,255,255,.8)}
body.study .hero-host .cap b{font-size:var(--fs-3)}
body.study .hero-host .cap span{font-size:var(--fs-0);letter-spacing:var(--track)}
@media(max-width:1024px){.hero{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 1.5rem 3rem}.hero-host{max-width:460px}}
@media(max-width:768px){.hero{padding:2rem 1.15rem 3rem}.hero-title{font-size:clamp(2.2rem,10vw,3rem)}.hero-kicker{margin-bottom:1.2rem}}

/* ---------- 5. 首页 01 四个助手 ---------- */
.cases-grid{gap:var(--sp-gap)}
.case{min-height:0}
.case-portrait{aspect-ratio:5/4}
.case-portrait-initial{font-size:5rem;font-family:var(--serif);font-weight:700}
body:not(.study) .case-portrait-initial{font-family:var(--sans)}
.case-portrait-tag{font-size:.7rem;letter-spacing:.08em;padding:.3rem .6rem}
.case-body{padding:1.5rem 1.5rem 1.4rem}
.case-name{font-size:var(--fs-4);margin-bottom:.3rem;letter-spacing:0}
.case-role{margin-bottom:.9rem}
.case-story{font-size:var(--fs-1);line-height:1.75;margin-bottom:1.2rem}
.case-stats{gap:.8rem;padding-top:1rem}
.case-stat-val{font-family:var(--sans);font-size:var(--fs-3);font-weight:700;letter-spacing:0}
.case-stat-lbl{font-size:.72rem;letter-spacing:.06em;text-transform:none;margin-top:.2rem}

/* ---------- 6. 首页 02 对标：1 宽 + 8 格（4 列）+ 1 宽 ---------- */
.lab-facts{grid-template-columns:repeat(4,1fr);gap:2rem;border-top:1px solid var(--text-primary);padding-top:1.4rem;margin:0 0 var(--sp-block)}
.lab-facts b{font-family:var(--sans);font-size:2rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}
body.study .lab-facts b{color:var(--gold)}
.lab-facts small{font-size:var(--fs-1);line-height:1.6}
.al-cases{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem 1.5rem}
.al-case{gap:.8rem}
.al-case.wide{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:2.5rem;align-items:center}
.al-case.wide+.al-case.wide{margin-top:.5rem}
.al-case .body{display:flex;flex-direction:column;gap:.7rem}
.al-case h3{font-size:var(--fs-4);line-height:1.35;letter-spacing:0}
.al-case.wide h3{font-size:var(--fs-5)}
.al-case p{font-size:var(--fs-1);line-height:1.75;color:var(--text-secondary)}
.al-case.wide p{font-size:var(--fs-2)}
.al-case .pass{grid-template-columns:auto 1fr;gap:.3rem .8rem;font-size:var(--fs-0);line-height:1.6;border-top:1px solid var(--border);padding-top:.7rem;margin-top:.2rem}
.al-case .pass dt{font-size:var(--fs-0);letter-spacing:.06em}
.al-case .pass dd{font-size:var(--fs-0)}
.al-case .src,.lab-src{font-size:.78rem;line-height:1.6;color:var(--text-muted)}
.al-case .src a,.lab-src a{color:var(--text-muted);border-bottom:1px solid var(--border)}
.lab-src{margin-top:var(--sp-block);max-width:60em}
.al-cases .lab-fig{aspect-ratio:3/2;margin:0;box-shadow:none;border:1px solid var(--border)}
.al-yet{grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center;border-top:1px solid var(--text-primary);padding-top:2.5rem;margin-top:var(--sp-block)}
.al-yet .big{font-family:var(--sans);font-size:var(--fs-6);font-weight:700;line-height:1.25;letter-spacing:-.01em}
body.study .al-yet .big{font-family:var(--serif);font-weight:900}
.al-yet .big em{font-style:normal;color:var(--gold)}
.al-yet p{font-size:var(--fs-2);line-height:1.8}
.al-yet p+p{margin-top:.8rem}
#alpha .lab-grid.three{margin-top:var(--sp-block);gap:2rem}
#alpha .lab-callout{margin-top:var(--sp-block)}
.lab-grid{gap:2rem}
.lab-card{gap:.7rem;border-top:1px solid var(--text-primary);padding-top:1.2rem}
body.study .lab-card{border-top-color:rgba(201,169,97,.5)}
.lab-card h3{font-size:var(--fs-4);letter-spacing:0}
.lab-card p{font-size:var(--fs-1);line-height:1.75}
.lab-callout{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1.4rem;max-width:44em}
.lab-callout p{font-size:var(--fs-2)}
@media(max-width:1024px){.al-cases{grid-template-columns:repeat(2,1fr)}.al-case.wide{grid-template-columns:1fr;gap:1.2rem}.lab-facts{grid-template-columns:repeat(2,1fr)}.al-yet{grid-template-columns:1fr;gap:1.4rem}}
@media(max-width:640px){.al-cases{grid-template-columns:1fr;gap:2.2rem}.lab-grid.three{grid-template-columns:1fr}}

/* ---------- 7. 首页 03 四步 ---------- */
.tools-list{border-top:1px solid var(--text-primary)}
.tool-row{grid-template-columns:72px 1.1fr 1.6fr 40px;gap:1.5rem;padding:1.4rem 1rem;border-bottom:1px solid var(--border)}
.tool-row-idx{font-family:var(--sans);font-size:1.6rem;font-weight:700;letter-spacing:0}
body.study .tool-row-idx{color:var(--gold)}
.tool-row-name{gap:.25rem}
.tool-row-name h3{font-size:var(--fs-4);letter-spacing:0}
.tool-chips{gap:.45rem}
.tool-chip{font-size:var(--fs-0);letter-spacing:.02em;padding:.35rem .7rem;font-weight:500}
.tool-row-arrow{font-size:1.1rem}
@media(max-width:1024px){.tools-list .tool-row{grid-template-columns:56px 1fr 32px}}
@media(max-width:768px){.tool-row{grid-template-columns:44px 1fr 24px;padding:1.1rem .5rem}.tool-row-idx{font-size:1.3rem}.tool-row-name h3{font-size:var(--fs-3)}}

/* ---------- 8. 首页 04 营卡 / 06 报名 ---------- */
.svc-section{background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.svc-grid{gap:var(--sp-gap)}
.svc-card{padding:var(--sp-card);background:var(--panel)}
.svc-card-head{margin-bottom:1.2rem}
.svc-tag{font-size:var(--fs-0);letter-spacing:.06em;text-transform:none;font-weight:600;padding:.3rem .6rem}
.svc-card-title{font-size:var(--fs-5);margin-bottom:.3rem;letter-spacing:0}
.svc-card-en{margin-bottom:1.2rem}
.svc-card-desc{font-size:var(--fs-2);line-height:1.75;margin-bottom:1.2rem}
.svc-card-list{gap:.55rem;margin-bottom:1.5rem}
.svc-card-list li{font-size:var(--fs-1);line-height:1.7;padding-left:1.1rem}
.svc-card-foot{padding-top:1.1rem}
.svc-card-price{font-family:var(--sans);font-size:var(--fs-3);font-weight:700;letter-spacing:0}
.svc-card-price.small{font-size:var(--fs-1);font-weight:600}
.svc-card-cta{font-size:var(--fs-1);letter-spacing:.02em;text-transform:none;font-weight:600}
/* 报名：一块大卡，左边讲包含什么，右边价格 + 按钮，两边等高 */
.offer{display:grid;grid-template-columns:1.6fr 1fr;background:var(--panel);border:1px solid var(--border)}
body.study .offer{border-color:rgba(201,169,97,.45)}
.offer-main{padding:2.6rem 2.6rem 2.4rem;display:flex;flex-direction:column;gap:1.4rem;border-right:1px solid var(--border)}
.offer-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.offer-title{font-size:var(--fs-5);line-height:1.4;letter-spacing:0;max-width:24em}
.offer-list{list-style:none;padding:0;margin:.4rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}
.offer-list li{display:flex;flex-direction:column;gap:.15rem;padding-left:1rem;border-left:2px solid var(--gold);font-size:var(--fs-1);line-height:1.6}
.offer-list li b{font-size:var(--fs-2);font-weight:600;color:var(--text-primary)}
.offer-list li span{color:var(--text-secondary)}
.offer-side{padding:2.6rem 2.4rem;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;background:var(--deep)}
body.study .offer-side{background:#100e0b}
.offer-price{display:flex;flex-direction:column;gap:.2rem}
.offer-price .was{font-size:var(--fs-1);color:var(--text-muted);text-decoration:line-through}
.offer-price .now{font-family:var(--sans);font-size:clamp(2.6rem,4vw,3.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text-primary)}
body.study .offer-price .now{color:var(--gold)}
.offer-price .till{font-size:var(--fs-0);color:var(--text-muted);letter-spacing:.02em}
.offer-side .btn{align-self:flex-start}
.offer-free{color:var(--text-primary);border-bottom:1px solid var(--border);align-self:flex-start;padding-bottom:.1em}
.offer-free:hover{color:var(--gold);border-color:var(--gold)}
.offer-note{font-size:var(--fs-0);color:var(--text-muted);margin:0}
@media(max-width:1024px){.offer{grid-template-columns:1fr}.offer-main{border-right:none;border-bottom:1px solid var(--border)}}
@media(max-width:640px){.offer-main,.offer-side{padding:1.6rem 1.25rem}.offer-list{grid-template-columns:1fr}}

/* ---------- 9. 首页 05 主理人 ---------- */
.host-split p{font-size:var(--fs-2);line-height:1.85;max-width:var(--measure)}
.host-split p+p{margin-top:.9rem}
.host-split p strong{font-weight:600}

/* ---------- 10. 页脚 ---------- */
.footer{padding:3.5rem 2.5rem 2rem}
.footer-inner{gap:2.5rem;padding-bottom:2.5rem}
.footer-brand{font-family:var(--sans);font-size:1.15rem;letter-spacing:.02em}
.footer-col h5{margin-bottom:1rem}
.footer-col a{font-size:var(--fs-1);padding:.25rem 0}
.footer-col p{font-size:var(--fs-1);line-height:1.7}
.footer-bottom{font-size:var(--fs-0);letter-spacing:.02em}

/* ---------- 11. 营页 / 加入页（.lab 系列） ---------- */
.lab{max-width:var(--wrap);padding:0 2.5rem}
.lab-sec{padding-top:var(--sp-section);gap:1.4rem}
.lab-hero.solo{padding:3.5rem 0 0}
.lab-hero .copy{gap:1.4rem}
.lab-hero h1{font-size:var(--fs-page);line-height:var(--lh-head);font-weight:700}
.lab h2{font-size:var(--fs-6);line-height:var(--lh-head);font-weight:700;max-width:20em}
.lab h3{font-size:var(--fs-4);line-height:1.4;font-weight:700}
.lab p{font-size:var(--fs-2);line-height:var(--lh-body)}
.lab .lede,.lab-hero .lede{font-size:var(--fs-3);line-height:1.75;max-width:var(--measure)}
.lab b{font-weight:600}
.lab-note{font-size:var(--fs-1)}
.lab-actions{gap:1.4rem}
.lab-steps{gap:2.5rem 2rem;border-top:1px solid var(--text-primary);padding-top:1.8rem}
.lab-step{gap:.5rem}
.lab-step .n{font-family:var(--sans);font-size:2rem;font-weight:700;color:var(--gold)}
.lab-step h3{font-size:var(--fs-4)}
.lab-step p{font-size:var(--fs-1);line-height:1.75}
.lab-card dl,.lab-ticket dl{gap:.5rem 1rem;font-size:var(--fs-1);line-height:1.7}
.lab-card dt,.lab-ticket dt{font-size:var(--fs-0);letter-spacing:.06em;padding-top:.2em}
.lab-card dd,.lab-ticket dd{font-size:var(--fs-1)}
.lab-card .flag,.lab-ticket .flag{font-size:var(--fs-0);line-height:1.7;border-left:2px solid var(--border);padding-left:1rem}
.lab-card .foot{gap:1.2rem;padding-top:.8rem}
.lab-card.is-mine{border-top:2px solid var(--gold)}
.lab-card .status{color:var(--gold)}
.lab-card .status.next{color:var(--text-muted)}
.lab-table caption{font-size:var(--fs-4);font-weight:700;padding:1rem 0 .4rem}
.lab-table td{font-size:var(--fs-1);padding:.75rem 0}
.lab-table td.n{font-family:var(--sans);font-size:var(--fs-3);font-weight:700;color:var(--gold)}
.lab-faq summary{font-size:var(--fs-3);font-weight:600;line-height:1.5}
.lab-faq details p{font-size:var(--fs-1);margin-top:.6rem}
.lab-faq summary::after{font-family:var(--sans)}
.lab-next p{font-size:var(--fs-3)}
.lab-final{padding:5rem 2.5rem;margin-top:var(--sp-section)}
.lab-final h2{font-size:var(--fs-6);margin-bottom:.8rem}
.lab-final p{font-size:var(--fs-2);margin-bottom:1.8rem}
.lab-final .lab-actions{gap:1rem}
@media(max-width:640px){.lab{padding:0 1.15rem}.lab-sec{padding-top:3.5rem}.lab-hero.solo{padding-top:2rem}.lab-final{padding:3.5rem 1.15rem}}

/* ---------- 12. 课程目录页 ---------- */
.lx-head{max-width:var(--wrap);padding:3rem 2.5rem 2.5rem}
.lx-head h1{font-size:var(--fs-page);line-height:var(--lh-head);letter-spacing:-.01em;margin:.8rem 0 1.1rem}
.lx-head .desc{font-size:var(--fs-3);line-height:1.75;max-width:var(--measure);color:var(--text-secondary)}
.lx-meta{gap:2.4rem;margin-top:2rem;padding-top:1.4rem}
.lx-meta .n{font-family:var(--sans);font-size:1.8rem;font-weight:700;letter-spacing:-.01em}
body.study .lx-meta .n{color:var(--gold)}
.lx-meta .l{font-size:var(--fs-0);margin-top:.3rem}
.lx-main{max-width:var(--wrap);padding:0 2.5rem 5rem}
.lx-seg{margin-bottom:3rem}
.lx-seg-head{padding-bottom:.9rem;margin-bottom:1rem;border-bottom:1px solid var(--text-primary);gap:1rem}
.lx-seg-tag{font-size:var(--fs-0);letter-spacing:.04em;font-weight:600;padding:.3rem .6rem}
.lx-seg-head h2{font-size:var(--fs-5);letter-spacing:0}
.lx-seg-head .cnt{font-size:var(--fs-0)}
.lx-row{grid-template-columns:56px 1fr auto;gap:1.4rem;padding:1.3rem .6rem}
.lx-num{font-family:var(--sans);font-size:1.5rem;font-weight:700;letter-spacing:0}
.lx-t{font-size:var(--fs-4);font-weight:700;letter-spacing:0;margin-bottom:.3rem}
.lx-d{font-size:var(--fs-1);line-height:1.7}
.lx-out{display:block;margin-top:.4rem;text-transform:none;letter-spacing:.02em}
.lx-badge{font-size:var(--fs-0);font-weight:600;letter-spacing:.02em;padding:.3rem .6rem}
.lx-go{font-size:var(--fs-1);font-weight:600}
.lx-cta{max-width:var(--wrap);padding:2.6rem;margin-bottom:4rem;gap:2rem}
.lx-cta h3{font-size:var(--fs-5);margin-bottom:.6rem}
.lx-cta p{font-size:var(--fs-2);line-height:1.75}
@media(max-width:768px){.lx-head{padding:2rem 1.15rem 1.6rem}.lx-main{padding:0 1.15rem 3rem}.lx-row{grid-template-columns:40px 1fr;gap:.9rem}.lx-num{font-size:1.2rem}.lx-t{font-size:var(--fs-3)}.lx-cta{padding:1.8rem 1.25rem}}

/* ---------- 13. 测一测 ---------- */
.dx-stage{max-width:900px;padding:2.5rem 2rem 5rem}
.dx-intro h1,.dx-intro h1{font-size:var(--fs-7);line-height:var(--lh-display);letter-spacing:-.01em;margin-bottom:1.2rem}
@media(min-width:769px){.dx-intro h1{font-size:var(--fs-7)}.dx-intro .desc{font-size:var(--fs-3)}}
.dx-intro .desc{font-size:var(--fs-3);line-height:1.75;max-width:30em;letter-spacing:0!important}
.dx-intro .btn{font-size:var(--fs-1)!important;padding:.95rem 1.6rem!important}
.dx-intro p:last-child{font-size:var(--fs-0)!important;letter-spacing:.04em!important}
.dx-progress-wrap{margin-bottom:2.4rem}
.dx-progress-meta{text-transform:none;letter-spacing:.04em;margin-bottom:.7rem}
.dx-question{font-family:var(--sans);font-size:var(--fs-5);line-height:1.4;letter-spacing:0;margin-bottom:.5rem}
.dx-question-en{text-transform:none;letter-spacing:.02em;margin-bottom:2rem;color:var(--text-muted)}
html[lang="en"] .dx-question-en{display:none}
.dx-options{gap:.8rem}
.dx-option{padding:1.3rem 1.5rem;gap:1.2rem}
.dx-option .opt-mark{width:34px;height:34px;font-family:var(--sans);font-size:var(--fs-0)}
.dx-option .opt-text{font-size:var(--fs-3);line-height:1.5}
.dx-back{font-size:var(--fs-0);letter-spacing:.04em;text-transform:none}
.dx-result-head{margin-bottom:2.5rem}
.dx-result-code{font-family:var(--sans);letter-spacing:.14em;margin-bottom:.8rem}
.dx-result-name{font-size:var(--fs-6);line-height:var(--lh-head);letter-spacing:-.01em;margin-bottom:.8rem}
.dx-result-tagline{font-size:var(--fs-3);line-height:1.75;max-width:var(--measure)}
.dx-result-grid{gap:var(--sp-gap);margin-bottom:2.5rem}
.dx-result-card{padding:1.6rem;background:var(--panel)}
.dx-result-card .label{font-size:var(--fs-2);font-weight:700;letter-spacing:0;padding-bottom:.7rem;margin-bottom:.9rem;border-bottom:2px solid var(--text-primary)}
body.study .dx-result-card .label{border-bottom-color:var(--gold)}
.dx-result-card .body{font-size:var(--fs-2);line-height:1.8}
.dx-result-card ul li{font-size:var(--fs-1);line-height:1.65}
.dx-route{border-top:2px solid var(--text-primary);padding-top:1.8rem}
body.study .dx-route{border-top-color:var(--gold)}
.dx-route-head h3{font-family:var(--sans);font-size:var(--fs-5);letter-spacing:0;margin-bottom:.4rem}
body.study .dx-route-head h3{font-family:var(--serif)}
.dx-route-head p{font-size:var(--fs-2)}
.dx-route-grid{gap:var(--sp-gap);margin-top:1.4rem}
.dx-route-card{padding:1.5rem;background:var(--panel);gap:.6rem}
.dx-route-card ol,.dx-route-card p{font-size:var(--fs-1);line-height:1.7}
.dx-route-card p b{font-family:var(--sans);font-size:var(--fs-4);font-weight:700}
body.study .dx-route-card p b{font-family:var(--serif)}
.dx-route-card .sub{font-size:var(--fs-0)}
.dx-next{padding:3rem 2.2rem;margin:2.5rem 0}
.dx-next h3{font-size:var(--fs-5);letter-spacing:0;line-height:1.35;margin-bottom:.8rem}
.dx-next p{font-size:var(--fs-2);line-height:1.7;max-width:34em;margin-bottom:1.6rem}
.dx-next-actions .btn{padding:.9rem 1.5rem;font-size:var(--fs-1)}
.dx-next-free{font-size:var(--fs-1)!important}
.dx-result-foot .meta{text-transform:none;letter-spacing:.04em}
.dx-all-preview h4{margin-bottom:1.2rem;text-transform:none;letter-spacing:.04em}
.dx-all-grid{gap:.6rem}
.dx-all-cell{padding:.9rem;font-size:var(--fs-0)}
.dx-all-cell .code{font-family:var(--sans);font-size:.7rem;letter-spacing:.08em;margin-bottom:.3rem}
.dx-all-cell .name{font-size:var(--fs-1)}
.dx-mbti-cell .mbti-code{font-family:var(--sans);font-size:1.25rem;letter-spacing:.04em}
.dx-mbti-cell .mbti-name{font-size:var(--fs-0)}
.dx-mbti-cell .mbti-profile{font-size:.68rem;letter-spacing:.06em}
@media(max-width:768px){.dx-stage{padding:1.5rem 1.15rem 3rem}.dx-intro h1{font-size:clamp(2rem,9vw,2.8rem)}.dx-option .opt-text{font-size:var(--fs-2)}}

/* ---------- 14. 案例页 / 书页（老版式，只统一字号） ---------- */
.page-head{padding:2rem 2.5rem 3.5rem}
.page-head h1{font-size:var(--fs-page);line-height:var(--lh-head);letter-spacing:-.01em;margin:.8rem 0 1.1rem}
.page-head .desc{font-size:var(--fs-3);line-height:1.75}
.page-head .page-stats{font-size:var(--fs-0);letter-spacing:.06em}
.page-head .page-stats .big{font-size:2.4rem;font-weight:700}
.breadcrumb{font-size:var(--fs-0);letter-spacing:.04em;text-transform:none;padding-top:1.8rem}
.ribbon{display:none}
body.study .page-head{border-bottom-color:var(--border)}

/* ---------- 15. 扫码弹层（所有页面同一份） ---------- */
#qr-modal .qr-box{background:var(--panel);border:1px solid var(--border);padding:2rem 2rem 1.6rem;text-align:center;max-width:340px;width:100%;color:var(--text-primary)}
#qr-modal img{width:100%;max-width:240px;display:block;margin:0 auto .9rem;background:#fff}
#qr-modal p{font-size:var(--fs-1);line-height:1.7;margin-bottom:1.2rem;color:var(--text-secondary)}
#qr-modal p b{color:var(--text-primary)}
#qr-modal #qr-say{font-size:var(--fs-2)}
#qr-modal a{text-decoration:underline;text-underline-offset:3px;color:var(--text-primary)}
#qr-modal button{padding:.7rem 2rem;background:var(--text-primary);color:var(--paper);border:none;font-size:var(--fs-0);letter-spacing:.1em;cursor:pointer}
body.study #qr-modal button{background:var(--gold);color:#15120f}

/* ---------- 16. 夜晚模式下课程正文页、案例页、书页的补丁 ---------- */
body.study .ls-side{background:var(--deep)}
body.study .lx-badge.free,body.study .ls-side .free{background:var(--gold);color:#15120f;border-color:var(--gold)}
body.study .case-portrait-box,body.study .dx-mbti-cell,body.study .dx-all-cell{background:var(--panel);border-color:var(--border)}
body.study .case-portrait-box::before{background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px)}

/* ---------- 17. 动效克制：只保留入场淡入，尊重「减少动态效果」 ---------- */
.reveal{transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-kicker .dot{animation:none}}

/* 导航：标志靠左，链接 + 开关一起靠右 */
.nav-inner{justify-content:flex-start}
.nav-links{margin-left:auto}
@media(max-width:768px){.nav-links{margin-left:.4rem}}

/* 课程正文页在夜晚模式下：浅色提示条改成暗金底 */
body.study .lx-read{background:rgba(201,169,97,.14);color:var(--text-secondary)!important}
body.study .lx-read b{color:var(--text-primary)}
body.study .ls-case{border-left-color:var(--gold)}
body.study .ls-case .tag{color:var(--gold)}
/* 手机导航：标志只留方块，给链接和开关腾地方 */
@media(max-width:480px){.logo-main{display:none}.nav-links{gap:.8rem}.nav-links .btn{padding:.5rem .65rem}}

/* ---------- 18. 修：夜晚模式下「深底块」里的字（原规则把字染成 --paper，而夜晚 --paper 是深色） ---------- */
body.study .dx-next *,body.study .lx-cta *,body.study .ls-scene *,body.study .ls-unlock *,body.study .case-entry.featured *{color:var(--text-primary)}
body.study .dx-next p,body.study .lx-cta p,body.study .ls-scene p,body.study .ls-unlock p,body.study .case-entry.featured p{color:var(--text-secondary)}
body.study .ls-scene,body.study .ls-unlock,body.study .case-entry.featured{background:var(--deep);border:1px solid rgba(201,169,97,.4)}
body.study .ls-unlock .btn,body.study .ls-scene .btn{background:var(--gold);color:#15120f}
body.study .ls-unlock .btn *,body.study .ls-scene .btn *{color:#15120f}
body.study .dx-next-eyebrow{color:var(--gold)}
body.study .dx-next-actions .btn-light,body.study .lx-cta .btn-light{background:var(--gold);color:#15120f}
body.study .dx-next-actions .btn-light *,body.study .lx-cta .btn-light *{color:#15120f}
body.study .dx-next-actions .btn-outline-light,body.study .lx-cta .btn-light[style]{background:transparent!important;color:var(--text-primary)!important;border:1px solid rgba(243,238,228,.5)!important}
body.study .dx-next-free a{color:var(--gold);text-decoration:underline}
.dx-result-actions{flex-wrap:wrap}
/* 开场标题：英文更长，字号收一档；句号跟在后面别换行 */
.hero-title .line-3{display:block}
html[lang="en"] .hero-title{font-size:clamp(2.1rem,3.9vw,3.4rem)}
html[lang="en"] .section-title{max-width:22em}
html[lang="en"] .lab h2{max-width:24em}
/* 导航按钮：英文在手机上用短标签 */
.nav-cta-s{display:none}
@media(max-width:600px){html[lang="en"] .nav-cta-l{display:none}html[lang="en"] .nav-cta-s{display:inline}}

/* ---------- 19. 首页 02 结尾：一块面板装下「还」字、三条规矩、另一面 + 出处，宽度对齐 ---------- */
.al-close{margin-top:var(--sp-block);background:var(--panel);border:1px solid var(--border);padding:2.8rem 2.8rem 2.2rem;display:flex;flex-direction:column;gap:2.4rem}
body.study .al-close{border-color:rgba(201,169,97,.4)}
.al-close-top{display:grid;grid-template-columns:minmax(220px,.9fr) 1.6fr;gap:3rem;align-items:center}
.al-close-quote{font-family:var(--sans);font-size:var(--fs-6);font-weight:700;line-height:1.25;letter-spacing:.01em;color:var(--text-primary)}
body.study .al-close-quote{font-family:var(--serif);font-weight:900}
.al-close-quote em{font-style:normal;color:var(--gold)}
.al-close-text{display:flex;flex-direction:column;gap:.9rem;max-width:var(--measure)}
.al-close-text p{font-size:var(--fs-2);line-height:1.8;color:var(--text-secondary);margin:0}
.al-close-text .al-close-lead{font-size:var(--fs-3);line-height:1.7}
.al-close-text .al-close-lead b{color:var(--text-primary);font-weight:600}
.al-rules{list-style:none;margin:0;padding:2rem 0 0;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.al-rules li{display:flex;flex-direction:column;gap:.5rem}
.al-rules .n{font-family:var(--sans);font-size:var(--fs-0);letter-spacing:var(--track);color:var(--gold);font-weight:600}
.al-rules h3{font-size:var(--fs-4);letter-spacing:0;margin:0}
.al-rules p{font-size:var(--fs-1);line-height:1.75;color:var(--text-secondary);margin:0}
.al-close-foot{border-top:1px solid var(--border);padding-top:1.6rem;display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:start}
.al-close-foot p{font-size:var(--fs-1);line-height:1.75;color:var(--text-secondary);margin:0}
.al-close-foot p b{color:var(--text-primary);font-weight:600}
.al-close-foot .lab-src{margin:0;font-size:.78rem;line-height:1.7}
@media(max-width:1024px){.al-close-top{grid-template-columns:1fr;gap:1.4rem}.al-close-foot{grid-template-columns:1fr;gap:1rem}}
@media(max-width:640px){.al-close{padding:1.6rem 1.25rem 1.4rem;gap:1.8rem}.al-rules{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem}}

/* 02 案例：过关一行；结尾只留一句话 + 一个动作，出处折叠 */
.al-case .pass-line{display:flex;gap:.7rem;align-items:baseline;font-size:var(--fs-0);line-height:1.6;color:var(--text-primary);border-top:1px solid var(--border);padding-top:.6rem;margin:0}
.al-case .pass-line span{color:var(--gold);letter-spacing:.08em;flex-shrink:0}
.al-close{gap:1.8rem}
.al-close-text{gap:1.2rem;max-width:32em}
.al-close-text .al-close-lead{font-size:var(--fs-3);line-height:1.7;color:var(--text-primary)}
.al-close-foot{display:block;border-top:1px solid var(--border);padding-top:1rem}
.al-close-foot summary{cursor:pointer;font-size:var(--fs-0);letter-spacing:.06em;color:var(--text-muted);list-style:none}
.al-close-foot summary::-webkit-details-marker{display:none}
.al-close-foot summary::after{content:" +";}
.al-close-foot[open] summary::after{content:" –";}
.al-close-foot p{margin-top:.8rem;max-width:44em}

/* 结尾那句：一行说完，不再三行叠放 */
.al-close-top{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.al-close-quote{font-size:var(--fs-5);line-height:1.4;margin:0}
.al-close-text{max-width:40em}

/* ---------- 20. 学苹果：圆角软一点、按钮更像按钮（老板 09-27 下午） ---------- */
:root{--r:18px;--r-s:10px}
.btn{border-radius:var(--r-s)}
.svc-card,.offer,.case,.al-close,.dx-option,.dx-result-card,.dx-route-card,.dx-next,.lx-cta,.lab-offer,.lab-ticket,#qr-modal .qr-box,.cp-camp,.host-split figure,body.study .hero-host,body:not(.study) .hero-host,.al-cases .lab-fig,.dx-all-cell,.dx-mbti-cell,.lab-final{border-radius:var(--r);overflow:hidden}
.offer-side{border-radius:0 var(--r) var(--r) 0}
.tool-chip,.svc-tag,.lx-badge,.lx-seg-tag,.case-portrait-tag,.tag{border-radius:6px}
.dx-progress-bar,.dx-progress-fill{border-radius:3px}
@media(max-width:1024px){.offer-side{border-radius:0 0 var(--r) var(--r)}}

/* ---------- 21. 首页 01：经验卡（老板 09-27：别写成「助手」，要写成她的经验） ---------- */
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-gap)}
.exp{display:flex;flex-direction:column;gap:.9rem;padding:1.8rem 1.6rem 1.5rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);color:var(--text-primary);transition:transform .25s var(--ease),border-color .2s}
.exp:hover{transform:translateY(-3px);border-color:var(--gold)}
.exp-k{font-size:var(--fs-0);letter-spacing:.06em;color:var(--gold);font-weight:600}
.exp h3{font-size:var(--fs-4);line-height:1.45;letter-spacing:0;margin:0;text-wrap:normal;text-align:left}
body.study .exp h3{font-family:var(--serif);font-weight:700}
.exp p{font-size:var(--fs-1);line-height:1.75;color:var(--text-secondary);margin:0}
.exp-out{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.15rem}
.exp-out span{font-size:var(--fs-0);color:var(--text-muted);letter-spacing:.04em}
.exp-out b{font-size:var(--fs-2);font-weight:600;color:var(--text-primary)}
@media(max-width:1024px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.exp-grid{grid-template-columns:1fr}}

/* 02 结尾：居中，一句大字 + 一句解释 + 按钮 */
.al-close{align-items:center;text-align:center;padding:3rem 2.5rem 1.6rem;gap:1.2rem}
.al-close-quote{font-size:var(--fs-6);line-height:1.3;margin:0;max-width:18em}
.al-close-lead{font-size:var(--fs-3);line-height:1.7;color:var(--text-secondary);margin:0;max-width:30em}
.al-close .hero-cta-row{justify-content:center;margin-top:.4rem}
.al-close-foot{width:100%;text-align:left;margin-top:1rem}
.al-close-foot summary{text-align:center}
.al-close-foot p{margin-left:auto;margin-right:auto}

/* 开场形象（老板 09-27 定）：书的下沿对齐图片下边；说明字放在图片下面一行，不压着书 */
body.study .hero-host img,body:not(.study) .hero-host img{object-position:center 38%}
body.study .hero-host::after,body:not(.study) .hero-host::after{display:none}
body.study .hero-host,body:not(.study) .hero-host{overflow:visible;border:none;box-shadow:none;background:transparent;display:flex;flex-direction:column;gap:.7rem;max-height:none;aspect-ratio:auto}
body.study .hero-host img,body:not(.study) .hero-host img{aspect-ratio:4/5;max-height:600px;border-radius:var(--r);border:1px solid var(--border)}
body.study .hero-host img{border-color:rgba(201,169,97,.35)}
body.study .hero-host .cap,body:not(.study) .hero-host .cap{position:static;display:flex;flex-direction:row;align-items:baseline;gap:.6rem;padding:0 .2rem;color:var(--text-primary)}
body.study .hero-host .cap b,body:not(.study) .hero-host .cap b{color:var(--text-primary);font-size:var(--fs-2)}
body.study .hero-host .cap span,body:not(.study) .hero-host .cap span{color:var(--text-muted);font-size:var(--fs-0);letter-spacing:.04em;text-transform:none}
.exp{gap:1.1rem;padding:1.8rem 1.6rem 1.5rem;min-height:220px}
.exp h3{font-size:var(--fs-5);line-height:1.4}
