/* 陪诊师课堂 v2 —— 移动优先，无外链依赖 */

:root{
  --paper:#F7F4EE;
  --card:#FFFCF7;
  --ink:#2E5D3E;
  --ink-deep:#22422D;
  --gold:#C4A265;
  --gold-text:#856529;
  --gold-on-dark:#E5CE9E;
  --text:#33322E;
  --muted:#6E6A60;
  --line:rgba(46,93,62,.14);
  --line-strong:rgba(46,93,62,.26);
  --band:#F1ECE2;
  --r-card:16px;
  --r-btn:10px;
  --sh-soft:0 2px 10px -6px rgba(34,66,45,.20);
  --sh-card:0 14px 34px -26px rgba(34,66,45,.55);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
html.head-compact{scroll-padding-top:68px}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","MiSans","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;
  font-size:16px;line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px;
}

.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
@media (min-width:768px){.wrap{padding:0 32px}}
@media (min-width:1080px){.wrap{padding:0 40px}}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:60}
.skip:focus{left:12px;top:12px}

/* ---------- header ---------- */
.head{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:var(--paper)}
.head .wrap{display:flex;align-items:center;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;flex:none;white-space:nowrap}
.brand img{width:32px;height:32px}
.brand b{font-size:16px;font-weight:700;letter-spacing:0;line-height:1.1;color:var(--ink)}
@media (min-width:600px){
  .head .wrap{min-height:66px}
  .brand{gap:11px}
  .brand img{width:36px;height:36px}
  .brand b{font-size:17px}
}
@media (min-width:900px){
  .head{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top)}
  .head.is-compact{box-shadow:0 10px 24px -22px rgba(34,66,45,.5)}
  .head .wrap{min-height:72px;transition:min-height .16s ease-out}
  .brand{gap:12px}
  .brand img{width:40px;height:40px;transition:width .16s ease-out,height .16s ease-out}
  .brand b{font-size:18px;transition:font-size .16s ease-out}
  .head.is-compact .wrap{min-height:56px}
  .head.is-compact .brand img{width:32px;height:32px}
  .head.is-compact .brand b{font-size:16px}
}
.nav{display:flex;gap:14px;margin-left:auto;font-size:13.5px;color:var(--muted)}
.nav a{padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap}
.nav a[aria-current]{color:var(--ink);border-bottom-color:var(--gold)}
.nav a:hover{color:var(--ink)}
.nav .contact{color:var(--ink);font-weight:600}
@media (max-width:1079px){
  .nav{gap:9px;font-size:12.5px}
}

.menu{display:none;position:relative;margin-left:auto}
.menu summary{
  list-style:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink);
  padding:8px 0;min-height:44px;display:flex;align-items:center;gap:6px;
}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";width:6px;height:6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg);margin-top:-3px}
.menu[open] summary::after{transform:rotate(225deg);margin-top:3px}
.menu .panel{
  position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:168px;
  background:var(--card);border:1px solid var(--line-strong);border-radius:10px;
  padding:4px 16px;
}
.menu .panel a{display:block;padding:11px 0;font-size:14px;color:var(--text);border-bottom:1px solid var(--line)}
.menu .panel a:last-child{border-bottom:0;color:var(--ink);font-weight:600}
@media (max-width:1079px){
  .nav{display:none}
  .menu{display:block}
}

/* ---------- hero ---------- */
.hero{padding-top:30px;padding-bottom:30px}
.hero-grid{display:grid;gap:24px}
@media (min-width:900px){
  .hero{padding-top:68px;padding-bottom:68px}
  .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:start}
}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:13px;color:var(--ink);letter-spacing:.04em}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block;flex:none}
h1{
  margin:0;font-size:2.5rem;line-height:1.16;font-weight:700;color:var(--ink);letter-spacing:0;
}
@media (min-width:600px){h1{font-size:3rem}}
@media (min-width:900px){h1{font-size:3.375rem}}
h1 em{font-style:normal;color:var(--gold)}
.lead{margin:16px 0 0;font-size:1rem;line-height:1.8;color:var(--text);max-width:32em}
@media (min-width:900px){.lead{font-size:1.125rem;margin-top:24px}}

.price{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.price-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price-row b{font-size:1.75rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0}
.price-row span{font-size:13px;color:var(--muted)}
.spec-row{margin:8px 0 0;display:flex;flex-wrap:wrap;column-gap:8px;row-gap:2px;font-size:13px;color:var(--muted);line-height:1.85}
.spec-row span{white-space:nowrap}
.spec-row span:not(:last-child)::after{content:"·";margin-left:8px;color:var(--line-strong)}

.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 20px;border:1px solid var(--ink);border-radius:var(--r-btn);
  background:var(--ink);color:#FBFAF6;font-size:15px;font-weight:600;cursor:pointer;
}
.btn:hover{background:var(--ink-deep);border-color:var(--ink-deep)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:rgba(46,93,62,.06)}
.btn.gold{background:var(--gold-on-dark);border-color:var(--gold-on-dark);color:#2A2A24}
.btn.gold:hover{background:#F0DBB0;border-color:#F0DBB0}
.btn.sm{min-height:40px;padding:0 14px;font-size:13.5px}

/* 状态卡 */
.status{
  background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:var(--r-card);padding:18px;box-shadow:var(--sh-soft);
}
@media (min-width:900px){.status{padding:26px}}
.status .tag{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;color:var(--muted);margin:0 0 10px;
}
.status .tag i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block}
.status h3{margin:0 0 6px;font-size:1.0625rem;font-weight:600;color:var(--ink);line-height:1.5}
.status p{margin:0 0 14px;font-size:14.5px;color:var(--muted);line-height:1.75}
.status .btn{width:100%}
.status small{display:block;margin-top:6px;font-size:13px;color:var(--muted);line-height:1.7}
.mini-steps{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px}
.mini-steps span{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted)}
.mini-steps b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}

/* ---------- 区块 ---------- */
section{padding:28px 0}
@media (min-width:900px){section{padding:64px 0}}
.sec-head{max-width:40em}
h2{
  margin:0;font-size:1.6875rem;line-height:1.35;font-weight:700;color:var(--ink);letter-spacing:0;
}
@media (min-width:600px){h2{font-size:1.875rem}}
@media (min-width:900px){h2{font-size:2rem}}
@media (min-width:1080px){h2{font-size:2.25rem}}
.lead-2{margin:10px 0 0;font-size:15px;line-height:1.75;color:var(--muted);max-width:36em}
.gap-lg{margin-top:24px}
@media (min-width:900px){.gap-lg{margin-top:32px}}

/* 问题列表 */
.qcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.qcard > a{
  display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:56px;
  border-top:1px solid var(--line);
}
.qcard > a:first-child{border-top:0}
.qcard > a:hover{background:rgba(46,93,62,.035)}
.qcard .q{flex:1;font-size:16px;color:var(--text);line-height:1.55}
.qcard .tag{flex:none;font-size:12px;color:var(--muted);background:rgba(46,93,62,.06);border-radius:999px;padding:4px 9px}
.qcard .arrow{flex:none;color:var(--line-strong);font-size:14px}
.qcard .q:hover{color:var(--ink)}
@media (min-width:900px){
  .qgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .qcard{border-radius:0;border:0;background:none;overflow:visible}
  .qcard > a{padding:18px 0;border-top:1px solid var(--line)}
  .qcard > a:hover{background:none}
}

/* 深色时间轴 */
.board{
  margin-top:26px;background:var(--ink);border-radius:var(--r-card);
  padding:24px 20px;color:#FBFAF6;
}
@media (min-width:900px){.board{padding:34px 36px}}
.board .board-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.board .board-top b{font-size:1.125rem;font-weight:600}
.board .board-top span{font-size:13px;color:rgba(251,250,246,.72)}
.tt{display:grid;gap:22px;margin-top:24px}
@media (min-width:900px){.tt{grid-template-columns:1fr 1fr;gap:44px;margin-top:30px}}
.tt-seg{padding-top:16px;border-top:1px solid rgba(229,206,158,.34);position:relative}
.tt-seg::before{
  content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--gold);
}
.tt-time{font-size:12.5px;letter-spacing:.04em;color:var(--gold-on-dark);font-variant-numeric:tabular-nums}
.tt-name{display:block;margin-top:6px;font-size:1.0625rem;font-weight:600}
.tt-desc{display:block;margin-top:6px;font-size:13.5px;color:rgba(251,250,246,.78);line-height:1.8}
.board .foot-note{
  margin:24px 0 0;padding-top:16px;border-top:1px solid rgba(229,206,158,.24);
  font-size:13px;color:rgba(251,250,246,.76);line-height:1.85;
}

/* 工具卡 */
.tools{display:grid;gap:16px;margin-top:24px}
@media (min-width:900px){.tools{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}}
.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}
@media (min-width:900px){.tool{padding:26px}}
.tool h3{margin:0 0 6px;font-size:1.0625rem;font-weight:600;color:var(--ink)}
.tool p{margin:0 0 14px;font-size:14.5px;color:var(--muted);line-height:1.75}
.tool .label{display:block;margin-bottom:8px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.tool .state{
  display:inline-flex;align-items:center;gap:6px;margin-top:2px;
  font-size:12px;color:var(--ink);background:rgba(46,93,62,.07);border-radius:999px;padding:4px 10px;
}

.mock{width:100%;border-collapse:collapse;font-size:12.5px}
.mock tr{border-top:1px solid var(--line)}
.mock th{text-align:left;font-weight:400;color:var(--muted);padding:9px 0}
.mock td{text-align:right;color:var(--muted);padding:9px 0;font-variant-numeric:tabular-nums}
.mock tr.sum{border-top:1px solid var(--line-strong)}
.mock tr.sum th,.mock tr.sum td{color:var(--ink);font-weight:600}

.check{list-style:none;margin:0;padding:0}
.check li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--text)}
.check li:first-child{border-top:0}
.check i{width:15px;height:15px;border:1px solid rgba(196,162,101,.8);border-radius:3px;display:block;flex:none}

/* 讲师 */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;max-width:640px}
@media (min-width:900px){.stats{gap:28px;margin-top:28px}}
.stat{padding-top:14px;border-top:1px solid var(--line)}
.stat b{display:block;font-size:1.375rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.7}
.who{display:grid;gap:16px;margin-top:24px}
@media (min-width:900px){.who{grid-template-columns:1.15fr .85fr;gap:24px;margin-top:28px}}
.person{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px;display:flex;gap:14px}
@media (min-width:900px){.person{padding:26px}}
.mono{
  width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:17px;font-weight:600;
}
.person h3{margin:0;font-size:1.0625rem;font-weight:600;color:var(--ink)}
.person .role{margin:2px 0 0;font-size:13px;color:var(--muted)}
.person p.body{margin:10px 0 0;font-size:14.5px;line-height:1.8;color:var(--text)}
.note{background:transparent;border:1px solid var(--line);border-radius:var(--r-card);padding:18px}
@media (min-width:900px){.note{padding:26px}}
.note h3{margin:0 0 10px;font-size:1.0625rem;font-weight:600;color:var(--ink)}
.note p{margin:0 0 8px;font-size:14px;color:var(--muted);line-height:1.8}
.note p:last-child{margin-bottom:0}

/* 适合 / 不适合 */
.fit{display:grid;gap:12px;margin-top:20px}
@media (min-width:900px){.fit{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}}
.fitcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px}
@media (min-width:900px){.fitcard{padding:26px}}
.fitcard h3{margin:0 0 12px;font-size:1.0625rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.fitcard h3 i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:block}
.fitcard ul{list-style:none;margin:0;padding:0}
.fitcard li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.7}
.fitcard li:first-child{border-top:0;padding-top:0}
.fitcard li i{flex:none;font-style:normal;font-size:13px;width:16px;text-align:center}
.yes li i{color:var(--ink)}
.no li{color:var(--muted)}
.no li i{color:rgba(110,106,96,.7)}

/* FAQ */
.faq{margin-top:22px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 0;
  cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .sign{flex:none;margin-left:auto;color:var(--gold-text);font-size:15px;transition:transform .18s ease}
.faq details[open] summary .sign{transform:rotate(45deg)}
.faq details p{margin:0 0 18px;font-size:15px;line-height:1.85;color:var(--muted);max-width:34em}

/* 三层 */
.layers{margin-top:22px;border-top:1px solid var(--line)}
.layer{
  display:grid;grid-template-columns:auto 1fr;
  grid-template-areas:"kind title" "desc desc" "go go";
  gap:4px 10px;padding:18px 0;border-bottom:1px solid var(--line);
}
.layer .kind{
  grid-area:kind;align-self:start;font-size:12px;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;justify-self:start;
}
.layer h3{grid-area:title;margin:0;font-size:16px;font-weight:600;color:var(--ink)}
.layer p{grid-area:desc;margin:0;font-size:14px;color:var(--muted);line-height:1.75}
.layer .go{
  grid-area:go;justify-self:start;margin-top:4px;
  font-size:13px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px;
}
.layer.now .kind{background:rgba(46,93,62,.08);border-color:transparent;color:var(--ink)}
@media (min-width:768px){
  .layer{grid-template-columns:88px 1fr auto;grid-template-areas:"kind title go" "kind desc go";align-items:center;gap:6px 24px}
  .layer p{margin-top:2px}
  .layer .go{justify-self:end;margin-top:0}
}
@media (min-width:1024px){
  .layers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:0;margin-top:30px}
  .layer{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}
  .layer .go{margin-top:auto;padding-top:14px}
  .layer p{margin-top:0;min-height:52px}
}

/* ---------- 表单 ---------- */
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;box-shadow:var(--sh-card)}
@media (min-width:900px){.formcard{padding:28px}}
.formcard h3{margin:0 0 8px;font-size:1.0625rem;font-weight:600;color:var(--ink)}
.formcard p{margin:0 0 14px;font-size:15px;color:var(--muted);line-height:1.75}
.formcard > .btn{width:100%}
.formcard .fine{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.75}
.formcard .err{margin:10px 0 0;font-size:12.5px;color:#9B3B2E;line-height:1.6}

#ask{padding-top:32px;padding-bottom:34px;background:var(--band);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
@media (min-width:900px){#ask{padding-top:72px;padding-bottom:72px}}
.ask-grid{display:grid;gap:14px;margin-top:22px}
@media (min-width:900px){.ask-grid{grid-template-columns:1.25fr .75fr;gap:24px;margin-top:34px}}
form{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}
@media (min-width:900px){form{padding:26px}}
fieldset{border:0;margin:0 0 18px;padding:0}
legend{padding:0;margin-bottom:10px;font-size:13.5px;color:var(--text)}
legend b{color:var(--muted);font-weight:400;margin-left:6px;font-size:12px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{
  display:inline-flex;align-items:center;min-height:38px;padding:0 14px;
  border:1px solid var(--line-strong);border-radius:999px;font-size:13.5px;color:var(--text);cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.opt input:checked + span{background:var(--ink);border-color:var(--ink);color:#FBFAF6}
.opt input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}
textarea,input[type=text]{
  width:100%;font-family:inherit;font-size:16px;color:var(--text);
  background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;
  padding:12px 14px;line-height:1.6;
}
textarea{min-height:100px;resize:vertical}
textarea::placeholder,input::placeholder{color:#8E8A80}
textarea:focus,input[type=text]:focus{outline:none;border-color:var(--ink);background:#fff}
.consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;font-size:12.5px;color:var(--muted);line-height:1.7}
.consent input{margin-top:3px;accent-color:var(--ink);flex:none}
form > .btn{width:100%}
form .fine{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.75}
.err{margin:6px 0 0;font-size:12.5px;color:#9B3B2E;line-height:1.6}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.result{
  display:none;margin:18px 0 0;padding:16px;border:1px solid var(--line-strong);
  border-radius:10px;background:rgba(46,93,62,.05);
}
.result.show{display:block}
.result h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ink)}
.result p{margin:0 0 10px;font-size:12.5px;color:var(--muted);line-height:1.75}
.result textarea{font-size:14px;min-height:150px;background:#fff}
.result .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.result .row .btn{width:auto;min-height:42px;font-size:13.5px}
.result .hint{margin:10px 0 0;font-size:12px;color:var(--muted)}

aside.wx{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-card);padding:20px;align-self:start}
@media (min-width:900px){aside.wx{padding:26px}}
aside.wx h3{margin:0 0 4px;font-size:1.0625rem;font-weight:600;color:var(--ink)}
aside.wx .handle{display:flex;align-items:center;gap:10px;margin:12px 0 0;flex-wrap:wrap}
aside.wx .handle b{font-size:1.1875rem;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
aside.wx .copy{
  background:none;border:1px solid var(--line-strong);color:var(--ink);
  border-radius:999px;font-size:13px;padding:6px 12px;min-height:36px;cursor:pointer;
}
aside.wx .copy:hover{background:rgba(46,93,62,.06)}
aside.wx p{margin:12px 0 0;font-size:14px;color:var(--muted);line-height:1.75}
aside.wx .qr{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
aside.wx .qr img{
  width:200px;height:200px;max-width:100%;margin:0 auto 10px;
  background:#fff;border:1px solid var(--line);border-radius:8px;
}
@media (min-width:900px){aside.wx .qr img{width:216px;height:216px}}
aside.wx .qr p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.7;text-align:center}

/* ---------- 页脚 ---------- */
.foot{background:var(--ink-deep);border-top:2px solid rgba(196,162,101,.58);padding:26px 0 22px;color:rgba(251,250,246,.88)}
@media (min-width:900px){.foot{padding:32px 0 24px}}
.ftop{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;justify-content:space-between}
.fbrand b{display:block;font-size:16px;color:var(--gold-on-dark);letter-spacing:.02em}
.fbrand span{display:block;margin-top:4px;font-size:12.5px;color:rgba(251,250,246,.68)}
.flinks{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13.5px}
.flinks a{color:rgba(251,250,246,.9);padding:4px 0;border-bottom:1px solid transparent}
.flinks a:hover{border-bottom-color:var(--gold)}
@media (max-width:599px){
  .ftop{display:block}
  .flinks{margin-top:10px}
}
.fgrid{display:grid;grid-template-columns:1fr;gap:18px}
@media (max-width:599px){
  .fgrid{grid-template-columns:1fr 1fr;gap:16px 16px}
  .fbrand{grid-column:1/-1}
}
@media (min-width:600px){
  .fgrid{grid-template-columns:repeat(3,1fr);gap:26px 20px}
  .fbrand{grid-column:1/-1}
}
@media (min-width:900px){
  .fgrid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
  .fbrand{grid-column:auto}
}
.fbrand b{display:block;font-size:17px;color:var(--gold-on-dark);letter-spacing:.02em}
.fbrand p{margin:8px 0 0;font-size:13.5px;color:rgba(251,250,246,.7);line-height:1.75}
.fcol h4{margin:0 0 10px;font-size:12.5px;font-weight:400;letter-spacing:.06em;color:rgba(251,250,246,.5)}
.fcol a{display:block;padding:4px 0;font-size:14px;color:rgba(251,250,246,.9);min-height:28px}
.fcol a:hover{color:#fff}
.resp{
  margin-top:24px;padding-top:16px;border-top:1px solid rgba(229,206,158,.26);
  display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;color:rgba(251,250,246,.58);line-height:1.7;
}
.resp a{border-bottom:1px solid currentColor}

/* 粘底栏（仅移动端） */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  background:rgba(247,244,238,.97);border-top:1px solid var(--line);
  padding:10px 20px calc(10px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:14px;
  transition:transform .22s ease,opacity .22s ease;
}
.bar.hidden{transform:translateY(110%);opacity:0;pointer-events:none}
.bar .bar-txt{flex:1;min-width:0}
.bar .bar-txt b{display:block;font-size:14.5px;color:var(--ink)}
.bar .bar-txt span{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.bar .btn{min-height:44px;flex:none;padding:0 16px;font-size:14px}
@media (min-width:900px){.bar{display:none}}
@media (max-width:359px){.bar .bar-txt span{display:none}}

/* ---------- 内页模板 ---------- */
.page-head{padding-top:28px;padding-bottom:6px}
@media (min-width:900px){.page-head{padding-top:52px}}
.page-title{margin:0;font-size:1.875rem;line-height:1.22;font-weight:700;color:var(--ink);letter-spacing:0}
@media (min-width:600px){.page-title{font-size:2.125rem}}
@media (min-width:900px){.page-title{font-size:2.5rem}}
.page-lead{margin:14px 0 0;max-width:38em;color:var(--text);font-size:15.5px;line-height:1.8}
@media (min-width:900px){.page-lead{font-size:16.5px}}
.spec-inline{margin:14px 0 0;font-size:13px;color:var(--muted);line-height:1.9}

.prose{max-width:34em;font-size:15.5px;line-height:1.9}
@media (min-width:900px){.prose{font-size:16px}}
.prose p{margin:0 0 1em}
.prose p:last-child{margin-bottom:0}
.prose .sub{margin:34px 0 0;font-size:1.25rem;font-weight:600;color:var(--ink)}
.prose strong{color:var(--ink);font-weight:600}
.footnote{margin-top:22px;font-size:13.5px;color:var(--muted);max-width:36em;line-height:1.8}

/* 联系入口卡 */
.entries{display:grid;gap:14px}
@media (min-width:768px){.entries{grid-template-columns:1fr 1fr;gap:20px}}
.entry{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;
  display:flex;flex-direction:column;gap:6px;
}
.entry h3{margin:0;font-size:16px;font-weight:600;color:var(--ink)}
.entry p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.75;flex:1}
.entry a{
  margin-top:6px;align-self:flex-start;font-size:13px;color:var(--ink);
  border-bottom:1px solid var(--ink);padding-bottom:1px;
}

/* 讲师条目 */
.teacher{
  margin-top:20px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-card);padding:20px;max-width:46em;
}
.teacher h3{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--ink)}
.teacher p{margin:0 0 4px;font-size:14.5px;color:var(--text);line-height:1.8}
.teacher .meta{font-size:12.5px;color:var(--muted);margin-top:8px}

/* 列表 */
.plain-list{margin:16px 0 0;padding:0;list-style:none;max-width:46em}
.plain-list li{
  padding:13px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.75;
}
.plain-list li:first-child{border-top:0}
.plain-list li b{color:var(--ink);font-weight:600;margin-right:6px}

/* 选题行（替代表格，移动端不丢列） */
.rows{margin-top:20px;border-top:1px solid var(--line)}
.row-item{display:grid;gap:4px;padding:15px 0;border-bottom:1px solid var(--line)}
@media (min-width:768px){
  .row-item{grid-template-columns:7em minmax(0,1fr) auto;gap:10px 20px;align-items:center}
}
.row-item .k{font-size:12px;color:var(--muted)}
.row-item .t{font-size:15.5px;color:var(--text);line-height:1.6}
.row-item .s{
  font-size:11.5px;color:var(--muted);border:1px solid var(--line);
  border-radius:999px;padding:3px 9px;justify-self:start;white-space:nowrap;
}

/* 规则条目 */
.rule-group{margin-top:34px}
.rule-group h2{margin:0 0 10px}
.rule-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  padding:18px 20px;margin-top:14px;
}
.rule-card h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--ink)}
.rule-card p{margin:0 0 8px;font-size:14.5px;color:var(--muted);line-height:1.8}
.rule-card p:last-child{margin-bottom:0}
.rule-card ul{list-style:none;margin:0;padding:0}
.rule-card li{padding:8px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.rule-card li:first-child{border-top:0;padding-top:0}
.rule-card .kv{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.rule-card .kv:first-child{border-top:0;padding-top:0}
.rule-card .kv b{font-size:14.5px;font-weight:600;color:var(--ink)}
.rule-card .kv span{font-size:14px;color:var(--muted)}

/* 小工具类 */
.tool .state-line{margin:14px 0 4px}
.tool .meta-line{margin:6px 0 0;font-size:11.5px;color:var(--muted);line-height:1.7}
.subhead{margin-top:34px}
.subhead h3{margin:0 0 6px;font-size:1.0625rem;font-weight:600;color:var(--ink)}
.cta-line{margin:26px 0 0}
.org-note{margin-top:28px;max-width:640px}
.narrow{max-width:640px;margin-top:24px}
.prose a,.note a,.rule-card a,.footnote a{color:var(--ink);border-bottom:1px solid currentColor}

/* 首页压缩块 */
.facts{margin-top:14px;border-top:1px solid var(--line)}
.line-item{
  display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:4px 12px;
  margin:0;padding:9px 0;border-bottom:1px solid var(--line);
  font-size:15px;line-height:1.75;color:var(--text);
}
.line-item b{font-weight:600;color:var(--ink)}
.more{margin:14px 0 0;font-size:13.5px;line-height:1.7}
.more a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px}
.identity{margin:16px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
.identity a{color:var(--ink);border-bottom:1px solid currentColor}
.boundary{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
@media (min-width:900px){.line-item{font-size:15px}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

@media (max-width:599px){
  .fgrid > .fcol:last-child{grid-column:1/-1}
}

/* 首页三段识别卡 */
.fitcard p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.7}
.fitcard .more{margin:10px 0 0}
@media (min-width:900px){
  .stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}

/* 色彩分层：绿作标题与按钮，金作结构信号，米色作段落分隔 */
:root{--sage:#7E9B84}
.sec-head h2{position:relative;padding-top:14px}
.sec-head h2::before{content:"";position:absolute;left:0;top:0;width:26px;height:2px;background:var(--gold)}
#outcomes,#terms{background:var(--band)}
.stages .fitcard{border-top:2px solid var(--sage)}
.line-item b{color:var(--gold-text)}

/* 首批课程 */
.stage-group{margin-top:26px}
.stage-group > h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--gold-text)}
.cc-meta{color:var(--muted);font-size:13px}
.course-mini{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;list-style:none;margin:6px 0 0;padding:0}
.course-mini li{padding:10px 0;border-top:1px solid var(--line);font-size:15px}
@media (max-width:599px){.course-mini{grid-template-columns:1fr}}

/* 处境页的“如果你是这样” */
.note-line{margin:20px 0 0;padding:14px 16px;background:var(--band);border-left:2px solid var(--gold);font-size:15px;color:var(--text);line-height:1.75;border-radius:0 8px 8px 0}

/* 专题页情境 */
.situation{margin:20px 0 0;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);font-size:16px;line-height:1.85;color:var(--text)}
.situation p{margin:0 0 10px}
.situation p:last-child{margin:0}

/* 专题四类信息 */
.info-grid{display:grid;gap:10px;margin-top:14px}
@media (min-width:900px){.info-grid{grid-template-columns:1fr 1fr;gap:12px 32px}}
.info-block{padding:14px 0;border-top:1px solid var(--line)}
.info-block h3{margin:0 0 6px;font-size:1.02rem;font-weight:600;color:var(--ink)}
.info-block p{margin:0 0 5px;font-size:14.5px;line-height:1.7;color:var(--text)}
.info-block .why{color:var(--muted);font-size:13.5px}

/* 首页四个方向 */
.directions{display:grid;gap:10px;margin-top:14px}
@media (min-width:900px){.directions{grid-template-columns:1fr 1fr;gap:12px 32px}}
.direction{padding:14px 0;border-top:1px solid var(--line)}
.direction h3{margin:0 0 6px;font-size:1.02rem;font-weight:600;color:var(--ink)}
.direction p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.7}

/* 课程表：窄屏隐藏状态列 */
.tbl-courses th:first-child,.tbl-courses td:first-child{width:64%}
@media (max-width:600px){
  .tbl-courses th:last-child,.tbl-courses td:last-child{display:none}
}

/* 联系页微信单卡 */
.wx-solo{max-width:420px;margin-top:14px}

/* .more 里的按钮不要继承链接色 */
.more a.btn{color:#fff;border-bottom:0}
.more a.btn.ghost{color:var(--ink)}

/* 退款与改期：块状排列 */
.refund-list{display:grid;gap:8px;margin-top:12px}
@media (min-width:900px){.refund-list{grid-template-columns:1fr 1fr;gap:10px 32px}}
.refund-item{padding:13px 0;border-top:1px solid var(--line)}
.refund-item b{display:block;margin-bottom:4px;font-size:15px;font-weight:600;color:var(--gold-text)}
.refund-item p{margin:0;font-size:15px;line-height:1.75;color:var(--text)}

/* 规则页：两字标签列收窄 */
.facts.tight .line-item{grid-template-columns:3em minmax(0,1fr);gap:4px 10px}

/* 参与共建·参与路径 */
.path{position:relative;margin-top:34px;padding-left:26px}
.path::before{
  content:"";position:absolute;left:4px;top:8px;bottom:30px;width:1px;
  background:var(--line-strong);
}
.leg{position:relative;padding:0 0 42px}
.leg:last-child{padding-bottom:0}
.leg::before{
  content:"";position:absolute;left:-26px;top:5px;width:9px;height:9px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 5px var(--paper);
}
.leg-head h3{margin:0 0 5px;font-size:1.25rem;font-weight:600;color:var(--ink-deep);letter-spacing:.01em}
.leg-head p{margin:0 0 20px;font-size:13.5px;color:var(--muted);line-height:1.7}
.leg-items{display:grid;gap:18px}
@media (min-width:768px){.leg-items{grid-template-columns:1fr 1fr;gap:0 44px}}
.item{padding-top:16px;border-top:1px solid var(--line)}
.item h4{margin:0 0 6px;font-size:1.02rem;font-weight:600;color:var(--ink);letter-spacing:.01em}
.item p{margin:0 0 8px;font-size:14.5px;line-height:1.75;color:var(--text)}
.item .need{margin:0 0 12px;font-size:12.5px;color:var(--gold-text);letter-spacing:.01em}
.item a{
  display:inline-block;padding:6px 0 3px;font-size:13.5px;color:var(--ink);
  border-bottom:1px solid var(--line-strong);
}
.item a:hover{border-color:var(--gold)}

/* 共建理念·核心句 */
.pull{
  margin:24px 0;padding:2px 0 2px 18px;border-left:2px solid var(--gold);
  font-size:1.0625rem;line-height:1.85;color:var(--ink);
}

/* ---------- 首页：课程规格卡 ---------- */
.status .price{margin-top:0;padding-top:14px}
.status .price-row b{font-size:2.25rem;color:var(--ink-deep)}
.status .price-row span{font-size:12.5px}
.status .spec-row{margin-top:8px}

/* ---------- 问题地图 ---------- */
.map{display:grid;margin-top:18px;border-top:1px solid var(--line)}
@media (min-width:768px){.map{grid-template-columns:1fr 1fr;column-gap:52px}}
.map-cell{position:relative;padding:20px 0 20px 32px;border-bottom:1px solid var(--line)}
.map-cell .k{
  position:absolute;left:0;top:23px;font-size:12px;font-weight:600;
  letter-spacing:.08em;color:var(--gold-text);
}
.map-cell h3{margin:0;font-size:1.08rem;font-weight:600;color:var(--ink);line-height:1.5}
.map-cell p{margin:5px 0 0;font-size:14px;color:var(--muted);line-height:1.7}
.map-cell .links{margin:9px 0 0;display:flex;flex-wrap:wrap;column-gap:14px;row-gap:4px;font-size:13.5px}
.map-cell .links a{color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:1px}
.map-cell .links a:hover{border-color:var(--gold)}
.map-cell .pending{color:var(--muted)}

/* 专题翻页 */
.topic-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:8px;padding-bottom:48px;font-size:14px}
@media (min-width:900px){.topic-nav{padding-bottom:64px}}
.topic-nav a{color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.topic-nav a:hover{border-color:var(--gold)}

/* 专题卡里的方向标签 */
.fitcard .cc-meta{margin-top:9px;font-size:12.5px;color:var(--gold-text);letter-spacing:.01em}

@media (min-width:900px){
  .entries.three{grid-template-columns:repeat(3,1fr)}
}

/* 三段并排 */
@media (min-width:900px){
  .info-grid.three{grid-template-columns:repeat(3,1fr);gap:12px 40px}
}

/* 首屏课程卡的规格两行 */
.card-spec{list-style:none;margin:10px 0 0;padding:0}
.card-spec li{position:relative;padding-left:13px;font-size:13px;line-height:1.9;color:var(--muted)}
.card-spec li::before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;border-radius:50%;background:var(--gold)}

.status .card-spec{margin-bottom:14px}

/* 共建者卡片 */
.speakers{display:grid;gap:16px;margin-top:18px}
@media (min-width:900px){.speakers{grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}}
.speaker{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r-card);padding:22px}
.speaker .sp-tag{margin:0 0 8px;font-size:12px;letter-spacing:.02em;color:var(--muted)}
.speaker h3{margin:0 0 4px;font-size:1.15rem;font-weight:600;color:var(--ink)}
.speaker .sp-meta{margin:0 0 10px;font-size:12.5px;color:var(--gold-text)}
.speaker p{margin:0 0 8px;font-size:14.5px;line-height:1.75;color:var(--text)}
.speaker .sp-topic{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.speaker-note{padding:22px 0 0;border-top:1px solid var(--line)}
@media (min-width:900px){.speaker-note{padding:6px 0 0;border-top:0}}
.speaker-note h3{margin:0 0 10px;font-size:1rem;font-weight:600;color:var(--ink)}
.speaker-note ul{margin:0 0 16px;padding:0;list-style:none}
.speaker-note li{padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:var(--text)}
.speaker-note li:first-child{border-top:0}

/* 关于页·标志释义 */
.mark{display:grid;gap:24px;margin-top:20px;align-items:start}
@media (min-width:768px){.mark{grid-template-columns:210px minmax(0,1fr);gap:52px}}
.mark img{width:150px;height:auto;margin:0 auto}
@media (min-width:768px){.mark img{width:196px;margin:2px 0 0}}
.mark-list{margin:0}
.mark-list > div{padding:11px 0;border-top:1px solid var(--line)}
.mark-list > div:first-child{border-top:0;padding-top:0}
.mark-list dt{font-size:15px;font-weight:600;color:var(--ink)}
.mark-list dd{margin:2px 0 0;font-size:14.5px;line-height:1.75;color:var(--text)}

/* 首屏价格行（不再用右侧卡片） */
.hero-price{margin:18px 0 0;font-size:14px;color:var(--muted)}
.hero-price b{font-size:1.25rem;font-weight:700;color:var(--ink-deep);font-variant-numeric:tabular-nums;margin-right:4px}

/* 微课堂区块 */
.class-grid{display:grid;gap:24px;margin-top:22px}
@media (min-width:900px){.class-grid{grid-template-columns:340px minmax(0,1fr);gap:56px;align-items:start}}
.class-notes{display:grid;gap:0;align-content:start}
.class-notes > div{padding:14px 0;border-top:1px solid var(--line)}
.class-notes > div:first-child{border-top:0;padding-top:0}
.class-notes b{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:var(--gold-text)}
.class-notes span{font-size:15.5px;line-height:1.8;color:var(--text)}

/* 共建者：正在邀请的主题 */
.speaker-list h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--ink)}
.speaker-list ul{margin:0;padding:0;list-style:none}
.speaker-list li{padding:13px 0;border-top:1px solid var(--line)}
.speaker-list li:first-child{border-top:0;padding-top:0}
.speaker-list b{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.speaker-list span{display:block;margin-top:2px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.speaker-foot{margin:14px 0 0;font-size:13px;color:var(--muted)}

/* 首页·共建快捷列表 */
.quick{margin-top:18px;border-top:1px solid var(--line);max-width:52em}
.quick a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.quick span{display:grid;gap:3px}
.quick b{font-size:15.5px;font-weight:600;color:var(--ink)}
.quick em{font-style:normal;font-size:14px;line-height:1.7;color:var(--muted)}
.quick i{flex:none;font-style:normal;font-size:15px;color:var(--gold-text)}
.quick a:hover b{color:var(--ink-deep)}
.quick a:hover i{color:var(--ink)}

/* 常见问题 */
.faq{margin-top:16px;border-top:1px solid var(--line);max-width:46em}
.faq > div{padding:15px 0;border-bottom:1px solid var(--line)}
.faq h3{margin:0 0 4px;font-size:15.5px;font-weight:600;color:var(--ink)}
.faq p{margin:0;font-size:14.5px;line-height:1.8;color:var(--text)}

/* 报名后进群 */
.join-card{display:grid;gap:22px;margin-top:18px}
@media (min-width:768px){.join-card{grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}}
.qr-box{
  width:240px;height:240px;display:flex;align-items:center;justify-content:center;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  color:var(--muted);font-size:13px;text-align:center;line-height:1.7;
}
.qr-box img{width:100%;height:100%;object-fit:contain;border-radius:var(--r-card)}
.join-steps h2{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:var(--ink)}
.join-steps ol{margin:0;padding:0;list-style:none;counter-reset:s}
.join-steps li{counter-increment:s;position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--line)}
.join-steps li:first-child{border-top:0;padding-top:0}
.join-steps li::before{
  content:counter(s);position:absolute;left:0;top:14px;width:22px;height:22px;border-radius:50%;
  background:rgba(46,93,62,.08);color:var(--ink);font-size:12px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.join-steps li:first-child::before{top:0}
.join-steps b{display:block;font-size:15.5px;font-weight:600;color:var(--ink)}
.join-steps span{display:block;margin-top:2px;font-size:14px;line-height:1.75;color:var(--muted)}
.join-rules{margin-top:26px;border-top:1px solid var(--line);max-width:46em}
.join-rules > div{padding:13px 0;border-bottom:1px solid var(--line)}
.join-rules b{display:inline-block;min-width:6.5em;font-size:14px;font-weight:600;color:var(--ink)}
.join-rules span{font-size:14px;line-height:1.75;color:var(--text)}

@media (max-width:767px){.qr-box{margin:0 auto}}

/* 承接页·其他情况 */
.next-others{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.next-others h2{margin:0 0 14px;font-size:1.25rem;font-weight:600;color:var(--ink)}
.next-list{margin:0;max-width:46em}
.next-list > div{padding:13px 0;border-top:1px solid var(--line)}
.next-list > div:first-child{border-top:0;padding-top:0}
.next-list b{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.next-list span{display:block;margin-top:2px;font-size:14px;line-height:1.8;color:var(--muted)}
.next-list a{color:var(--ink);border-bottom:1px solid var(--line-strong)}

.next-jump{margin:12px 0 0;font-size:13.5px}
.next-jump a{color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:1px}
