/* ==========================================================================
   青禾童趣版（/green）— 嫩绿门户 · 圆角标签导航 · 左侧服务栏
   独立样式，不依赖其它主题 CSS
   ========================================================================== */

:root{
  --green:#5FAE3A;
  --green-d:#3E7C2A;
  --green-dd:#2F5E25;
  --green-l:#8CC63F;
  --leaf:#A5D867;
  --lime:#DCE94A;
  --cream:#F2F7E9;
  --paper:#FFFFFF;
  --ink:#2E3B22;
  --ink-2:#51603F;
  --muted:#7C8B69;
  --line:#DCE8CB;
  --line-2:#EDF3E3;
  --orange:#E8762B;
  --orange-d:#D2521B;
  --gold:#D9A93B;
  --shadow:0 2px 10px rgba(63,110,38,.08);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans SC",sans-serif;
  font-size:14px;
  line-height:1.65;
  color:var(--ink);
  background:var(--cream);
  background-image:
    radial-gradient(circle at 12% 8%, rgba(165,216,103,.16), transparent 42%),
    radial-gradient(circle at 88% 4%, rgba(220,233,74,.18), transparent 38%);
  background-attachment:fixed;
}

a{color:inherit;text-decoration:none}
a:hover{color:var(--green-d)}
img{max-width:100%;display:block}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}

.wrap{width:min(1200px,94vw);margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bd-empty{padding:18px 12px;color:var(--muted);font-size:13px;text-align:center;background:#F7FBEF;border:1px dashed var(--line);border-radius:6px}
.bd-empty b{display:block;color:var(--ink-2);margin-bottom:2px}

/* ---------------------------------------------------------------- 顶部细条 */
.topbar{
  background:linear-gradient(90deg,#F7FBEF,#EDF5DF);
  border-bottom:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
}
.topbar .wrap{
  height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.tb-addr{display:flex;align-items:center;gap:6px}
.tb-addr svg{color:var(--green)}
.tb-links{display:flex;align-items:center;gap:8px}
.tb-links a{color:var(--ink-2)}
.tb-links a:hover{color:var(--green-d)}
.tb-links em{color:#BFCFAC;font-style:normal}

/* ---------------------------------------------------------------- 报头 */
.masthead{
  position:relative;
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFDF4 58%,#EAF4D8 100%);
  border-bottom:3px solid var(--green-l);
  overflow:hidden;
}
.masthead::before{
  content:"";
  position:absolute;
  inset:auto -10% -34px -10%;
  height:86px;
  background:
    radial-gradient(60px 40px at 10% 100%, #A9D96B 0 60%, transparent 62%),
    radial-gradient(80px 46px at 30% 100%, #B7E07C 0 60%, transparent 62%),
    radial-gradient(90px 52px at 52% 100%, #A2D365 0 60%, transparent 62%),
    radial-gradient(70px 44px at 74% 100%, #B9E381 0 60%, transparent 62%),
    radial-gradient(86px 50px at 94% 100%, #A5D867 0 60%, transparent 62%);
  opacity:.55;
  pointer-events:none;
}
.mast-in{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0 26px;
}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-badge{
  flex:none;
  width:82px;height:82px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#F8A54A 0%,#EE7B2D 46%,#D24E17 100%);
  border:3px solid #fff;
  box-shadow:0 4px 12px rgba(210,78,23,.28),inset 0 0 0 2px rgba(255,255,255,.55);
  display:grid;place-items:center;
}
.brand-badge span{
  font-family:"STKaiti","KaiTi","Noto Serif SC",serif;
  font-size:42px;
  line-height:1;
  color:#FFF8E8;
  text-shadow:0 2px 4px rgba(120,40,0,.35);
}
.brand-logo{
  flex:none;
  width:82px;height:82px;
  border-radius:50%;
  object-fit:contain;
  background:#fff;
  box-shadow:0 4px 12px rgba(45,107,36,.16);
}
.brand-txt{min-width:0}
.brand-t{
  font-family:"STKaiti","KaiTi","Noto Serif SC",serif;
  font-size:38px;
  line-height:1.18;
  letter-spacing:3px;
  color:#2D6B24;
  text-shadow:0 2px 0 #fff,0 4px 8px rgba(62,124,42,.14);
  white-space:nowrap;
}
.brand-en{
  margin-top:2px;
  font-size:11px;
  letter-spacing:3.4px;
  text-transform:uppercase;
  color:#C2833C;
}
.mast-right{position:relative;flex:none;text-align:left;padding-right:8px}
.mast-right::after{
  content:"和";
  position:absolute;
  right:-6px;top:-14px;
  font-family:"STKaiti","KaiTi",serif;
  font-size:96px;
  line-height:1;
  color:rgba(95,174,58,.12);
  pointer-events:none;
}
.mast-motto{position:relative;z-index:1;font-size:15px;color:#3F6B35;letter-spacing:1px}
.mast-motto b{font-weight:400;color:#6B8A55;margin-right:8px}
.mast-motto i{
  font-family:"STKaiti","KaiTi",serif;
  font-style:normal;
  font-size:22px;
  color:#C4551F;
  vertical-align:-2px;
}
.mast-motto + .mast-motto{margin-top:4px}

/* ---------------------------------------------------------------- 导航 */
.tabs{
  background:linear-gradient(180deg,#7CC242 0%,#5FAE3A 55%,#4E9A2F 100%);
  box-shadow:0 3px 8px rgba(63,110,38,.18);
  position:relative;
}
.tabs::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,rgba(220,233,74,.9),rgba(255,255,255,.35),rgba(220,233,74,.9));
}
.tabs-in{
  display:flex;
  flex-wrap:wrap;
  gap:2px;
  padding:7px 0;
}
.tabs-in a{
  display:flex;
  align-items:center;
  gap:3px;
  padding:7px 6px;
  border-radius:6px;
  color:#F6FFEC;
  font-size:13px;
  letter-spacing:0;
  white-space:nowrap;
  transition:background .16s,color .16s;
}
.tabs-in a svg{flex:none;width:13px;height:13px;opacity:.92}
.tabs-in a:hover{background:rgba(255,255,255,.18);color:#fff}
.tabs-in a.on{
  background:linear-gradient(180deg,#E8F25E,#D3E23A);
  color:#2F5117;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 2px 5px rgba(40,80,15,.22);
}
.tabs-in a.on svg{opacity:1}

/* ---------------------------------------------------------------- 通知 + 搜索 */
.noticebar{
  margin-top:12px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 12px;
}
.notice-l{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.notice-chip{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 9px;
  border-radius:20px;
  background:linear-gradient(180deg,#E8F25E,#D3E23A);
  color:#33531B;
  font-size:12px;
  font-weight:700;
}
.notice-link{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink-2);
  font-size:13px;
}
.notice-link:hover{color:var(--green-d);text-decoration:underline}
.notice-more{flex:none;font-size:12px;color:var(--muted)}
.search-form{
  flex:none;
  display:flex;
  align-items:center;
  gap:6px;
  padding-left:12px;
  border-left:1px dashed var(--line);
}
.search-form input[type=search]{
  width:180px;
  height:32px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#FBFDF6;
  font-size:13px;
  outline:none;
}
.search-form input[type=search]:focus{border-color:var(--green-l);box-shadow:0 0 0 2px rgba(140,198,63,.2)}
.search-radios{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.search-radios label{display:inline-flex;align-items:center;gap:3px;cursor:pointer}
.search-radios input{accent-color:var(--green);margin:0}
.search-btn{
  height:32px;
  padding:0 16px;
  border:0;
  border-radius:4px;
  background:linear-gradient(180deg,#75BE3F,#589F2F);
  color:#fff;
  font-size:13px;
  letter-spacing:1px;
  box-shadow:0 2px 5px rgba(63,110,38,.2);
}
.search-btn:hover{background:linear-gradient(180deg,#66AF34,#4A8E27)}

/* ---------------------------------------------------------------- 门户两栏 */
.portal{
  display:grid;
  grid-template-columns:252px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:14px 0 26px;
}
.side{display:flex;flex-direction:column;gap:12px}
.main{display:flex;flex-direction:column;gap:14px;min-width:0}

/* ---------------------------------------------------------------- 侧栏盒子 */
.box{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.box-h{
  display:flex;
  align-items:center;
  gap:6px;
  height:34px;
  padding:0 10px;
  background:linear-gradient(180deg,#F4FAEA,#E8F2D8);
  border-bottom:1px solid var(--line);
  font-size:14px;
  font-weight:700;
  color:#3C6B2A;
  letter-spacing:1px;
}
.box-h .leaf{flex:none;color:var(--green)}
.box-h::after{
  content:"";
  flex:1;
  height:1px;
  margin-left:4px;
  background:repeating-linear-gradient(90deg,#C9DDB1 0 5px,transparent 5px 9px);
}
.box-b{padding:10px}

.login-form{display:flex;flex-direction:column;gap:8px}
.field{display:flex;align-items:center;gap:6px}
.field label{flex:none;width:44px;font-size:13px;color:var(--ink-2)}
.field input{
  flex:1;
  min-width:0;
  height:30px;
  padding:0 8px;
  border:1px solid #CBDCB4;
  border-radius:4px;
  background:#FBFDF6;
  font-size:13px;
  outline:none;
}
.field input:focus{border-color:var(--green-l);background:#fff}
.cap-row{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.cap-img{
  flex:none;
  width:54px;height:30px;
  display:grid;place-items:center;
  border:1px solid #CBDCB4;
  border-radius:4px;
  background:#fff;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:16px;
  font-weight:700;
  letter-spacing:1px;
  color:#3E7A24;
  user-select:none;
}
.login-btn{
  height:32px;
  border:0;
  border-radius:4px;
  background:linear-gradient(180deg,#7EC846,#57A02D);
  color:#fff;
  font-size:14px;
  letter-spacing:3px;
  box-shadow:0 2px 5px rgba(63,110,38,.2);
}
.login-btn:hover{background:linear-gradient(180deg,#6FBA38,#4A8E27)}
.login-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}
.login-foot label{display:inline-flex;align-items:center;gap:3px;cursor:pointer}
.login-foot input{accent-color:var(--green);margin:0}
.login-foot a{color:var(--green-d)}

.mini-list li{border-bottom:1px dashed var(--line-2);font-size:13px}
.mini-list li:last-child{border-bottom:0}
.mini-list a{display:flex;align-items:center;gap:6px;padding:7px 2px;color:var(--ink-2)}
.mini-list a::before{
  content:"";
  flex:none;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--leaf);
}
.mini-list a:hover{color:var(--green-d);padding-left:4px}

.svc-line{
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 2px;
  font-size:13px;
  color:var(--ink-2);
}
.svc-line .ic{
  flex:none;
  width:30px;height:30px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#F1F8E4;
  color:var(--green-d);
  border:1px solid #DFEDCB;
}
.svc-line b{display:block;color:var(--ink);font-size:13px;font-weight:700}
.svc-line span{font-size:11px;color:var(--muted)}
.svc-tel{
  margin-top:6px;
  padding:8px;
  text-align:center;
  border-radius:6px;
  background:#F7FBEF;
  border:1px dashed var(--line);
  color:#C4551F;
  font-size:18px;
  font-weight:700;
  letter-spacing:1px;
  font-family:Georgia,"Times New Roman",serif;
}
.svc-note{margin-top:5px;text-align:center;font-size:11px;color:var(--muted)}

table.mini-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--ink-2)}
.mini-table th,.mini-table td{padding:5px 6px;border-bottom:1px solid var(--line-2);text-align:left}
.mini-table th{background:#F5FAEC;color:#4C6B39;font-weight:400}
.mini-table td:last-child,.mini-table th:last-child{text-align:right}
.mini-table tr:last-child td{border-bottom:0}

.tags-cloud{display:flex;flex-wrap:wrap;gap:6px}
.tags-cloud a{
  padding:3px 9px;
  border-radius:14px;
  background:#F1F8E4;
  border:1px solid #E0EDCB;
  font-size:12px;
  color:#4E6B3B;
}
.tags-cloud a:hover{background:var(--lime);border-color:var(--lime);color:#33531B}

/* ---------------------------------------------------------------- 主体面板 */
.panel{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.panel-h{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 12px;
  background:linear-gradient(180deg,#FBFDF6,#F2F8E7);
  border-bottom:1px solid var(--line);
}
.panel-h::before{
  content:"";
  position:absolute;left:0;top:8px;bottom:8px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--green-l),var(--green));
}
.panel-h h2{
  display:flex;
  align-items:center;
  gap:7px;
  padding-left:8px;
  font-size:16px;
  color:#3C6B2A;
  letter-spacing:1px;
}
.panel-h h2 svg{color:var(--green);flex:none}
.panel-h .more{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:2px;
  font-size:12px;
  color:var(--muted);
}
.panel-h .more:hover{color:var(--green-d)}
.panel-b{padding:10px 12px 12px}
.panel-b.tight{padding:4px 12px 8px}

/* 最新文章 */
.latest{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:14px;
  padding:12px;
}
.lead-card{
  position:relative;
  display:block;
  border-radius:7px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#EDF4E2;
}
.lead-card img{width:100%;height:196px;object-fit:cover;transition:transform .4s}
.lead-card:hover img{transform:scale(1.04)}
.lead-cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:26px 10px 8px;
  background:linear-gradient(180deg,transparent,rgba(27,50,18,.86));
  color:#fff;
}
.lead-cap b{
  display:block;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
  text-shadow:0 1px 3px rgba(0,0,0,.4);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.lead-cap span{display:block;margin-top:2px;font-size:11px;color:#DCEBC9}
.lead-tag{
  position:absolute;left:8px;top:8px;
  padding:2px 8px;
  border-radius:12px;
  background:rgba(220,233,74,.94);
  color:#33531B;
  font-size:11px;
  font-weight:700;
}

/* 文本列表 */
.txt-list li{border-bottom:1px dashed var(--line-2)}
.txt-list li:last-child{border-bottom:0}
.txt-list a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:7px 0;
  font-size:13px;
  color:var(--ink-2);
}
.txt-list a .t{
  position:relative;
  padding-left:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.txt-list a .t::before{
  content:"";
  position:absolute;
  left:2px;top:50%;
  width:4px;height:4px;
  margin-top:-2px;
  border-radius:50%;
  background:var(--leaf);
}
.txt-list a:hover{color:var(--green-d)}
.txt-list a:hover .t{text-decoration:underline}
.txt-list .date{
  flex:none;
  font-size:12px;
  color:#93A281;
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.3px;
}
.txt-list.lg a{padding:9px 0;font-size:14px}
.txt-list.sm a{padding:5px 0;font-size:12.5px}

/* 两栏资讯 */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cols2 > .panel{min-width:0}

/* 校庆 / 专题横幅 */
.promo{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:104px;
  padding:16px 22px;
  border-radius:8px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%, rgba(255,215,120,.28), transparent 46%),
    linear-gradient(100deg,#A9251C 0%,#C0392B 52%,#8E1A14 100%);
  color:#FFF3DA;
  border:1px solid #8E1A14;
  box-shadow:0 4px 14px rgba(142,26,20,.22);
}
.promo::before{
  content:"";
  position:absolute;
  right:-40px;top:-70px;
  width:220px;height:220px;
  border-radius:50%;
  border:2px dashed rgba(255,222,150,.35);
}
.promo::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:6px;
  background:repeating-linear-gradient(90deg,#E8C46A 0 18px,#B3251B 18px 36px);
  opacity:.7;
}
.promo-mark{
  flex:none;
  width:62px;height:62px;
  border-radius:50%;
  display:grid;place-items:center;
  border:2px solid #E8C46A;
  color:#FFE7B0;
  font-family:"STKaiti","KaiTi",serif;
  font-size:26px;
  background:rgba(0,0,0,.12);
}
.promo-txt{position:relative;z-index:1;min-width:0}
.promo-k{
  font-size:11px;
  letter-spacing:3px;
  color:#F2D08A;
  text-transform:uppercase;
}
.promo-t{
  font-family:"STKaiti","KaiTi","Noto Serif SC",serif;
  font-size:25px;
  line-height:1.3;
  letter-spacing:3px;
  color:#FFF6E2;
  text-shadow:0 2px 6px rgba(80,10,5,.45);
}
.promo-s{margin-top:2px;font-size:12px;color:#F4DDB2}
.promo-go{
  position:relative;
  z-index:1;
  margin-left:auto;
  flex:none;
  padding:6px 16px;
  border-radius:20px;
  border:1px solid rgba(255,231,176,.65);
  color:#FFF3DA;
  font-size:12px;
  letter-spacing:1px;
  white-space:nowrap;
}
.promo-go:hover{background:rgba(255,231,176,.16);color:#fff}

/* 热门图文 */
.hot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px}
.hot-item{display:block;min-width:0}
.hot-fr{
  position:relative;
  border-radius:6px;
  overflow:hidden;
  border:3px solid #fff;
  box-shadow:0 2px 8px rgba(63,110,38,.16);
  outline:1px solid var(--line);
}
.hot-fr img{width:100%;height:118px;object-fit:cover;transition:transform .35s}
.hot-item:hover img{transform:scale(1.06)}
.hot-fr span{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 6px 4px;
  background:linear-gradient(180deg,transparent,rgba(27,50,18,.78));
  color:#fff;
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hot-cap{
  margin-top:6px;
  font-size:12px;
  color:var(--ink-2);
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hot-item:hover .hot-cap{color:var(--green-d)}

/* 图集灯箱（首页热门图文） */
.gb-overlay{
  position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(18,28,14,.92);padding:54px 70px;backdrop-filter:blur(3px);
}
.gb-overlay.is-open{display:flex}
body.gb-lock{overflow:hidden}
.gb-figure{max-width:min(1080px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center}
.gb-img{
  max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;
  border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff;
}
.gb-cap{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.92);font-size:13.5px}
.gb-count{font-size:12px;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.gb-btn{
  position:absolute;z-index:2;display:grid;place-items:center;
  width:44px;height:44px;border-radius:50%;font-size:18px;
  color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);
  transition:.2s;
}
.gb-btn:hover{background:var(--green);border-color:var(--green)}
.gb-close{top:20px;right:24px;font-size:24px;line-height:1}
.gb-prev{left:24px;top:50%;transform:translateY(-50%)}
.gb-next{right:24px;top:50%;transform:translateY(-50%)}
.gb-overlay.is-single .gb-prev,.gb-overlay.is-single .gb-next{display:none}

/* 快捷入口（内页顶部） */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{
  padding:4px 11px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#F8FCF1;
  font-size:12px;
  color:#51603F;
}
.chips a:hover{border-color:var(--green-l);color:var(--green-d)}
.chips a.on{
  background:linear-gradient(180deg,#7EC846,#57A02D);
  border-color:#57A02D;
  color:#fff;
}

/* ---------------------------------------------------------------- 内页标题带 */
.crumb{
  position:relative;
  overflow:hidden;
  background:linear-gradient(100deg,#67B33F 0%,#4E9A2F 60%,#3E7C2A 100%);
  border-bottom:3px solid var(--lime);
}
.crumb::before{
  content:"";
  position:absolute;
  right:6%;top:-40px;
  width:180px;height:180px;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.22);
}
.crumb::after{
  content:"";
  position:absolute;
  right:-30px;bottom:-60px;
  width:150px;height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(220,233,74,.28),transparent 68%);
}
.crumb-in{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:20px 0 18px;
}
.crumb-t{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:23px;
  font-weight:700;
  letter-spacing:2px;
  color:#fff;
  text-shadow:0 2px 5px rgba(30,70,15,.35);
}
.crumb-t svg{opacity:.9}
.crumb-path{font-size:12px;color:#E4F2D5;padding-bottom:4px}
.crumb-path a{color:#F2FBE8}
.crumb-path a:hover{color:#fff;text-decoration:underline}
.crumb-path em{font-style:normal;margin:0 5px;color:#CBE6B0}

.solo{padding:14px 0 26px}

/* ---------------------------------------------------------------- 稿件列表 */
.art-list li{
  padding:14px 14px;
  border-bottom:1px dashed var(--line);
}
.art-list li:last-child{border-bottom:0}
.art-row{display:flex;gap:14px;align-items:flex-start}
.art-thumb{
  flex:none;
  width:150px;height:98px;
  border-radius:6px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#EDF4E2;
}
.art-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.art-row:hover .art-thumb img{transform:scale(1.05)}
.art-main{min-width:0;flex:1}
.art-t{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  color:var(--ink);
  font-weight:700;
  line-height:1.5;
}
.art-t .new{
  flex:none;
  padding:0 5px;
  border-radius:3px;
  background:#FDEBE3;
  color:var(--orange-d);
  font-size:10px;
  font-weight:400;
}
.art-t:hover{color:var(--green-d)}
.art-s{
  margin-top:5px;
  font-size:13px;
  color:var(--muted);
  line-height:1.7;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.art-m{
  margin-top:7px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  font-size:12px;
  color:#93A281;
}
.art-m span{display:inline-flex;align-items:center;gap:4px}
.art-m svg{color:var(--green-l)}

/* 分页 */
.pager{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:14px 10px 6px;
}
.pager a,.pager span{
  min-width:32px;
  height:32px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:5px;
  background:#fff;
  font-size:13px;
  color:var(--ink-2);
}
.pager a:hover{border-color:var(--green-l);color:var(--green-d)}
.pager span.on{
  background:linear-gradient(180deg,#7EC846,#57A02D);
  border-color:#57A02D;
  color:#fff;
}
.pager span.dim{color:#BCC9AC;background:#F8FBF3}
.pager .total{border:0;background:none;font-size:12px;color:var(--muted)}

/* ---------------------------------------------------------------- 稿件详情 */
.article{padding:20px 26px 26px}
.article-h{
  text-align:center;
  padding-bottom:14px;
  border-bottom:1px dashed var(--line);
}
.article-t{
  font-size:26px;
  line-height:1.55;
  font-weight:700;
  color:#2C4A1D;
  letter-spacing:.5px;
}
.article-t-sub{
  margin-top:8px;
  font-size:14px;
  line-height:1.7;
  color:#7C8D6A;
}
.article-meta{
  margin-top:9px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:12px;
  color:#93A281;
}
.article-meta span{display:inline-flex;align-items:center;gap:4px}
.article-meta svg{color:var(--green-l)}
.article-body{
  padding:18px 4px 8px;
  font-size:15.5px;
  line-height:1.95;
  color:#37432C;
  overflow-wrap:anywhere;
}
.article-body p{margin:0 0 15px}
.article-body img{max-width:100%;height:auto;margin:12px auto;border-radius:6px}
.article-body h2,.article-body h3{margin:22px 0 10px;color:#2C4A1D;line-height:1.5}
.article-body blockquote{
  margin:14px 0;
  padding:10px 16px;
  border-left:3px solid var(--green-l);
  background:#F7FBEF;
  color:#4E603C;
}
.article-body table{width:100%;border-collapse:collapse;margin:14px 0}
.article-body th,.article-body td{border:1px solid var(--line);padding:8px 10px}
.article-body a{color:var(--green-d);text-decoration:underline}
.article-foot{
  margin-top:16px;
  padding-top:12px;
  border-top:1px dashed var(--line);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:var(--muted);
}

/* 相关新闻 */
.related{padding:4px 12px 12px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}

/* ---------------------------------------------------------------- 图集 */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px}
.gal-item{
  display:block;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.gal-item img{width:100%;height:140px;object-fit:cover;transition:transform .35s}
.gal-item:hover img{transform:scale(1.05)}
.gal-cap{padding:7px 8px;font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gal-cat{font-size:11px;color:var(--muted)}

/* ---------------------------------------------------------------- 留言板 */
.gb-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.gb-form{padding:12px}
.gb-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gb-form label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px}
.gb-form .grp{margin-bottom:10px}
.gb-form input[type=text],
.gb-form input[type=email],
.gb-form textarea{
  width:100%;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:5px;
  background:#FBFDF6;
  font-size:13px;
  outline:none;
}
.gb-form input:focus,.gb-form textarea:focus{border-color:var(--green-l);background:#fff}
.gb-form textarea{min-height:120px;resize:vertical}
.gb-form .cap{display:flex;align-items:center;gap:10px}
.gb-form .cap .q{
  padding:5px 12px;
  border-radius:5px;
  background:#F1F8E4;
  border:1px dashed #C9DDB1;
  color:#4C7A33;
  font-size:14px;
  letter-spacing:1px;
}
.gb-form .cap input{width:110px}
.gb-submit{
  padding:9px 26px;
  border:0;
  border-radius:5px;
  background:linear-gradient(180deg,#7EC846,#57A02D);
  color:#fff;
  font-size:14px;
  letter-spacing:3px;
  box-shadow:0 2px 6px rgba(63,110,38,.22);
}
.gb-submit:hover{background:linear-gradient(180deg,#6FBA38,#4A8E27)}
.gb-hint{font-size:12px;color:var(--muted);line-height:1.8}
.alert{
  margin:0 12px 10px;
  padding:9px 12px;
  border-radius:5px;
  font-size:13px;
}
.alert.err{background:#FDF0EC;border:1px solid #F3C9BB;color:#B24A26}
.alert.ok{background:#F2F9E6;border:1px solid #CFE3B2;color:#3E7C2A}
.code-chip{
  display:inline-block;
  padding:2px 9px;
  border-radius:4px;
  background:#2F5E25;
  color:#EAF6D8;
  font-family:Consolas,monospace;
  letter-spacing:2px;
}
.msg-card{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  margin-bottom:10px;
}
.msg-card h4{font-size:14px;color:#36511F;margin-bottom:3px}
.msg-card .meta{font-size:11px;color:var(--muted);margin-bottom:6px}
.msg-card p{font-size:13px;color:var(--ink-2);line-height:1.8;white-space:pre-line}
.msg-card .reply{
  margin-top:8px;
  padding:8px 10px;
  border-radius:5px;
  background:#F6FBEC;
  border-left:3px solid var(--green-l);
  font-size:12.5px;
  color:#4C5F39;
}

/* ---------------------------------------------------------------- 概况 / 联系 / 招生 */
.prose{padding:16px 20px 20px;font-size:14.5px;line-height:1.95;color:#3B4A2F}
.prose h3{
  margin:18px 0 8px;
  font-size:17px;
  color:#2C4A1D;
  display:flex;
  align-items:center;
  gap:7px;
}
.prose h3::before{
  content:"";
  width:4px;height:16px;
  border-radius:2px;
  background:linear-gradient(180deg,var(--green-l),var(--green));
}
.prose p{margin:0 0 12px}
.prose ul{padding-left:18px;list-style:disc;margin:0 0 12px;color:#45543A}
.prose li{margin:4px 0}
.prose .fig{margin:12px 0;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.prose .fig img{width:100%;height:auto}

.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 12px 0}
.stat-card{
  padding:12px 10px;
  border-radius:6px;
  text-align:center;
  background:linear-gradient(180deg,#FBFDF6,#F1F8E4);
  border:1px solid var(--line);
}
.stat-card b{
  display:block;
  font-family:Georgia,serif;
  font-size:24px;
  color:#4E8F2C;
  line-height:1.2;
}
.stat-card span{font-size:12px;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}
.contact-card{
  padding:14px;
  border-radius:6px;
  border:1px solid var(--line);
  background:#FBFDF6;
}
.contact-card h4{display:flex;align-items:center;gap:6px;font-size:14px;color:#36511F;margin-bottom:6px}
.contact-card h4 svg{color:var(--green)}
.contact-card p{font-size:13px;color:var(--ink-2);line-height:1.9}
.contact-card .big{font-size:20px;color:#C4551F;font-family:Georgia,serif;letter-spacing:.5px}

.steps{counter-reset:step;padding:14px 18px;display:grid;gap:10px}
.steps li{
  position:relative;
  padding:12px 14px 12px 54px;
  border-radius:6px;
  border:1px solid var(--line);
  background:#FBFDF6;
  font-size:13.5px;
  color:var(--ink-2);
  line-height:1.8;
}
.steps li::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;
  left:14px;top:12px;
  width:26px;height:26px;
  border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(180deg,#7EC846,#57A02D);
  color:#fff;
  font-size:13px;
}
.steps li b{display:block;color:#2C4A1D;font-size:14px}

/* ---------------------------------------------------------------- 页脚 */
.foot{
  margin-top:8px;
  background:linear-gradient(180deg,#376C28,#27501C);
  color:#D9EBC6;
  border-top:4px solid var(--lime);
}
.f-links{
  border-bottom:1px solid rgba(255,255,255,.12);
}
.f-links .wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 16px;
  padding:11px 0;
  font-size:12.5px;
}
.fl-t{color:#EAF6D8;font-weight:700;letter-spacing:1px}
.f-links a{color:#CBE3B5}
.f-links a:hover{color:#fff;text-decoration:underline}
.f-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1.25fr;
  gap:26px;
  padding:22px 0 20px;
}
.f-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.f-brand .brand-badge{width:46px;height:46px;border-width:2px}
.f-brand .brand-badge span{font-size:24px}
.f-brand .bn{font-family:"STKaiti","KaiTi",serif;font-size:20px;color:#F3FBE9;letter-spacing:2px}
.f-brand .bs{font-size:10px;letter-spacing:2px;color:#A9C994;text-transform:uppercase}
.f-info p{font-size:12.5px;line-height:1.9;color:#C2D9AC}
.f-tel{margin-top:6px;font-size:12.5px;color:#C2D9AC}
.f-tel b{font-family:Georgia,serif;font-size:18px;color:#F3E3A8;letter-spacing:1px}
.f-col h4{font-size:13px;color:#EAF6D8;letter-spacing:1px;margin-bottom:8px}
.f-col ul{display:grid;gap:4px}
.f-col li a{font-size:12.5px;color:#C2D9AC}
.f-col li a:hover{color:#fff}
.f-addr{font-size:12.5px;line-height:1.9;color:#C2D9AC;margin-bottom:6px}
.qr-box{display:flex;align-items:center;gap:10px;margin-top:10px}
.qr{background:#fff;padding:4px;border-radius:4px;line-height:0}
.qr-txt{font-size:11.5px;line-height:1.8;color:#BCD5A5}
.qr-txt b{display:block;color:#EAF6D8;font-size:12px}
.copy{border-top:1px solid rgba(255,255,255,.12)}
.copy .wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:6px;
  padding:10px 0;
  font-size:12px;
  color:#A9C994;
}

/* ---------------------------------------------------------------- 响应式 */
@media (max-width:1080px){
  .portal{grid-template-columns:224px minmax(0,1fr)}
  .latest{grid-template-columns:260px minmax(0,1fr)}
  .lead-card img{height:176px}
  .brand-t{font-size:32px}
  .search-form input[type=search]{width:140px}
  .f-grid{grid-template-columns:1.2fr 0.9fr 1.1fr;gap:18px}
}

@media (max-width:900px){
  .portal{grid-template-columns:1fr;padding-top:12px}
  .side{order:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .main{order:1}
  .cols2{grid-template-columns:1fr}
  .hot-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid{grid-template-columns:repeat(3,1fr)}
  .noticebar{flex-direction:column;align-items:stretch;gap:8px}
  .search-form{border-left:0;padding-left:0;border-top:1px dashed var(--line);padding-top:8px}
  .search-form input[type=search]{flex:1;width:auto}
  .mast-in{flex-direction:column;align-items:flex-start;gap:12px}
  .mast-right{padding-right:0}
  .mast-right::after{display:none}
  .brand-t{font-size:28px;white-space:normal}
  .crumb-in{flex-direction:column;align-items:flex-start;gap:4px}
  .article{padding:16px 16px 20px}
  .article-t{font-size:21px}
  .gb-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr;gap:18px}
  .f-info{grid-column:1 / -1}
  .latest{grid-template-columns:1fr}
  .lead-card img{height:220px}
  .stat-cards{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:600px){
  .wrap{width:calc(100% - 24px)}
  .mast-in{padding:16px 0 20px}
  .brand-badge{width:62px;height:62px}
  .brand-logo{width:62px;height:62px}
  .brand-badge span{font-size:30px}
  .brand-t{font-size:22px;letter-spacing:1px}
  .brand-en{font-size:9px;letter-spacing:2px}
  .mast-motto{font-size:13px}
  .mast-motto i{font-size:18px}
  .tabs-in{gap:2px;padding:6px 0}
  .tabs-in a{padding:6px 9px;font-size:13px}
  .tabs-in a svg{width:13px;height:13px}
  .side{grid-template-columns:1fr}
  .hot-grid{grid-template-columns:1fr 1fr}
  .hot-fr img{height:104px}
  .gal-grid{grid-template-columns:1fr 1fr}
  .gal-item img{height:112px}
  .art-thumb{width:104px;height:74px}
  .art-t{font-size:14px}
  .art-s{display:none}
  .article-t{font-size:19px}
  .article-body{font-size:15px;line-height:1.9}
  .promo{flex-wrap:wrap;gap:10px;padding:14px 16px}
  .promo-t{font-size:20px;letter-spacing:1px}
  .promo-go{margin-left:0}
  .stat-cards{grid-template-columns:repeat(2,1fr)}
  .f-grid{grid-template-columns:1fr}
  .copy .wrap{justify-content:center;text-align:center}
  .search-radios{display:none}
  .gb-overlay{padding:48px 42px}
  .gb-btn{width:36px;height:36px;font-size:15px}
  .gb-prev{left:8px}
  .gb-next{right:8px}
  .gb-close{top:10px;right:10px;width:34px;height:34px;font-size:20px}
  .gb-img{max-height:calc(100vh - 130px)}
}
