
:root{
  --brand:#116B12; --deep:#0A4A0B; --soft:#E8F0E6;
  --gold:#E39A0C; --gold-lt:#FFC864; --gold-dk:#9A6606;
  --ink:#14200F; --ink2:#33422F; --ink3:#5A6A55;
  --paper:#FAF7F0; --card:#FFFFFF; --line:#E3DFD3; --line2:#F0EDE4;
  --mn:Montserrat,"Segoe UI",sans-serif;
  --zh:"Noto Sans SC","Microsoft YaHei",sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--zh);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--deep)}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
.kicker{font-family:var(--mn);font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase}
.num{font-variant-numeric:tabular-nums}
.mn{font-family:var(--mn)}
.jz{text-align:justify;text-justify:inter-ideograph}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- 页眉 ---------------- */
.hd{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.hd .wrap{display:flex;align-items:center;gap:44px;height:76px;padding:0 40px}
.hd .brand{display:flex;align-items:center;gap:13px;flex:none}
.hd .brand svg{height:34px;width:auto;display:block}
.hd .nm b{display:block;font-size:15px;font-weight:700;line-height:1.25;color:var(--ink)}
.hd .nm span{display:block;font-family:var(--mn);font-size:11.5px;color:var(--ink3)}
.hd nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.hd nav a{line-height:1.2;font-size:14px;font-weight:700;color:var(--ink2)}
.hd nav a small{display:block;font-family:var(--mn);font-size:10.5px;color:var(--ink3);font-weight:500}
.hd nav a.on,.hd nav a.on small{color:var(--brand)}
.hd nav a.login,.hd nav a.login small{color:var(--brand)}
.hd nav a.fb{flex:none;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center}
.hd nav a.fb svg{width:18px;height:18px;fill:currentColor}
.hd .burger{display:none;flex:none;width:44px;height:44px;margin-left:auto;
  align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--ink2)}

/* ---------------- 页头绿带 ---------------- */
.top{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(120% 150% at 22% 18%, #1C7A1E 0%, #125C14 44%, #0B440E 100%)}
.top::before{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;
  background-repeat:repeat;background-size:160px 160px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.top .wrap{position:relative;padding-top:40px;padding-bottom:38px;
  /* 四个内页 hero 等高：以最高的 HSK 页（考试卡内容最多）为基准，
     矮的往上补空，切换页面时头部不再跳动。左文右卡都是纵向居中，补的空自然分摊。 */
  min-height:570px;
  display:grid;grid-template-columns:minmax(0,1.40fr) minmax(0,1fr);gap:36px;align-items:stretch}
.top .tlead{display:flex;flex-direction:column;justify-content:center}
.top .kicker{color:var(--gold-lt)}
.top h1{font-family:var(--mn);font-size:clamp(27px,3.15vw,40px);font-weight:800;margin:9px 0 0;
  letter-spacing:-.015em;line-height:1.1;text-wrap:balance}
.top .h1zh{font-size:17px;font-weight:700;color:#D8EBD8;margin:7px 0 0}
.top p{margin:15px 0 0;font-size:16px;color:#D0E6D0;line-height:1.75}
.top p.zh{margin-top:9px;font-size:15.5px;color:#B7D6B7;line-height:1.78}
.hcard{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  border-radius:14px;padding:22px;display:flex;flex-direction:column;justify-content:center}
.hcard .big{font-family:var(--mn);font-size:40px;font-weight:800;line-height:1.1;margin-top:8px;
  font-variant-numeric:tabular-nums}
.hcard .sub{font-size:15.5px;color:#CFE6CF;margin-top:4px}
.hcard hr{border:0;border-top:1px solid rgba(255,255,255,.2);margin:14px 0}
.hcard .kv{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:#DCEEDC;align-items:baseline}
.hcard .kv span{flex:1 1 auto;min-width:0;word-break:keep-all}
.hcard .kv + .kv{margin-top:5px}
.hcard .kv b{font-variant-numeric:tabular-nums;color:#fff;flex:0 0 auto;white-space:nowrap}
.hcard .kv.dim{color:#A9C9A9}
.hcard .kv.dim b{color:#A9C9A9;font-weight:400}
.hcard p{margin:0;font-size:15px;color:#DCEEDC;line-height:1.7}
.hcard p.zh{margin-top:4px;font-size:14.5px;color:#A9C9A9}
/* 预约咨询按钮下的联系方式：卡片里其它内容都是左对齐，这里也跟着左对齐，
   否则居中的一小块会把整张卡的轴线打乱 */
.hcard p.cway{margin-top:11px;text-align:center;font-size:13.5px;color:#A9C9A9;
  line-height:1.75;font-variant-numeric:tabular-nums}
.hcard p.cway a{color:#DCEEDC;text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.hcard p.cway a:hover{color:#fff;text-decoration-color:#fff}

/* ---------------- 按钮 ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:0 26px;border-radius:10px;font-family:var(--mn);font-weight:700;
  font-size:15.5px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--gold-lt);outline-offset:3px}
.btn-gold{background:var(--gold);color:#241900;font-weight:800;
  box-shadow:0 6px 20px rgba(227,154,12,.3)}
.btn-ghost{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34);color:#fff}
.btn-line{background:var(--card);border-color:#C6D8C3;color:var(--brand)}
.btn-line:hover{border-color:var(--brand);background:#F4FAF3}
.btn-wide{width:100%}

/* ---------------- 区块 ---------------- */
.sec{padding:36px 0 0}
.sec + .sec{padding-top:40px}
.sec + .sec > .wrap > .sech{border-top:1px solid #EFEBE1;padding-top:36px;margin-top:-4px}
.sech h2{font-family:var(--mn);font-size:26px;font-weight:800;margin:0;line-height:1.2;
  display:inline}
.sech .h2zh{font-size:16.5px;font-weight:700;color:var(--ink2);margin-left:14px}
.sech .rule{display:block;width:34px;height:3px;background:var(--gold);border-radius:2px;
  margin:12px 0 0}
.sech p{margin:10px 0 0;font-size:16px;color:var(--ink2);line-height:1.72;max-width:78ch}
.sech .zh2{color:var(--ink2)}
.sech .sechp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 46px;align-items:start}
.sech .sechp p{max-width:none}
.sech + *{margin-top:18px}
.note{font-size:14.5px;color:var(--ink3);margin:12px 0 0;line-height:1.7}

/* ---------------- 卡片栅格 ---------------- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.card h3{font-family:var(--mn);font-size:18px;font-weight:700;margin:0;line-height:1.3}
.card .h3zh{font-size:15.5px;color:var(--ink2);margin:2px 0 0}
.card p{margin:9px 0 0;font-size:15px;color:var(--ink2);line-height:1.7}

/* ---------------- 通用折叠按钮 ---------------- */
.more{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;
  min-height:48px;padding:0 22px;border-radius:10px;border:1.5px solid #C6D8C3;
  background:var(--card);color:var(--brand);font-family:var(--mn);font-weight:700;
  font-size:15px;cursor:pointer}
.more:hover{border-color:var(--brand);background:#F4FAF3}
.more svg{transition:transform .15s ease}
.more[aria-expanded=true] svg{transform:rotate(180deg)}
[hidden]{display:none !important}

/* ---------------- 页脚绿框 ---------------- */
.end{margin-top:44px;padding:38px 0 40px;color:#fff;
  background:radial-gradient(110% 130% at 70% 20%, #146716 0%, #0A4A0B 62%, #073A08 100%)}
.end .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:center}
.end h2{font-family:var(--mn);font-size:26px;font-weight:800;margin:0;line-height:1.25}
.end .h2zh{font-size:17px;font-weight:700;color:#CFE6CF;margin:6px 0 0}
.end p{margin:12px 0 0;font-size:16px;color:#CDE3CD;line-height:1.72}
.end p.zh{margin-top:7px;font-size:15.5px;color:#A6C6A6}
.end .ctas{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.foot{background:#062C07;color:#9CBE9C;font-size:14.5px;padding:34px 0 0}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 64px;padding-bottom:26px}
.foot .fcol{justify-self:end;text-align:right}
.foot p{margin:0 0 7px;line-height:1.7}
.foot .fabout p{color:#B4D2B4}
.foot .fabout p.zh{color:#7FA37F;font-size:13.5px;margin-top:8px;
  text-align:justify;text-justify:inter-ideograph}
.foot .fcol b{display:block;font-family:var(--mn);font-size:14px;font-weight:700;color:#DCEEDC;
  margin-bottom:9px}
.foot .fcol .num{font-variant-numeric:tabular-nums;color:#DCEEDC;font-weight:700}
.foot a{color:#9CBE9C}
.foot a:hover{color:#fff;text-decoration:underline}
.fbar{border-top:1px solid rgba(255,255,255,.1);padding:14px 0 16px;font-size:13px;font-variant-numeric:tabular-nums;color:#6E9370;text-align:center}
.fbar span{color:#5C7E5C}
.foot-min{padding-top:0}
.foot-min .fbar{border-top:0;padding:18px 0}
@media (max-width:900px){
  .fgrid{grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:20px}
  .foot .fcol{justify-self:start;text-align:left}
  .foot{padding-top:26px}
}

/* ================= 断点 ================= */
@media (max-width:1040px){
  .wrap{padding:0 24px}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hd nav{display:none}
  .hd .burger{display:flex}
  .hd .wrap{height:64px;gap:12px}
  .hd .brand svg{height:28px}
  .hd .nm b{font-size:13px}
  .hd .nm span{font-size:10px}
  .top .wrap{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:26px;padding-bottom:24px;min-height:0}
  .top .tlead{display:block}
  .top h1{font-size:27px}
  .top .h1zh{font-size:15.5px}
  .end .wrap{grid-template-columns:minmax(0,1fr);gap:16px}
  .end h2{font-size:21px}
  .end .ctas{flex-direction:column;align-items:stretch}
  .end .ctas .btn{width:100%}
  .g2,.g3{grid-template-columns:minmax(0,1fr)}
  .sec{padding:28px 0 0}
  .sec + .sec{padding-top:30px}
  .sec + .sec > .wrap > .sech{padding-top:26px}
  .sech h2{font-size:21px;display:block}
  .sech .h2zh{display:block;margin:2px 0 0;font-size:15.5px}
  .sech .sechp{grid-template-columns:minmax(0,1fr);gap:0}
  .end{margin-top:32px;padding:28px 0 30px}
}
@media (max-width:560px){
  .wrap{padding:0 18px}
  .g4{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:900px){
  .hd nav.open{display:flex;position:absolute;left:0;right:0;top:64px;flex-direction:column;
    gap:0;background:var(--card);border-bottom:1px solid var(--line);padding:6px 24px 14px;
    box-shadow:0 12px 24px rgba(20,32,15,.08)}
  .hd nav.open a{padding:12px 0;border-top:1px solid var(--line2);font-size:16px}
  .hd nav.open a:first-child{border-top:0}
  .hd nav.open a small{font-size:12px}
  .hd nav.open a.fb{width:34px;height:34px;padding:0;margin-top:10px}
}

/* ================= 日程表 ================= */
.sched{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.shead,.srow{display:grid;align-items:stretch}
.pc16 .shead,.pc16 .srow{grid-template-columns:242px repeat(5,minmax(0,1fr))}
.pc3 .shead,.pc3 .srow{grid-template-columns:242px repeat(2,minmax(0,1fr))}
.pcy .shead,.pcy .srow{grid-template-columns:242px repeat(5,minmax(0,1fr))}
.shead{background:#F5F2EA;border-bottom:1px solid var(--line)}
.shead > div{padding:12px 14px;font-family:var(--mn);font-size:13.5px;font-weight:700;color:var(--ink2)}
.shead > div small{display:block;font-family:var(--zh);font-weight:500;font-size:12.5px;color:var(--ink3)}
.shead .pp{background:#FBF3E4;color:#8A5E05}
.shead .pp small{color:#8A6A2A}
.shead .pc{background:#EFF6EE;color:#0F5A11}
.shead .pc small{color:#3E6440}
.srow{border-bottom:1px solid var(--line2)}
.srow:last-child{border-bottom:0}
.srow .scell{padding:15px 14px;font-size:15.5px;font-variant-numeric:tabular-nums}
.srow .scell.pp{background:#FDF9F1}
.srow .scell.pc{background:#F7FAF6}
.srow .gp{border-left:2px solid var(--line)}
.sdate{padding:15px 18px}
.sdate .d1{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.sdate .d1 b{font-family:var(--mn);font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}
.sdate .d1 span{font-size:14.5px;color:var(--ink2)}
.pill{display:inline-block;margin-top:7px;padding:3px 11px;border-radius:999px;font-size:13px;
  font-weight:700;white-space:nowrap}
.pill.open{background:#DFF0DE;color:#0F5A11}
.pill.shut{background:#EDEAE1;color:#6B7566}
.srow.on{background:#F4FAF3;box-shadow:inset 4px 0 0 var(--brand)}
.srow.on .sdate .d1 b{color:var(--brand)}
.srow.on .scell{background:none}
.srow.past{opacity:.55}
.srow.past .sdate .d1 b{color:var(--ink3)}
.legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:15px;color:var(--ink2);
  margin-top:10px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:8px;
  vertical-align:-1px}
.legend .lp i{background:#F5E3BE;border:1px solid #E0C384}
.legend .lc i{background:#DCEBDA;border:1px solid #B9D4B6}
.sub3{display:flex;align-items:center;gap:10px;font-family:var(--mn);font-size:17px;
  font-weight:700;color:var(--brand);margin:24px 0 10px;flex-wrap:wrap}
.sub3 span{font-family:var(--zh);font-size:15px;color:var(--ink2);font-weight:500}

/* ================= 级别卡 ================= */
.lv{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px;
  display:flex;flex-direction:column;gap:10px;color:inherit}
.lv:hover{border-color:#C9DCC6;box-shadow:0 8px 20px rgba(17,107,18,.08)}
.lv .hd2{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.lv .n{font-family:var(--mn);font-size:44px;font-weight:800;color:var(--brand);line-height:1;
  font-variant-numeric:tabular-nums}
.lv .n.sm{font-size:34px;line-height:1.29}
.lv .n.xs{font-size:28px;line-height:1.57}
.lv .sk{font-family:var(--mn);font-size:13px;color:var(--ink3);font-weight:600;text-align:right;
  line-height:1.4}
.lv .t{font-family:var(--mn);font-size:17px;font-weight:700;color:var(--ink)}
.lv .tzh{font-size:15.5px;color:var(--ink2)}
.lv .cnt{font-family:var(--mn);font-size:15.5px;font-weight:700;color:var(--gold-dk);
  font-variant-numeric:tabular-nums}
.lv .go{font-size:14.5px;color:var(--brand);font-weight:700;margin-top:auto;padding-top:4px}
.lv.dark{background:var(--deep);border-color:var(--deep);color:#fff}
.lv.dark .n,.lv.dark .cnt{color:var(--gold-lt)}
.lv.dark .t{color:#fff}
.lv.dark .tzh{color:#CFE6CF}
.lv.dark .sk{color:#BFDCBF}
.lv.dark .go{color:#fff}

/* ================= 开班表 ================= */
.cr{display:grid;grid-template-columns:300px minmax(0,1fr) 210px;border-bottom:1px solid var(--line2)}
.cfee .fee{display:none}      /* 名称旁的学费只在手机版卡片里显示 */
.cr:last-child{border-bottom:0}
.cr > div{padding:16px}
.cr.head{background:#F5F2EA;border-bottom:1px solid var(--line)}
.cr.head > div{padding:12px 16px;font-family:var(--mn);font-size:13.5px;font-weight:700;color:var(--ink2)}
.cr.head > div small{display:block;font-family:var(--zh);font-weight:500;font-size:12.5px;color:var(--ink3)}
.cr.head.gold{background:#FBF6EA;border-bottom-color:#EADFC4}
.cr.head.gold > div small{color:#8A6A2A}
.cname{font-family:var(--mn);font-size:17px;font-weight:700;color:var(--ink)}
.cnamezh{font-size:14.5px;color:var(--ink2)}
.terms{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.term{display:inline-flex;align-items:baseline;gap:10px;padding:9px 15px;border-radius:9px;
  background:#F6F4EC;border:1px solid #E7E2D5;white-space:nowrap}
.term b{font-family:var(--mn);font-size:15px;font-weight:700;color:var(--brand)}
.term span{font-family:var(--mn);font-size:16px;color:var(--ink2);font-variant-numeric:tabular-nums}
.fee{font-family:var(--mn);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}

/* ================= 留学：门槛徽章 / 流程 ================= */
.hskb{display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;border-radius:8px;
  background:var(--brand);color:#fff;font-family:var(--mn);font-weight:800;font-size:16px;
  white-space:nowrap;align-self:flex-start}
.hskb.none{background:#EFF3EC;color:var(--ink2)}
.hskb.gold{background:var(--gold-lt);color:#241900}
.flow{display:grid;grid-template-columns:1.42fr 1.42fr 1fr 1fr 1fr;gap:14px}
.fc{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:17px 18px}
.fc .m{font-family:var(--mn);font-size:20px;font-weight:800;color:var(--brand)}
.fc .mzh{font-size:14.5px;color:var(--ink3)}
.fc p{margin:9px 0 0;font-size:15px;color:var(--ink2);line-height:1.68}
.fc.gold{background:#FFF8E8;border:1.5px solid var(--gold)}
.fc.gold .m{color:var(--gold-dk)}
.fc.gold .mzh{color:#7A5304}
.fc.gold .warn{margin-top:8px;font-size:14.5px;color:#7A5304;font-weight:600;line-height:1.6}
.fc.dark{background:var(--deep);border-color:var(--deep)}
.fc.dark .m{color:var(--gold-lt)}
.fc.dark .mzh{color:#BFDCBF}
.fc.dark p{color:#CFE6CF}
.tag{margin-top:12px;padding:9px 13px;border-radius:9px;font-size:15px;font-weight:700}
.tag.g{background:#F1F7F0;border:1px solid #D9E7D6;color:#0F5A11}
.tag.y{background:#FBF6EA;border:1px solid #EADFC4;color:#7A5304}

/* ================= Top-30 ================= */
.ur{display:grid;grid-template-columns:58px 320px 150px minmax(0,1fr);align-items:center;
  border-bottom:1px solid var(--line2)}
.ur:last-child{border-bottom:0}
.ur > div{padding:11px 14px;font-size:15.5px}
.ur.head{background:#F5F2EA;border-bottom:1px solid var(--line)}
.ur.head > div{padding:12px 14px;font-family:var(--mn);font-size:13.5px;font-weight:700;color:var(--ink2)}
.ur.head > div small{display:block;font-family:var(--zh);font-weight:500;font-size:12.5px;color:var(--ink3)}
.ur .rk{font-family:var(--mn);font-weight:800;color:var(--gold-dk);font-size:17px;
  font-variant-numeric:tabular-nums}
.ur .un{font-family:var(--mn);font-size:16px;font-weight:700;color:var(--ink)}
.ur .uz{font-size:14.5px;color:var(--ink2)}
.ur .cz{font-size:14.5px;color:var(--ink3)}

/* ================= 教学资源手风琴 ================= */
.book{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.bookh{display:flex;align-items:center;gap:14px;width:100%;padding:16px 20px;cursor:pointer;
  background:#F5F2EA;border:0;border-bottom:1px solid var(--line);text-align:left;
  font:inherit;color:inherit}
.bookh:hover{background:#F0ECE1}
.bookh b{font-family:var(--mn);font-size:19px;font-weight:700}
.bookh i{font-style:normal;font-size:15px;color:var(--ink3);font-variant-numeric:tabular-nums}
.bookh svg{margin-left:auto;color:var(--ink3);transition:transform .15s ease}
.bookh[aria-expanded=true] svg{transform:rotate(180deg)}
.les{display:flex;align-items:center;gap:14px;width:100%;padding:13px 20px;cursor:pointer;
  border:0;border-top:1px solid var(--line2);background:none;text-align:left;font:inherit;color:inherit}
.les:hover{background:#FBFAF6}
.les .ln{flex:none;width:38px;height:38px;border-radius:9px;background:#EFF3EC;color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-family:var(--mn);font-weight:800;
  font-size:17px;font-variant-numeric:tabular-nums}
.les[aria-expanded=true] .ln{background:var(--brand);color:#fff}
.les .lt{flex-grow:1;min-width:0}
.les .lt b{display:block;font-size:16.5px;font-weight:700;color:var(--ink)}
.les .lt span{display:block;font-family:var(--mn);font-size:14.5px;color:var(--ink3)}
.les svg{flex:none;color:var(--ink3);transition:transform .15s ease}
.les[aria-expanded=true] svg{transform:rotate(180deg)}
.mods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px;
  background:#FBFAF6;border-top:1px solid var(--line2)}
.mod{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:10px;
  background:var(--card);border:1px solid #E7E2D5;min-height:52px;color:inherit}
.mod:hover{border-color:#C9DCC6}
.mod .bd{flex:none;width:26px;height:26px;border-radius:7px;display:flex;align-items:center;
  justify-content:center;font-size:15px;font-weight:700}
.mod .ml b{display:block;font-size:15px;font-weight:700;color:var(--ink)}
.mod .ml span{display:block;font-family:var(--mn);font-size:13.5px;color:var(--ink3)}
.mod .mc{margin-left:auto;font-family:var(--mn);font-size:14px;font-weight:700;white-space:nowrap;
  font-variant-numeric:tabular-nums}

/* 窄栏里不做两端对齐：一行放不下十来个词时，justify 会把词距拉成一道道空隙。
   两端对齐只留给页头、区块引子这类宽栏。 */
.kind .jz,.fc .jz,.lv .jz,.card .jz{text-align:left;text-wrap:pretty}
/* 双语排版：蒙文为主行，中文为副行——副行小半档，但颜色仍在可读区间（不用浅灰） */
.zh2{font-size:14.5px !important;color:var(--ink3) !important;margin-top:5px !important}
.fc.dark .zh2{color:#A9C9A9 !important}
.fc.gold .warn.zh2{color:#8A6A2A !important;font-weight:500 !important}
.tag span{display:block;font-size:13.5px;font-weight:500;margin-top:2px;opacity:.85}
.sech p + p{font-size:15px;color:var(--ink3);margin-top:6px}
.ur .cz{margin-top:2px}

/* ================= 词卡 ================= */
.wc{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:20px 22px;color:inherit;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.wc:hover{transform:translateY(-2px);border-color:#C9DCC6;box-shadow:0 8px 22px rgba(17,107,18,.10)}
.wch{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.wch .wcbk{display:flex;flex-direction:column;gap:2px}
.wch b{font-family:var(--mn);font-size:17px;font-weight:700;color:var(--ink)}
.wch .wcmn{font-style:normal;font-size:12.5px;color:var(--ink3);font-weight:500}
.wch span{font-size:14.5px;color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap}
.wcn{display:flex;align-items:baseline;gap:9px}
.wcn b{font-family:var(--mn);font-size:38px;font-weight:800;color:var(--brand);line-height:1;
  font-variant-numeric:tabular-nums}
.wcn span{font-size:14.5px;color:var(--ink2)}
.wmodes{display:flex;gap:6px;flex-wrap:wrap}
.wm{display:inline-flex;align-items:baseline;gap:5px;padding:5px 9px;border-radius:8px;
  background:#EFF3EC;font-family:var(--mn);font-size:12.5px;font-weight:700;color:#0F5A11;
  white-space:nowrap}
.wm i{font-style:normal;font-family:var(--zh);font-weight:500;color:var(--ink2);font-size:12.5px}
.wmtop{margin:-4px 0 16px}
.wm{font-size:13px}
.wm i{font-size:13px}
.wcgo{margin-top:auto;padding-top:4px;font-size:14.5px;font-weight:700;color:var(--brand)}

/* ================= 手机断点：表格拆成卡片 ================= */
@media (max-width:900px){
  .shead,.cr.head,.ur.head{display:none}
  .sched{background:none;border:0;border-radius:0;overflow:visible}
  .srow{display:block;background:var(--card);border:1px solid var(--line);border-radius:13px;
    padding:15px 16px 12px;margin-bottom:11px;box-shadow:none}
  .srow.on{border-color:var(--brand);background:#F4FAF3;box-shadow:none}
  .srow.past{opacity:1}
  .srow.past .sdate .d1 b,.srow.past .scell{color:var(--ink3)}
  .sdate{padding:0}
  .srow .scell{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    padding:9px 0;border-top:1px solid var(--line2);background:none !important;font-size:15.5px}
  .srow .scell::before{content:attr(data-label);color:var(--ink3);font-weight:400;
    font-variant-numeric:normal}
  .srow .gp{border-left:0}
  .srow.on .scell{border-top-color:#DCE8DA}
  .cr{display:block;background:var(--card);border:1px solid var(--line);border-radius:13px;
    padding:15px 16px 12px;margin-bottom:11px}
  .cr > div{padding:0}
  .cr .cfee{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
  .cfee .fee{display:block}
  .cr > .fee{display:none}      /* 手机版隐藏第三列，避免又出现两份 */
  .terms{flex-direction:column;align-items:stretch;gap:0}
  .term{justify-content:space-between;background:none;border:0;border-top:1px solid var(--line2);
    border-radius:0;padding:11px 0;min-height:46px}
  .ur{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line2);border-bottom:0}
  .ur > div{padding:0}
  .ur .rk{flex:none;width:30px;text-align:right}
  .ur .ub{flex-grow:1;min-width:0}
  .flow{grid-template-columns:minmax(0,1fr)}
  .mods{grid-template-columns:minmax(0,1fr)}
  .bookh{padding:14px 16px}
  .bookh b{font-size:17px}
  .les{padding:12px 16px}
  .les .ln{width:34px;height:34px;font-size:16px}
  .les .lt b{font-size:15.5px}
  .les .lt span{font-size:13.5px}
  .sub3{font-size:16px;margin:20px 0 10px}
  .lv .n{font-size:38px}
}
/* 窄屏：HSK 级别卡压成一行——序号方块 + 标题 + 词字数，和定稿一致 */
@media (max-width:560px){
  .lvl{flex-direction:row;align-items:center;gap:14px;padding:13px 15px;min-height:64px}
  .lvl .hd2{flex:none;display:block}
  .lvl .sk{display:none}
  .lvl .n{width:44px;height:44px;border-radius:10px;background:var(--brand);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:21px}
  .lvl .n.sm{font-size:16px}
  .lvl .n.xs{font-size:13px}
  .lvl > div:nth-child(2){flex-grow:1;min-width:0}
  .lvl .t{font-size:16px}
  .lvl .tzh{font-size:14.5px}
  .lvl .cnt{flex:none;text-align:right;font-size:14px;line-height:1.35;white-space:nowrap}
  .lvl .go{display:none}
  .lvl.dark .n{background:var(--gold-lt);color:#241900}
  /* 留学页项目卡：标题在左、门槛徽章在右，说明另起一行（定稿如此） */
  .kind{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center}
  .kind .hskb{grid-column:2;grid-row:1;justify-self:end;align-self:center}
  .kind > div:nth-child(2){grid-column:1;grid-row:1}
  .kind .cnt{grid-column:1 / -1}
  .kind p{grid-column:1 / -1}
}
