/* =========================================================
   安徽农金网 · WordPress 适配 + UI 优化
   在 main.css 之后加载，用于覆盖与补充
   ========================================================= */

/* ---------- 1. WordPress 菜单适配 ---------- */
.menu li{ position:relative; }

.menu li ul.sub-menu{
  position:absolute; left:0; top:calc(100% + 6px); min-width:222px; z-index:80;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:8px; box-shadow:0 18px 44px rgba(16,52,26,.14);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .3s var(--ease);
}
.menu li:hover > ul.sub-menu{ opacity:1; visibility:visible; transform:none; }
.menu li ul.sub-menu li a{
  display:block; padding:9px 13px; border-radius:var(--r-sm);
  font-size:14px; color:var(--text-2); white-space:nowrap;
}
.menu li ul.sub-menu li a:hover{ background:var(--mist); color:var(--green-800); }

/* 当前菜单项高亮（WordPress 自动添加的类） */
.menu li.current-menu-item > a,
.menu li.current-menu-ancestor > a{ color:var(--green-800); font-weight:600; }
.menu li.current-menu-item > a{ position:relative; }
.menu li.current-menu-item > a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background:var(--leaf); border-radius:2px;
}
.mnav li.current-menu-item > a{ color:var(--leaf-2); font-weight:600; }

/* 移动端菜单：子级缩进展开 */
.mnav ul{ display:grid; }
.mnav li a{ display:block; padding:11px 0; font-size:16px; }
.mnav ul.sub-menu{ padding-left:16px; }
.mnav ul.sub-menu li a{ font-size:14.5px; padding:8px 0; color:var(--text-2); }

/* ---------- 2. 正文排版 ---------- */
.page-body,
.post-body{
  font-size:16.2px; line-height:1.95; color:var(--text-2);
}
.post-body > *:first-child{ margin-top:0; }
.post-body h2, .page-body h2{
  font-family:var(--serif); font-size:clamp(21px,2.2vw,27px); line-height:1.45;
  color:var(--green-900); margin:38px 0 16px;
}
.post-body h3, .page-body h3{
  font-family:var(--sans); font-size:18px; font-weight:600; color:var(--green-900);
  margin:30px 0 12px;
}
.post-body p, .page-body p{ margin-bottom:18px; }
.post-body ul, .post-body ol,
.page-body ul, .page-body ol{ margin:0 0 20px; padding-left:22px; display:grid; gap:9px; }
.post-body li, .page-body li{ line-height:1.85; }
.post-body a, .page-body a{ color:var(--green-700); border-bottom:1px solid rgba(58,148,64,.32); }
.post-body a:hover, .page-body a:hover{ color:var(--green-900); border-color:var(--green-900); }
.post-body blockquote{
  border-left:3px solid var(--leaf); padding:6px 0 6px 22px; margin:26px 0;
  font-size:17px; color:var(--green-800); line-height:1.8;
}
.post-body img{ max-width:100%; height:auto; border-radius:var(--r); }
.post-body table{ width:100%; border-collapse:collapse; margin:22px 0; font-size:15px; }
.post-body th, .post-body td{ border:1px solid var(--line); padding:11px 14px; text-align:left; }
.post-body th{ background:var(--mist); color:var(--green-800); }

.post-cover{ margin:0 0 30px; }
.post-cover img{ width:100%; border-radius:var(--r-lg); display:block; }

.post-nav{
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin-top:38px; padding-top:22px; border-top:1px solid var(--line);
}
.post-nav a{ font-size:14.2px; color:var(--green-700); max-width:46%; line-height:1.6; }
.post-nav a:hover{ color:var(--green-900); }

/* ---------- 3. 侧栏 ---------- */
.side-stack{ display:grid; gap:18px; }
.side-box{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(20px,2.2vw,26px);
}
.side-box h4{
  font-family:var(--sans); font-size:16px; font-weight:600; color:var(--green-900);
}
.side-list{ display:grid; gap:11px; margin-top:14px; }
.side-list a{
  font-size:14.4px; color:var(--text-2); display:block; padding-left:15px; position:relative;
}
.side-list a::before{
  content:""; position:absolute; left:0; top:11px; width:6px; height:1px; background:var(--leaf);
}
.side-list a:hover{ color:var(--green-800); }
.widget ul{ display:grid; gap:10px; margin-top:12px; }
.widget li a{ font-size:14.3px; color:var(--text-2); }
.widget li a:hover{ color:var(--green-800); }

/* ---------- 4. 搜索表单 ---------- */
.search-form{ display:flex; gap:10px; flex-wrap:wrap; }
.search-field{
  flex:1; min-width:220px; padding:13px 16px; font-size:15px;
  border:1px solid var(--line-2); border-radius:var(--r-sm); background:#fff;
}
.search-field:focus{ outline:0; border-color:var(--green-600); box-shadow:0 0 0 3px rgba(58,148,64,.13); }
.search-submit{
  padding:13px 24px; border:0; border-radius:var(--r-sm); cursor:pointer;
  background:var(--green-700); color:#fff; font-size:15px; font-weight:500;
  transition:background .28s var(--ease);
}
.search-submit:hover{ background:var(--green-900); }

/* ---------- 5. 图片对齐与说明 ---------- */
.alignleft{ float:left; margin:6px 24px 14px 0; }
.alignright{ float:right; margin:6px 0 14px 24px; }
.aligncenter{ display:block; margin:10px auto 20px; }
.wp-caption-text, .wp-element-caption{
  font-size:13.2px; color:var(--muted); text-align:center; margin-top:8px;
}
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0;
}

/* ---------- 6. UI 细节优化 ---------- */
.card{ transition:border-color .38s var(--ease), box-shadow .38s var(--ease), transform .38s var(--ease); }
.card:hover{ transform:translateY(-4px); border-color:rgba(58,148,64,.28); box-shadow:var(--sh-1); }
.card h4{ font-size:17px; letter-spacing:.01em; }

.news-card{ border-radius:var(--r-lg); }
.news-card h3{ letter-spacing:.01em; }

.svc-row{ border-bottom-color:var(--line); }
.svc-row h3{ letter-spacing:.015em; }

.btn{ letter-spacing:.01em; }
.btn-green{ box-shadow:0 10px 24px rgba(58,148,64,.22); }
.btn-green:hover{ box-shadow:0 14px 30px rgba(58,148,64,.3); }

.qr-card{ box-shadow:0 22px 60px rgba(16,52,26,.1); }
.qr-img{ box-shadow:inset 0 0 0 1px rgba(58,148,64,.06); }

.lead-bar{ box-shadow:0 10px 30px rgba(16,52,26,.05); }

/* 区块标题与正文的呼吸感 */
.sec-head h2{ letter-spacing:.015em; }
.col-head h2{ letter-spacing:.015em; }

/* 页脚链接 */
.f-col a{ font-size:13.8px; line-height:1.9; }
.f-brand img{ background:#fff; }

/* ---------- 7. 页脚微信入口 ---------- */
.f-wechat{
  display:inline-flex; align-items:center; gap:14px; margin-top:22px;
  padding:12px 18px 12px 12px; border-radius:var(--r);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13);
  transition:all .34s var(--ease);
}
.f-wechat:hover{ background:rgba(255,255,255,.11); border-color:rgba(165,212,106,.42); }
.f-wechat .f-qr{
  width:70px; height:70px; flex-shrink:0; padding:4px;
  background:#fff; border-radius:6px;
}
.f-wechat .f-qr img{ width:100%; height:100%; object-fit:contain; display:block; }
.f-wechat .f-qr-txt{ display:grid; gap:3px; }
.f-wechat .f-qr-txt b{ font-size:14.5px; color:#fff; font-weight:600; }
.f-wechat .f-qr-txt span{ font-size:12.6px; color:rgba(255,255,255,.6); }

/* ---------- 8. 排版与节奏打磨 ---------- */
h1, h2, h3{ letter-spacing:-.005em; }
.hero h1{ line-height:1.24; }
.phero h1{ line-height:1.3; }
.cta h2{ max-width:18em; margin-inline:auto; }
.card h4, .news-card h3{ line-height:1.5; }
.svc-row{ padding-block:clamp(26px,3vw,38px); }
.qr-card{ padding:clamp(28px,3.4vw,46px); }
.qr-img{ width:clamp(180px,24vw,236px); }

@media (max-width:680px){
  .lead-bar{ gap:18px; }
  .qr-tips li{ font-size:13.8px; }
  .f-wechat{ width:100%; }
}

/* ================= 头部与导航优化 ================= */
.logo img,
.logo .custom-logo,
.logo a.custom-logo-link > img{
  display:block; max-height:40px !important; height:auto !important;
  width:auto !important; max-width:190px !important; object-fit:contain;
}
.logo a.custom-logo-link{ display:flex; align-items:center; }
.nav{ height:76px; gap:26px; }
.menu > li > a{ padding:10px 15px; font-size:15.2px; letter-spacing:.01em; }
.menu > li > a:hover{ background:var(--mist); }
.header{ background:rgba(255,255,255,.94); }

/* 主按钮：黄色包边 */
.btn-green{ border:1.6px solid var(--gold-2); }
.btn-green:hover{ border-color:var(--gold); box-shadow:0 12px 26px -8px rgba(208,161,28,.5); }

/* ================= 文章页 ================= */
.post-head{ padding-block:clamp(26px,3vw,38px) clamp(20px,2.6vw,30px); border-bottom:1px solid var(--line); }
.post-crumb{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--text-2); }
.post-crumb a{ color:var(--text-2); transition:color .26s var(--ease); }
.post-crumb a:hover{ color:var(--green-700); }
.post-crumb i{ font-style:normal; opacity:.45; }
.post-title{
  margin-top:14px; max-width:920px; font-weight:700; letter-spacing:-.012em;
  font-size:clamp(26px,3.6vw,42px); line-height:1.28;
}
.post-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; font-size:13.6px; color:var(--text-2); }
.post-meta i{ font-style:normal; opacity:.5; }
.cat-badge{
  display:inline-flex; padding:4px 12px; border-radius:100px; font-size:13px; font-weight:600;
  background:var(--mist); color:var(--green-800); border:1px solid rgba(58,148,64,.18);
}
.cat-badge:hover{ background:#E7F2DF; }

.post-main{ padding-block:clamp(28px,3.4vw,44px) clamp(40px,5vw,72px); }
.post-grid{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(28px,3.4vw,52px); align-items:start; }

.post-cover{ margin:0 0 30px; border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-2); }
.post-cover img{ display:block; width:100%; height:auto; }

.post-body{ font-size:16.6px; line-height:1.95; color:#2B332C; }
.post-body > p{ margin-bottom:1.15em; }
.post-body h2{ margin:1.9em 0 .8em; padding-left:14px; border-left:3px solid var(--leaf); font-size:22px; line-height:1.5; }
.post-body h3{ margin:1.7em 0 .7em; font-size:18.5px; }
.post-body ul, .post-body ol{ margin:0 0 1.2em; padding-left:1.35em; }
.post-body li{ margin-bottom:.5em; }
.post-body img{ border-radius:var(--r-sm); height:auto; }
.post-body blockquote{
  margin:1.5em 0; padding:16px 20px; border-radius:0 var(--r-sm) var(--r-sm) 0;
  background:var(--mist); border-left:3px solid var(--leaf-2); color:var(--text-2);
}
.post-body a{ color:var(--green-700); text-decoration:underline; text-underline-offset:3px; }

.post-tags{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  margin-top:34px; padding-top:26px; border-top:1px solid var(--line);
}
.pt-label{ font-size:13px; font-weight:600; color:var(--text-2); }
.post-tags a{
  display:inline-flex; padding:5px 12px; border-radius:100px; font-size:13px;
  border:1px solid var(--line-2); color:var(--text-2); transition:all .26s var(--ease);
}
.post-tags a:hover{ border-color:var(--leaf-2); color:var(--green-700); background:var(--mist); }

.post-wechat{
  display:flex; align-items:center; gap:20px; margin-top:30px;
  padding:22px 26px; border-radius:var(--r); background:var(--mist); border:1px solid var(--line);
}
.pw-qr{
  width:118px; height:118px; flex-shrink:0; padding:8px; background:#fff;
  border-radius:10px; box-shadow:0 4px 14px -6px rgba(10,42,21,.3);
}
.pw-qr img{ display:block; width:100%; height:100%; object-fit:contain; }
.pw-txt{ display:grid; gap:6px; }
.pw-txt b{ font-size:16px; font-weight:600; }
.pw-txt span{ font-size:14px; color:var(--text-2); }

.post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:26px; }
.pn-item{
  display:grid; gap:6px; padding:16px 20px; border-radius:var(--r-sm);
  border:1px solid var(--line); background:#fff; transition:all .28s var(--ease);
}
a.pn-item:hover{ border-color:var(--leaf-2); transform:translateY(-2px); box-shadow:var(--sh-2); }
.pn-dir{ font-size:12.5px; color:var(--text-2); }
.pn-t{ font-size:14.6px; font-weight:500; line-height:1.55; }
.pn-item.disabled{ opacity:.5; }

.post-related{ margin-top:44px; }
.post-related h3{ font-size:19px; margin-bottom:18px; }
.pr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }

.ps-sticky{ position:sticky; top:100px; }
.ps-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; }
.ps-title{
  display:block; font-size:14.5px; font-weight:600; margin-bottom:12px;
  padding-bottom:12px; border-bottom:1px solid var(--line);
}
.ps-list{ display:grid; }
.ps-list li a{
  display:flex; gap:12px; padding:11px 0;
  border-bottom:1px dashed var(--line); transition:all .26s var(--ease);
}
.ps-list li:last-child a{ border-bottom:0; }
.ps-date{ flex-shrink:0; padding-top:2px; font-size:12.5px; color:var(--text-2); }
.ps-t{ font-size:14.2px; line-height:1.6; transition:color .26s var(--ease); }
.ps-list li a:hover .ps-t{ color:var(--green-700); }

@media (max-width:980px){
  .post-grid{ grid-template-columns:1fr; }
  .post-side{ display:none; }
}
@media (max-width:680px){
  .post-nav{ grid-template-columns:1fr; }
  .pr-grid{ grid-template-columns:1fr; }
  .post-wechat{ flex-direction:column; align-items:flex-start; gap:14px; }
  .post-body{ font-size:16px; }
  .logo img, .logo .custom-logo{ max-height:34px !important; }
}
/* ============ header / nav refine ============ */
.logo{ flex-shrink:0; }
.logo img,
.logo .custom-logo,
.logo a.custom-logo-link > img{
  display:block; max-height:38px !important; height:auto !important;
  width:auto !important; max-width:170px !important; object-fit:contain;
}
.nav{ gap:28px; }
.menu{ gap:4px; }
.menu > li > a{ padding:10px 16px; }
.menu > li > a.active{ background:var(--mist); }
.menu > li > a.active::after{ left:16px; right:16px; }
.nav-act .btn{ padding:11px 18px; font-size:14.5px; white-space:nowrap; }

@media (max-width:1080px){
  .burger{ display:none; }
  .mnav{
    position:static; inset:auto; max-height:none; overflow:visible;
    transform:none; opacity:1; visibility:visible;
    border-top:0; padding:0 0 12px; background:transparent;
  }
  .mnav > ul{
    display:flex; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch;
    padding:2px 0 4px; scrollbar-width:none;
  }
  .mnav > ul::-webkit-scrollbar{ display:none; }
  .mnav > ul > li{ flex-shrink:0; }
  .mnav > ul > li > a{
    display:inline-flex; align-items:center; white-space:nowrap;
    padding:8px 15px; border:1px solid var(--line-2); border-radius:100px;
    font-size:14.5px; font-weight:500; background:#fff;
  }
  .mnav > ul > li.current-menu-item > a{ border-color:var(--leaf-2); color:var(--green-800); background:var(--mist); }
  .mnav ul.sub-menu{ display:none; }
  .mnav .btn{ display:none; }
  .nav{ height:auto; padding-block:12px; flex-wrap:wrap; gap:14px; }
  .nav-act{ margin-left:auto; }
  .nav-act .btn{ padding:9px 15px; font-size:14px; }
}

@media (max-width:600px){
  .logo img, .logo .custom-logo{ max-height:30px !important; max-width:140px !important; }
  .post-crumb{ display:none; }
  .nav{ gap:10px; }
  .nav-act .btn{ padding:8px 13px; font-size:13.5px; }
}

/* ============ about page ============ */
.ab-head{ margin-bottom:26px; }
.ab-head h2{ margin-top:12px; font-size:clamp(22px,2.6vw,30px); }

.ab-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ab-stats div{ padding:22px 24px; border-radius:var(--r); background:var(--mist); border:1px solid var(--line); }
.ab-stats b{ display:block; font-family:var(--serif); font-size:31px; line-height:1.15; color:var(--green-800); }
.ab-stats span{ display:block; margin-top:7px; font-size:13.6px; color:var(--text-2); }

.ab-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ab-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }

.ab-card{
  display:block; padding:26px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r);
  transition:all .28s var(--ease);
}
a.ab-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-1); border-color:var(--leaf-2); }
.ab-card h3{ font-size:17.5px; margin-bottom:10px; }
.ab-card p{ font-size:14.6px; line-height:1.85; color:var(--text-2); }
.ab-ico{
  display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center;
  border-radius:9px; background:var(--mist); color:var(--green-700);
  font-size:14px; font-weight:700; margin-bottom:14px;
}

.ab-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ab-flow li{ padding:24px 22px; background:var(--mist); border:1px solid var(--line); border-radius:var(--r); }
.ab-flow .n{ font-family:var(--serif); font-size:14.5px; letter-spacing:.1em; font-weight:700; color:var(--leaf-2); }
.ab-flow h4{ font-size:16px; margin:9px 0 9px; }
.ab-flow p{ font-size:14px; line-height:1.8; color:var(--text-2); }

.ab-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ab-cat{
  padding:22px; background:#fff; border:1px solid var(--line); border-radius:var(--r);
  transition:all .28s var(--ease);
}
.ab-cat:hover{ border-color:var(--leaf-2); transform:translateY(-3px); box-shadow:var(--sh-1); }
.ab-cat b{ display:block; font-size:16.5px; }
.ab-cat span{ display:block; margin-top:6px; font-size:13px; color:var(--text-2); }

.ab-org{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ab-org div{
  padding:20px 22px; background:var(--mist);
  border-left:3px solid var(--leaf); border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.ab-org b{ display:block; font-size:13.6px; font-weight:500; color:var(--text-2); }
.ab-org span{ display:block; margin-top:6px; font-size:16px; font-weight:600; }

@media (max-width:980px){
  .ab-3, .ab-4, .ab-cats, .ab-flow, .ab-org{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .ab-3, .ab-4, .ab-cats, .ab-flow, .ab-org, .ab-stats{ grid-template-columns:1fr; }
}

/* ============ ai-friendly blocks ============ */
.post-points{
  margin:0 0 28px; padding:22px 26px; border-radius:var(--r);
  background:var(--mist); border:1px solid var(--line);
}
.pp-title{ font-size:16.5px; margin-bottom:12px; }
.pp-list{ display:grid; gap:9px; }
.pp-list li{ position:relative; padding-left:18px; font-size:15px; line-height:1.75; color:var(--text-2); }
.pp-list li::before{
  content:""; position:absolute; left:0; top:10px; width:6px; height:6px;
  border-radius:50%; background:var(--leaf-2);
}
.post-meta time{ font-size:13.6px; color:var(--text-2); }

.ab-faq{ display:grid; gap:14px; }
.ab-faq-item{ padding:20px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.ab-faq-item b{ display:block; font-size:16px; margin-bottom:8px; }
.ab-faq-item p{ font-size:14.6px; line-height:1.85; color:var(--text-2); }

/* ============ logo size: desktop 200px / mobile 100px ============ */
.logo img,
.logo .custom-logo,
.logo a.custom-logo-link > img{
  max-height:200px !important; height:auto !important;
  width:auto !important; max-width:560px !important; object-fit:contain;
}
.logo a.custom-logo-link{ display:flex; align-items:center; }
.nav{ height:auto; min-height:76px; padding-block:16px; }
.menu{ align-items:center; }
.nav-act{ align-items:center; }

@media (max-width:1080px){
  .logo img,
  .logo .custom-logo,
  .logo a.custom-logo-link > img{ max-height:100px !important; max-width:320px !important; }
  .nav{ min-height:0; padding-block:12px; gap:14px; }
}
@media (max-width:600px){
  .logo img,
  .logo .custom-logo,
  .logo a.custom-logo-link > img{ max-height:100px !important; max-width:240px !important; }
  .nav{ gap:10px; }
}

/* logo shrink when header sticks */
.logo img,
.logo .custom-logo,
.logo a.custom-logo-link > img{ transition:max-height .32s ease; }
.header.is-scrolled .logo img,
.header.is-scrolled .logo .custom-logo,
.header.is-scrolled .logo a.custom-logo-link > img{ max-height:92px !important; }
@media (max-width:1080px){
  .header.is-scrolled .logo img,
  .header.is-scrolled .logo .custom-logo,
  .header.is-scrolled .logo a.custom-logo-link > img{ max-height:64px !important; }
}

/* ============ post hero (cover as banner) ============ */
.post-hero{
  position:relative; display:flex; align-items:flex-end; overflow:hidden;
  min-height:clamp(300px,40vw,430px);
  padding-block:clamp(48px,7vw,86px) clamp(30px,4vw,48px);
  background-size:cover; background-position:center; background-color:var(--forest);
}
.post-hero-mask{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,28,16,.18) 0%, rgba(8,28,16,.62) 52%, rgba(8,28,16,.93) 100%);
}
.post-hero-in{ position:relative; z-index:1; width:100%; }
.post-title-onimg{ margin-top:16px; max-width:900px; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.4); }
.post-crumb-onimg, .post-crumb-onimg a{ color:rgba(255,255,255,.85); }
.post-crumb-onimg a:hover{ color:#fff; }
.post-crumb-onimg i{ opacity:.55; }
.post-meta-onimg, .post-meta-onimg time, .post-meta-onimg span{ color:rgba(255,255,255,.85); }
.post-meta-onimg i{ opacity:.5; }
.cat-badge-onimg{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.32); color:#fff; }
.cat-badge-onimg:hover{ background:rgba(255,255,255,.26); }

.post-body img{ border-radius:var(--r); box-shadow:0 12px 34px -14px rgba(10,42,21,.3); }
.post-body > p:first-of-type{ font-size:17.4px; }

/* ============ sidebar rebuild ============ */
.ps-card + .ps-card{ margin-top:16px; }
.ps-toc{ display:grid; gap:2px; max-height:340px; overflow-y:auto; }
.ps-toc li a{
  display:block; padding:7px 10px; border-radius:var(--r-sm);
  font-size:14px; line-height:1.6; color:var(--text-2); transition:all .24s var(--ease);
}
.ps-toc li a:hover{ background:var(--mist); color:var(--green-700); }
.ps-toc-lv3 a{ padding-left:22px; font-size:13.4px; opacity:.9; }

.ps-svc{ display:grid; gap:2px; }
.ps-svc li a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px; border-radius:var(--r-sm); font-size:14.2px; transition:all .24s var(--ease);
}
.ps-svc li a:hover{ background:var(--mist); }
.ps-svc-arw{ color:var(--leaf-2); font-size:13px; }

.ps-about p{ font-size:14px; line-height:1.85; color:var(--text-2); margin-top:2px; }
.ps-about-link{
  display:inline-flex; align-items:center; gap:4px; margin-top:12px;
  font-size:14px; font-weight:600; color:var(--green-700);
}
.ps-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.ps-tags a{
  padding:5px 11px; border-radius:100px; font-size:12.8px;
  border:1px solid var(--line-2); color:var(--text-2); transition:all .24s var(--ease);
}
.ps-tags a:hover{ border-color:var(--leaf-2); color:var(--green-700); background:var(--mist); }

/* mobile: sidebar becomes a rich grid below the article */
@media (max-width:980px){
  .post-grid{ grid-template-columns:1fr; }
  .post-side{ display:block !important; margin-top:36px; }
  .ps-sticky{
    position:static !important; display:grid;
    grid-template-columns:repeat(2,1fr); gap:16px; align-items:start;
  }
  .ps-card + .ps-card{ margin-top:0; }
  .ps-toc-card{ grid-column:1 / -1; }
  .ps-toc{ max-height:none; }
}
@media (max-width:600px){
  .ps-sticky{ grid-template-columns:1fr; }
  .post-hero{ min-height:260px; }
}

.ps-toc-plain{
  display:block; padding:7px 10px; font-size:14px; line-height:1.75; color:var(--text-2);
}

/* ================= 绿色动态导航条：logo 与菜单同一行 ================= */
.header{
  position:sticky; top:0; z-index:60; overflow:hidden;
  background:linear-gradient(100deg,#08351A 0%,#14612F 24%,#1E8A45 50%,#14612F 76%,#08351A 100%);
  background-size:220% 100%;
  animation:ahnNavFlow 14s linear infinite;
  box-shadow:0 8px 26px -14px rgba(6,32,16,.6);
  border-bottom:1px solid rgba(255,255,255,.09);
}
@keyframes ahnNavFlow{
  from{ background-position:0% 50%; }
  to{ background-position:200% 50%; }
}
.header::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 32%, rgba(255,255,255,.10) 48%, transparent 64%);
  background-size:250% 100%;
  animation:ahnNavSheen 7s ease-in-out infinite;
}
@keyframes ahnNavSheen{
  0%,100%{ background-position:140% 0; }
  50%{ background-position:-40% 0; }
}
.header > .wrap{ position:relative; z-index:1; }

.nav{
  display:flex; align-items:center; gap:18px;
  height:auto; min-height:0; padding-block:12px;
}

/* logo：白色圆角底，尺寸锁定 */
.logo{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  padding:6px 14px; background:#fff; border-radius:12px;
  box-shadow:0 4px 14px -6px rgba(0,0,0,.38);
  transition:padding .28s var(--ease);
}
.logo .site-logo,
.logo img{
  display:block !important;
  height:46px !important;
  width:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain;
  transition:height .28s var(--ease);
}
.logo:hover{ box-shadow:0 6px 18px -6px rgba(0,0,0,.45); }

/* 菜单：同一行，白色胶囊 */
.menu{ display:flex; align-items:center; gap:6px; margin-left:auto; list-style:none; }
.menu > li{ flex-shrink:0; }
.menu > li > a{
  display:inline-flex; align-items:center; white-space:nowrap;
  padding:9px 15px; border-radius:100px;
  color:rgba(255,255,255,.9); font-size:15.2px; font-weight:500;
  transition:all .26s var(--ease);
}
.menu > li > a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.menu > li.current-menu-item > a,
.menu > li.current-menu-parent > a,
.menu > li.current-menu-ancestor > a{
  background:rgba(255,255,255,.94); color:var(--green-800); font-weight:600;
  box-shadow:0 4px 14px -8px rgba(0,0,0,.4);
}

.nav-act{ display:flex; align-items:center; gap:10px; margin-left:10px; flex-shrink:0; }
.nav-act .btn-green{
  background:#fff; color:var(--green-800); border:1.6px solid var(--gold-2); white-space:nowrap;
}
.nav-act .btn-green:hover{
  background:var(--gold); border-color:var(--gold); color:#fff;
  box-shadow:0 10px 24px -10px rgba(208,161,28,.55);
}
.burger{ display:none !important; }
.mnav{ display:none !important; }

/* 滚动后轻微收紧 */
.header.is-scrolled .nav{ padding-block:8px; }
.header.is-scrolled .logo{ padding:4px 12px; }
.header.is-scrolled .logo .site-logo,
.header.is-scrolled .logo img{ height:38px !important; }

/* ---------- 移动端：一行内 logo + 可滑动菜单 + 按钮 ---------- */
@media (max-width:1080px){
  .nav{ gap:10px; padding-block:10px; }
  .logo{ padding:5px 10px; border-radius:10px; }
  .logo .site-logo,
  .logo img{ height:36px !important; }
  .menu{
    margin-left:0; flex:1 1 auto; min-width:0;
    gap:4px; flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .menu::-webkit-scrollbar{ display:none; }
  .menu > li > a{ padding:7px 11px; font-size:13px; }
  .nav-act{ margin-left:auto; }
  .nav-act .btn-green{ padding:8px 14px; font-size:13px; }
}
@media (max-width:600px){
  .nav{ gap:7px; padding-block:8px; }
  .logo{ padding:4px 8px; border-radius:9px; }
  .logo .site-logo,
  .logo img{ height:30px !important; }
  .menu{ gap:3px; }
  .menu > li > a{ padding:6px 9px; font-size:12.4px; }
  .nav-act .btn-green{ padding:7px 11px; font-size:12.5px; }
}

/* footer logo size */
.f-brand .f-logo-link{ display:inline-flex; align-items:center; }
.f-brand .f-logo{
  display:block !important; height:56px !important; width:auto !important;
  max-width:220px !important; max-height:none !important; object-fit:contain;
}
@media (max-width:600px){
  .f-brand .f-logo{ height:44px !important; }
}

/* ============ 咨询方向图文卡片（首页） ============ */
.svc-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.svc-card{
  display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  transition:all .3s var(--ease);
}
.svc-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--leaf-2); }
.svc-card-fig{ position:relative; display:block; background:var(--mist); }
.svc-card-fig svg{ display:block; width:100%; height:auto; }
.svc-card-no{
  position:absolute; left:16px; top:14px; padding:3px 10px; border-radius:100px;
  background:rgba(255,255,255,.92); color:var(--green-800); font-size:12.5px; font-weight:700;
  box-shadow:0 2px 8px -3px rgba(10,42,21,.3);
}
.svc-card-body{ display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px; }
.svc-card-body h3{ font-size:18px; }
.svc-card-body .svc-en{ font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-2); }
.svc-card-body .svc-desc{ font-size:14.4px; line-height:1.8; color:var(--text-2); }
.svc-card-body .svc-points{ margin-top:2px; font-size:13.6px; }
.svc-card-more{ margin-top:auto; padding-top:12px; font-size:14px; font-weight:600; color:var(--green-700); }
@media (max-width:900px){ .svc-cards{ grid-template-columns:1fr; } }

/* ============ 服务对象 ============ */
.aud-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:20px; }
.aud-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px 28px; }
.aud-main{ border-color:var(--leaf-2); box-shadow:var(--sh-2); }
.aud-tag{
  display:inline-flex; padding:4px 12px; border-radius:100px; font-size:12.5px; font-weight:600;
  background:var(--mist); color:var(--green-700); margin-bottom:12px;
}
.aud-main .aud-tag{ background:var(--green-800); color:#fff; }
.aud-card h3{ font-size:20px; margin-bottom:10px; }
.aud-card > p{ font-size:14.8px; line-height:1.9; color:var(--text-2); }
.aud-list{ display:grid; gap:8px; margin-top:16px; padding-top:16px; border-top:1px dashed var(--line); }
.aud-list li{ position:relative; padding-left:18px; font-size:14.4px; color:var(--text-2); }
.aud-list li::before{
  content:""; position:absolute; left:0; top:9px; width:6px; height:6px;
  border-radius:50%; background:var(--leaf-2);
}
@media (max-width:900px){ .aud-grid{ grid-template-columns:1fr; } }

/* ============ 咨询方向：图文左右交替 ============ */
.svc-blocks{ display:grid; gap:34px; }
.svc-block{
  display:grid; grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:clamp(24px,3vw,44px); align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:clamp(20px,2.4vw,30px); box-shadow:var(--sh-2);
}
.svc-block.is-reverse .svc-figure{ order:2; }
.svc-figure{ position:relative; border-radius:var(--r-sm); overflow:hidden; background:var(--mist); }
.svc-figure svg{ display:block; width:100%; height:auto; }
.svc-figure-no{
  position:absolute; left:14px; top:12px; padding:3px 10px; border-radius:100px;
  background:rgba(255,255,255,.92); color:var(--green-800); font-size:12.5px; font-weight:700;
}
.svc-info h3{ font-size:clamp(19px,2.2vw,23px); }
.svc-info .svc-en{ margin-top:5px; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-2); }
.svc-info .svc-desc{ margin-top:12px; font-size:15px; line-height:1.9; color:var(--text-2); }
.svc-box{ margin-top:16px; padding:16px 18px; border-radius:var(--r-sm); background:var(--mist); border:1px solid var(--line); }
.svc-box .lbl{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:var(--green-800); margin-bottom:8px; }
.svc-box ul{ display:grid; gap:7px; }
.svc-box li{ position:relative; padding-left:16px; font-size:14.2px; line-height:1.8; color:var(--text-2); }
.svc-box li::before{
  content:""; position:absolute; left:0; top:10px; width:5px; height:5px;
  border-radius:50%; background:var(--leaf-2);
}
.svc-box-case{ background:#fff; }
.svc-ask{ display:inline-flex; align-items:center; gap:5px; margin-top:18px; font-size:14.6px; font-weight:600; color:var(--green-700); }
@media (max-width:900px){
  .svc-block{ grid-template-columns:1fr; }
  .svc-block.is-reverse .svc-figure{ order:0; }
}

/* ============ 决策咨询流程 ============ */
.flow-figure{ margin:26px 0 34px; }
.flow-figure svg{ display:block; width:100%; height:auto; }
.flow-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.flow-step{ padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.flow-step b{ display:block; font-size:15.6px; margin-bottom:8px; color:var(--green-800); }
.flow-step p{ font-size:14.2px; line-height:1.85; color:var(--text-2); }
@media (max-width:900px){ .flow-steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .flow-steps{ grid-template-columns:1fr; } .flow-figure{ display:none; } }

/* ============ 交付物 ============ */
.dlv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.dlv-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px 22px; }
.dlv-ico{ display:block; width:46px; height:46px; margin-bottom:14px; }
.dlv-ico svg{ display:block; width:100%; height:100%; }
.dlv-card h3{ font-size:17px; margin-bottom:8px; }
.dlv-card p{ font-size:14.2px; line-height:1.85; color:var(--text-2); }
@media (max-width:900px){ .dlv-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .dlv-grid{ grid-template-columns:1fr; } }

/* ==================== 手机端可读性优化（320px 起） ==================== */
@media (max-width:600px){
  :root{ --gut:16px; }
  body{ font-size:16.6px; line-height:1.85; }

  /* 兜底：所有可读文字不低于 14px */
  p, li, a, span, td, th, label, figcaption, blockquote, strong, b, em, i, small{
    font-size:max(1em, 14px);
  }

  h1{ font-size:28px; line-height:1.3; }
  h2{ font-size:23px; }
  h3{ font-size:18.5px; }
  .lead{ font-size:16.2px !important; line-height:1.9; }
  .eyebrow{ font-size:13px; letter-spacing:.16em; }
  .eyebrow::before{ width:18px; }
  .small{ font-size:14.6px; }

  /* 按钮：字号与点击区 */
  .btn{ font-size:15px !important; padding:12px 20px !important; min-height:46px; }
  .btn-lg{ min-height:50px; }
  .btn-sm{ min-height:40px; }

  /* 表单 16px，避免 iOS 聚焦时自动放大 */
  input, textarea, select{ font-size:16px !important; }

  /* ---- 导航条 ---- */
  .logo{ padding:5px 10px; }
  .logo .site-logo, .logo img{ height:40px !important; }
  .menu > li > a{ font-size:14.6px; padding:8px 13px; }
  .nav-act .btn-green{ font-size:14.4px; padding:9px 15px; }

  /* ---- 首页咨询卡片 ---- */
  .svc-card-body{ padding:18px 18px 20px; }
  .svc-card-body h3{ font-size:19px; }
  .svc-card-body .svc-desc{ font-size:15.4px; line-height:1.9; }
  .svc-card-body .svc-points li{ font-size:14.6px; }
  .svc-card-more{ font-size:15px; }

  /* ---- 服务页 ---- */
  .aud-card{ padding:20px 18px; }
  .aud-card > p{ font-size:15px; line-height:1.9; }
  .aud-list li{ font-size:14.8px; }
  .aud-tag{ font-size:13.4px; }
  .svc-block{ padding:16px; gap:20px; }
  .svc-info h3{ font-size:20px; }
  .svc-info .svc-desc{ font-size:15.4px; line-height:1.9; }
  .svc-box{ padding:14px 15px; }
  .svc-box li{ font-size:14.8px; }
  .svc-box .lbl{ font-size:13.6px; }
  .svc-ask{ font-size:15px; }
  .flow-step{ padding:16px 17px; }
  .flow-step b{ font-size:15.8px; }
  .flow-step p{ font-size:14.8px; }
  .dlv-card{ padding:18px 17px; }
  .dlv-card h3{ font-size:17.6px; }
  .dlv-card p{ font-size:14.8px; }

  /* ---- 文章页 ---- */
  .post-hero{ min-height:230px !important; }
  .post-body{ font-size:16.6px; line-height:1.95; }
  .post-body p{ font-size:16.6px; line-height:1.95; }
  .post-body li{ font-size:16.2px; line-height:1.9; }
  .post-body > p:first-of-type{ font-size:17.4px; }
  .pp-list li{ font-size:15.6px; line-height:1.85; }
  .ps-card{ padding:16px 16px 18px; }
  .ps-card span, .ps-card a, .ps-card p{ font-size:15px; }
  .ps-toc li a{ font-size:15px; padding-block:8px; }
  .ps-toc-lv3 a{ font-size:14.4px; padding-left:18px; }
  .ps-svc li a{ font-size:15px; padding-block:9px; }
  .ps-about p{ font-size:15px; line-height:1.9; }
  .ps-tags a{ font-size:14px; padding:7px 13px; }

  /* ---- 通用间距收紧 ---- */
  .section{ padding-block:44px; }
  .col-head{ flex-wrap:wrap; gap:8px; }
  .footer{ font-size:15px; }
}

/* ---------- 窄屏（≤480px）：导航分为两行 ---------- */
@media (max-width:480px){
  :root{ --gut:14px; }
  .nav{ flex-wrap:wrap; gap:8px 10px; padding-block:10px; }
  .logo{ order:1; }
  .logo .site-logo, .logo img{ height:38px !important; }
  .nav-act{ order:2; margin-left:auto; }
  .nav-act .btn-green{ font-size:14px; padding:9px 13px; }
  .menu{
    order:3; flex:1 0 100%; margin-left:0; padding-top:2px;
    overflow-x:auto; -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,#000 84%,rgba(0,0,0,.2));
    mask-image:linear-gradient(90deg,#000 84%,rgba(0,0,0,.2));
  }
  .menu > li > a{ font-size:14.4px; padding:7px 12px; }
  .header.is-scrolled .logo .site-logo,
  .header.is-scrolled .logo img{ height:34px !important; }
}

/* ---------- 超窄屏（≤400px，含 320×640） ---------- */
@media (max-width:400px){
  :root{ --gut:12px; }
  body{ font-size:16px; }
  h1{ font-size:26px; }
  h2{ font-size:21.5px; }
  h3{ font-size:18px; }
  .lead{ font-size:15.6px !important; }
  .logo{ padding:4px 8px; }
  .logo .site-logo, .logo img{ height:36px !important; }
  .menu > li > a{ font-size:14px; padding:6px 11px; }
  .nav-act .btn-green{ font-size:13.8px; padding:8px 11px; }
  .btn{ font-size:14.6px !important; padding:11px 16px !important; }
  .svc-card-body h3, .svc-info h3{ font-size:18.5px; }
  .section{ padding-block:38px; }
  .post-hero{ min-height:210px !important; }
  .ps-toc li a, .ps-svc li a{ font-size:14.6px; }
  .chips .chip{ font-size:14px; padding:8px 14px; }
}

/* ---------- 手机端：防溢出与换行细节 ---------- */
@media (max-width:600px){
  body{ overflow-wrap:break-word; word-break:break-word; }
  .chips{ flex-wrap:wrap; gap:8px; }
  .crumb{ flex-wrap:wrap; gap:4px; font-size:13.5px; }
  .hero-slogan{ font-size:14.5px; }
  .post-title-onimg{ font-size:26px; line-height:1.32; }
  .post-meta-onimg{ font-size:14px; }
  .post-body img{ border-radius:10px; }
  .post-body table,
  .page-body table{ display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .tag-cloud, .ps-tags{ gap:8px; }
  .more, .link-u{ font-size:14.6px; }
  .f-grid{ gap:22px; }
}
@media (max-width:400px){
  .post-title-onimg{ font-size:23px; }
  .crumb{ font-size:13px; }
  .chips .chip{ font-size:14px; padding:8px 13px; }
  .hero-slogan{ font-size:14px; }
  .stat b, .stats b{ font-size:26px; }
}

/* ==================== 桌面 logo 放大 ==================== */
.btn-short{ display:none; }

@media (min-width:1081px){
  .logo{ padding:10px 20px; border-radius:14px; }
  .logo .site-logo, .logo img{ height:120px !important; }
  .nav{ padding-block:14px; gap:26px; }
  .menu{ gap:8px; }
  .menu > li > a{ font-size:16.5px; padding:11px 18px; }
  .nav-act .btn-green{ font-size:15.5px; padding:12px 22px; }
  .header.is-scrolled .logo{ padding:6px 16px; }
  .header.is-scrolled .logo .site-logo,
  .header.is-scrolled .logo img{ height:70px !important; }
  .header.is-scrolled .menu > li > a{ font-size:15.5px; padding:9px 16px; }
}
@media (min-width:1400px){
  .logo .site-logo, .logo img{ height:132px !important; }
}

/* ==================== 移动端：logo 与菜单同一行 ==================== */
@media (max-width:1080px){
  .nav{ flex-wrap:nowrap !important; gap:10px; padding-block:10px; }
  .logo{ order:0; flex-shrink:0; padding:5px 10px; border-radius:10px; }
  .logo .site-logo, .logo img{ height:42px !important; }
  .menu{
    order:1; flex:1 1 auto; min-width:0; margin-left:0;
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .menu::-webkit-scrollbar{ display:none; }
  .nav-act{ order:2; flex-shrink:0; margin-left:0; }
}
@media (max-width:600px){
  .logo .site-logo, .logo img{ height:40px !important; }
  .menu > li > a{ font-size:14.4px; padding:7px 11px; }
  .nav-act .btn-green{ font-size:14px; padding:9px 13px; }
}
@media (max-width:480px){
  .nav{ gap:7px; padding-block:9px; }
  .logo{ padding:4px 8px; }
  .logo .site-logo, .logo img{ height:38px !important; }
  .menu{
    -webkit-mask-image:linear-gradient(90deg,#000 86%,rgba(0,0,0,.2));
    mask-image:linear-gradient(90deg,#000 86%,rgba(0,0,0,.2));
  }
  .menu > li > a{ font-size:14px; padding:6px 10px; }
  .nav-act .btn-green{ font-size:13.8px; padding:8px 11px; }
  .btn-full{ display:none; }
  .btn-short{ display:inline; }
}
@media (max-width:400px){
  .logo .site-logo, .logo img{ height:36px !important; }
  .menu > li > a{ font-size:13.8px; padding:6px 9px; }
  .nav-act .btn-green{ font-size:13.6px; padding:8px 10px; }
}

/* ==================== 二维码放大一倍 ==================== */
.qr-img{ width:min(440px,100%) !important; margin-inline:auto; }
.f-wechat .f-qr{
  width:140px !important; height:140px !important;
  padding:6px !important; border-radius:10px !important;
}
.pw-qr{ width:150px !important; height:150px !important; }

@media (max-width:600px){
  .qr-card{ padding:18px 14px !important; }
  .qr-img{ width:min(300px,100%) !important; }
  .f-wechat .f-qr{ width:116px !important; height:116px !important; }
  .pw-qr{ width:120px !important; height:120px !important; }
}

/* ==================== 全周期 · 全栈 ==================== */
.cyc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.cyc-card{
  padding:22px 20px 20px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r);
  transition:all .3s var(--ease);
}
.cyc-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--leaf-2); }
.cyc-stage{
  display:inline-flex; padding:4px 12px; border-radius:100px;
  background:var(--green-800); color:#fff; font-size:13px; font-weight:600;
}
.cyc-card h3{ margin-top:12px; font-size:17.5px; }
.cyc-card p{ margin-top:8px; font-size:14.4px; line-height:1.85; color:var(--text-2); }

.stack-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px; }
.stack-card{
  padding:26px 26px 28px; border-radius:var(--r);
  background:linear-gradient(160deg,#14612F 0%,#0B3B1E 100%);
  color:#fff; box-shadow:0 18px 40px -18px rgba(11,59,30,.55);
}
.stack-tag{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--leaf-2); font-weight:600;
}
.stack-card h3{ margin-top:10px; font-size:22px; color:#fff; }
.stack-card p{ margin-top:10px; font-size:14.6px; line-height:1.9; color:rgba(255,255,255,.84); }

@media (max-width:900px){
  .cyc-grid{ grid-template-columns:repeat(2,1fr); }
  .stack-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .cyc-grid{ grid-template-columns:1fr; }
  .cyc-card h3{ font-size:18px; }
  .cyc-card p, .stack-card p{ font-size:15px; }
  .stack-card h3{ font-size:20px; }
}

/* ==================== 联系我们按钮重做 ==================== */
.nav-act .btn-green{
  background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 100%) !important;
  color:#0B3B1E !important;
  border:0 !important;
  border-radius:100px !important;
  font-weight:600;
  letter-spacing:.01em;
  padding:13px 26px !important;
  box-shadow:0 10px 24px -10px rgba(208,161,28,.75);
  transition:transform .26s var(--ease), box-shadow .26s var(--ease), filter .26s var(--ease);
}
.nav-act .btn-green:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px -12px rgba(208,161,28,.9);
  filter:brightness(1.04);
}
.nav-act .btn-green:active{ transform:translateY(0); }

@media (max-width:600px){
  .nav-act .btn-green{
    padding:10px 17px !important;
    font-size:14px !important;
    border-radius:100px !important;
    box-shadow:0 6px 14px -6px rgba(208,161,28,.6);
  }
}
@media (max-width:400px){
  .nav-act .btn-green{
    padding:9px 15px !important;
    font-size:13.8px !important;
  }
}

/* ==================== 二维码下方只留一行 ==================== */
.qr-card .lead,
.qr-tips,
.qr-alt{ display:none !important; }
.qr-card h3{
  margin-top:22px; font-size:20px; text-align:center;
}
.qr-card{ text-align:center; }
@media (max-width:600px){
  .qr-card h3{ font-size:18.5px; margin-top:16px; }
}

/* ===== 联系我们：艺术边框文字（替代实心按钮） ===== */
.nav-act .nav-ink{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 20px;
  font-family:"Songti SC","STSong","SimSun",Georgia,serif;
  font-size:16px;
  letter-spacing:3px;
  color:var(--green-800,#1e5c2a);
  background:none;
  border:0;
  border-radius:2px;
  box-shadow:none;
  text-decoration:none;
  white-space:nowrap;
  transition:color .3s ease, letter-spacing .3s ease;
}
.nav-act .nav-ink span{ display:inline; }
.nav-act .nav-ink::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(184,134,11,.42);
  border-radius:2px;
  pointer-events:none;
  transition:border-color .3s ease;
}
.nav-act .nav-ink::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:.95;
  transition:inset .3s ease;
  background:
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left top / 9px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left top / 1.5px 9px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right top / 9px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right top / 1.5px 9px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left bottom / 9px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left bottom / 1.5px 9px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right bottom / 9px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right bottom / 1.5px 9px no-repeat;
}
.nav-act .nav-ink:hover{ color:var(--gold,#b8860b); letter-spacing:4px; }
.nav-act .nav-ink:hover::before{ border-color:rgba(184,134,11,.8); }
.nav-act .nav-ink:hover::after{ inset:-4px; }

@media (max-width:1080px){
  .nav-act .nav-ink{ font-size:15px; padding:9px 16px; letter-spacing:2px; }
}
@media (max-width:600px){
  .nav-act .nav-ink{ font-size:14px; padding:8px 13px; letter-spacing:1.5px; }
}
@media (max-width:400px){
  .nav-act .nav-ink{ font-size:13.8px; padding:7px 10px; letter-spacing:1px; }
}

/* ===== 联系我们：金色文字 + 紧凑边框（覆盖前版） ===== */
.nav-act .nav-ink{
  padding:7px 12px;
  letter-spacing:2px;
  color:var(--gold,#b8860b);
}
.nav-act .nav-ink::after{
  background:
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left top / 7px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left top / 1.5px 7px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right top / 7px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right top / 1.5px 7px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left bottom / 7px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) left bottom / 1.5px 7px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right bottom / 7px 1.5px no-repeat,
    linear-gradient(var(--gold,#b8860b),var(--gold,#b8860b)) right bottom / 1.5px 7px no-repeat;
}
.nav-act .nav-ink:hover{ color:#96690a; letter-spacing:2.5px; }

@media (max-width:1080px){
  .nav-act .nav-ink{ font-size:15px; padding:6px 10px; letter-spacing:1.5px; }
}
@media (max-width:600px){
  .nav-act .nav-ink{ font-size:14px; padding:5px 9px; letter-spacing:1px; }
}
@media (max-width:400px){
  .nav-act .nav-ink{ font-size:13.6px; padding:5px 8px; letter-spacing:.5px; }
}

/* ===== 咨询服务页重构：流程步骤的周期与交付标注 ===== */
.svc-flow .flow-step .fs-when{
  display:inline-block;
  margin:8px 0 10px;
  padding:3px 11px;
  border-radius:999px;
  font-size:12.8px;
  letter-spacing:.5px;
  line-height:1.6;
  color:var(--green-800,#1e5c2a);
  background:rgba(58,148,64,.1);
  border:1px solid rgba(58,148,64,.22);
}
.svc-flow .flow-step .fs-out{
  display:block;
  margin-top:12px;
  padding-top:10px;
  border-top:1px dashed var(--line);
  font-size:13.6px;
  line-height:1.7;
  color:var(--gold-2,#b8860b);
}
.svc-flow .flow-step .fs-out b{
  color:var(--gold-2,#b8860b);
  font-weight:600;
}
@media (max-width:600px){
  .svc-flow .flow-step .fs-when{ font-size:12.6px; padding:3px 9px; }
  .svc-flow .flow-step .fs-out{ font-size:13.2px; }
}

/* ==================== 咨询服务页 UI 优化 ==================== */

/* 1) 四个咨询方向 */
.svc-solutions .svc-blocks{ gap:26px; }
.svc-solutions .svc-block{
  position:relative;
  padding:clamp(22px,2.6vw,34px);
  box-shadow:0 10px 30px -18px rgba(11,59,30,.18);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.svc-solutions .svc-block:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px -24px rgba(11,59,30,.34);
  border-color:var(--leaf-2);
}
.svc-solutions .svc-block::before{
  content:"";
  position:absolute; left:0; top:26px; bottom:26px;
  width:3px; border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,var(--gold),var(--gold-2));
  opacity:0; transition:opacity .35s var(--ease);
}
.svc-solutions .svc-block:hover::before{ opacity:1; }
.svc-solutions .svc-figure{
  background:linear-gradient(160deg,#f7faf7,#edf5ee);
  border:1px solid var(--line);
}
.svc-solutions .svc-figure-no{
  left:12px; top:10px;
  padding:5px 13px;
  background:var(--green-800);
  color:#fff;
  font-size:13px; font-weight:700; letter-spacing:.06em;
  box-shadow:0 6px 16px -6px rgba(11,59,30,.6);
}
.svc-solutions .svc-info h3{ position:relative; padding-left:15px; }
.svc-solutions .svc-info h3::before{
  content:"";
  position:absolute; left:0; top:.38em; bottom:.38em;
  width:4px; border-radius:2px;
  background:linear-gradient(180deg,var(--gold),var(--gold-2));
}
.svc-solutions .svc-box{
  border-left:3px solid rgba(58,148,64,.35);
  background:linear-gradient(180deg,#fafcf9,#f4f9f4);
}
.svc-solutions .svc-box .lbl{ letter-spacing:.06em; }
.svc-solutions .svc-ask{
  margin-top:20px;
  padding:9px 17px;
  border-radius:100px;
  background:rgba(58,148,64,.08);
  border:1px solid rgba(58,148,64,.25);
  transition:all .3s var(--ease);
}
.svc-solutions .svc-ask:hover{
  background:var(--green-800);
  border-color:var(--green-800);
  color:#fff;
}
.svc-solutions .svc-ask .arw{ transition:transform .3s var(--ease); }
.svc-solutions .svc-ask:hover .arw{ transform:translateX(3px); }

/* 2) 三条原则 */
.svc-prin .ab-card{
  padding:28px 26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r);
  transition:transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s var(--ease);
}
.svc-prin .ab-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 44px -22px rgba(11,59,30,.3);
  border-color:var(--leaf-2);
}
.svc-prin .ab-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; margin-bottom:14px;
  border-radius:50%;
  background:rgba(58,148,64,.1);
  border:1px solid rgba(58,148,64,.25);
  color:var(--green-800);
  font-size:14.5px; font-weight:700; letter-spacing:.02em;
}

/* 3) 流程步骤 */
.svc-flow .flow-step{
  position:relative; overflow:hidden;
  padding:24px 22px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:0 8px 26px -20px rgba(11,59,30,.25);
  transition:transform .34s var(--ease), box-shadow .34s var(--ease), border-color .34s var(--ease);
}
.svc-flow .flow-step::before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--green-800),var(--leaf-2));
}
.svc-flow .flow-step:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px -24px rgba(11,59,30,.34);
  border-color:var(--leaf-2);
}
.svc-flow .flow-step b{
  display:flex; align-items:center; gap:10px;
  font-size:16.5px; margin-bottom:6px; color:var(--green-800);
}
.svc-flow .fs-no{
  flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:var(--green-800);
  color:#fff; font-size:13.5px; font-weight:700;
  box-shadow:0 6px 14px -6px rgba(11,59,30,.65);
}

/* 4) 交付物 */
.svc-dlv .dlv-card{
  position:relative; overflow:hidden;
  padding:26px 22px 24px;
  border-radius:var(--r);
  transition:transform .34s var(--ease), box-shadow .34s var(--ease), border-color .34s var(--ease);
}
.svc-dlv .dlv-card::after{
  content:"";
  position:absolute; left:22px; top:0;
  width:38px; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  opacity:0; transition:opacity .34s var(--ease);
}
.svc-dlv .dlv-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px -22px rgba(11,59,30,.32);
  border-color:var(--gold-2);
}
.svc-dlv .dlv-card:hover::after{ opacity:1; }
.svc-dlv .dlv-ico{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; margin-bottom:14px;
  padding:11px;
  border-radius:14px;
  background:linear-gradient(160deg,#f3f9f3,#e8f2e9);
  border:1px solid rgba(58,148,64,.18);
}

/* 5) 全周期 · 全栈 */
.svc-cyc .cyc-card{
  position:relative; overflow:hidden;
  padding:24px 22px 22px;
}
.svc-cyc .cyc-card::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,var(--leaf-2),var(--green-800));
  opacity:.6;
}
.svc-cyc .cyc-stage{ box-shadow:0 5px 14px -7px rgba(11,59,30,.75); }
.svc-cyc .stack-card{
  transition:transform .34s var(--ease), box-shadow .34s var(--ease);
}
.svc-cyc .stack-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 54px -20px rgba(11,59,30,.62);
}

/* 6) 窄屏收敛 */
@media (max-width:900px){
  .svc-flow .flow-step{ padding:20px 18px; }
  .svc-dlv .dlv-card{ padding:22px 18px; }
  .svc-prin .ab-card{ padding:22px 20px; }
}
