@charset "utf-8";
/* ==========================================================================
   law44 · 律衡网 —— 全站样式（唯一手写的核心资产）
   版面语言：① 砖缝网格（gap:1px + 容器底色透出成缝） ② 门楣横梁区块头 ③ 方形编号牌
   配色：米灰纸 #f3f1ec + 深紫檀 #2a2333 + 蜜金 #c8931f（浅底文字 #7c5a0e）
   ★ 承载文字的令牌一律按「全站最差底」定值，不是按主纸底定：
     --paper-2 #e9e6de 比 --paper 暗一档，同一个灰在上面就掉 0.47 个比值。
     首轮就因此漏了 3 枚（三级灰 4.49 / 蜜金文字 4.31 / 分页禁用 3.93，全部 < 4.5）。
   ★ 零 CDN：系统字体栈 + 文档内联 SVG 图标 + 本地 SVG 图片；全站零 background-image
     （对比度探针要靠 backgroundColor 取真底，写了 background-image 的祖先会被跳过）
   ★ .wrap 及其同元素容器只用 padding-top/padding-bottom，禁止 padding 简写
   ========================================================================== */

:root{
  --paper:#f3f1ec;      /* 米灰纸 */
  --paper-2:#e9e6de;    /* 次纸底 */
  --card:#ffffff;
  --ink:#221f2b;        /* 紫墨：正文 */
  --ink-2:#4c4757;
  --ink-3:#675f73;      /* 三级灰：最差底 paper-2 4.86:1（paper 5.38 / card 6.07） */
  --deep:#2a2333;       /* 深紫檀 */
  --deep-2:#382f45;
  --line:#ddd8cd;       /* 浅底分隔线/砖缝 */
  --line-2:#ebe7de;
  --line-deep:#4b4259;  /* 深底分隔线/砖缝 */
  --on-deep:#f3f1ec;
  --on-deep-2:#b0a9bd;  /* 深底二级文字：对 deep 6.7:1 */
  --brand:#2a2333;
  --accent:#c8931f;     /* 蜜金：仅装饰（分隔线/图标/砖缝），不承载文字 */
  --accent-d:#7c5a0e;   /* 浅底上的蜜金文字：最差底 paper-2 5.06:1（paper 5.59 / card 6.31） */
  --accent-l:#e6c47a;   /* 深底上的蜜金文字：对 deep 9.0:1 */
  --teal:#1f6b64;       /* 辅助青：对 paper 5.56:1 */
  --danger:#b3261e;
  --danger-d:#8f1c16;
  --danger-bg:#fbeceb;
  --teal-bg:#e8f2f0;
  --wrap:1200px;
  --pad:20px;
  --mortar:1px;
  --f-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",
    "Noto Sans CJK SC","WenQuanYi Micro Hei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --f-serif:"Songti SC","SimSun","Source Han Serif SC","Noto Serif CJK SC",Georgia,"Times New Roman",serif;
  --f-mono:Consolas,Menlo,"DejaVu Sans Mono","Courier New",monospace;
}

/* ---------- 复位 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;padding:0;
  font-family:var(--f-sans);font-size:15.5px;line-height:1.72;
  color:var(--ink);background:var(--paper);
  overflow-x:clip;
}
h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2,h3,h4{line-height:1.3;font-weight:800}
a{color:inherit;text-decoration:none}
em,i{font-style:normal}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
img,video{max-width:100%;height:auto;display:block;border:0}
svg{display:inline-block;vertical-align:-.125em;flex:0 0 auto}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-d);outline-offset:2px}
[hidden]{display:none!important}

/* 图标：必须成对声明宽高，否则全局 height 兜底会让只设 width 的图标比例失衡 */
.i{width:17px;height:17px;max-width:none;fill:none;stroke:currentColor}
svg.i{flex:0 0 auto}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
/* 无障碍跳转链接：用 clip，不要用负定位（负定位会在溢出审计里变成假阳性），且不能带 padding */
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;clip-path:none;
  padding:10px 16px;background:var(--deep);color:var(--on-deep);z-index:99}

/* ---------- 通用容器 ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-left:auto;margin-right:auto;
  padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding-top:64px;padding-bottom:64px}
.sec--paper2{background:var(--paper-2)}
.sec--deep{background:var(--deep);color:var(--on-deep)}
.sec--flat{padding-top:0;padding-bottom:0}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border:2px solid transparent;font-size:14.5px;font-weight:700;
  line-height:1.2;letter-spacing:.01em;overflow-wrap:break-word;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.btn__t{color:inherit;font-size:inherit;line-height:inherit}
/* ★ 深底区里的幽灵按钮会变成「黑字压黑底」，必须重定义 color 与 border-color */
.btn--ghost,.hero .btn--ghost,.page-banner .btn--ghost{
  border-color:var(--line-deep);color:var(--on-deep);background:transparent}
.btn--ghost:hover{background:var(--deep-2)}
.btn--accent{background:var(--accent-d);color:#fff}
.btn--accent:hover{background:var(--deep)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn[disabled]{opacity:.62;cursor:not-allowed}

/* 元信息行（日期 / 阅读数） */
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
  font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}
.meta__i{display:inline-flex;align-items:center;gap:5px}
.meta__sep{width:1px;height:11px;background:var(--line)}
.sec--deep .meta{color:var(--on-deep-2)}
.req{color:var(--danger-d)}

/* ==========================================================================
   1. 顶部信息条（深紫檀）
   ========================================================================== */
.topbar{background:var(--deep);color:var(--on-deep-2);font-size:12.5px}
.topbar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 20px;
  padding-top:8px;padding-bottom:8px}
.topbar__msg{display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:break-word}
.topbar__msg .i{color:var(--accent-l)}
.topbar__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.topbar__it{display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}
.topbar__it .i{color:var(--accent-l)}
.topbar__msg,.topbar__meta{color:var(--on-deep-2)}

/* ==========================================================================
   2. 主导航（sticky）
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:40;background:var(--card);
  border-bottom:3px solid var(--brand)}
.header-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;order:1;flex:0 0 auto}
.brand__mark{width:40px;height:40px;flex:0 0 auto}
.brand__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.brand__name{font-size:20px;font-weight:800;letter-spacing:.04em;line-height:1.1;color:var(--ink)}
.brand__slogan{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);white-space:nowrap}
.nav{order:2}
.nav__list{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px}
.nav__it{flex:0 0 auto}
.nav__link{display:block;padding:9px 11px;font-size:15px;font-weight:600;white-space:nowrap;
  color:var(--ink-2);border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}
.nav__link:hover{color:var(--ink)}
.nav__link.is-on{color:var(--accent-d);border-bottom-color:var(--accent)}
.header-side{display:flex;align-items:center;gap:16px;order:3;margin-left:auto;flex:0 0 auto}
.header-tel{display:flex;align-items:center;gap:8px}
.header-tel .i{color:var(--accent-d);width:20px;height:20px}
.header-tel__txt{display:flex;flex-direction:column;line-height:1.15}
.header-tel__txt em{font-size:10.5px;letter-spacing:.06em;color:var(--ink-3)}
.header-tel__no{font-family:var(--f-mono);font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap}
.nav-toggle{order:4;display:none;width:44px;height:44px;padding:11px 10px;
  flex-direction:column;justify-content:space-between;border:1px solid var(--line)}
.nav-toggle__bar{display:block;height:2px;width:100%;background:var(--ink)}
.nav-toggle:hover{border-color:var(--accent-d)}

/* 无 JS 降级：脚本没跑时导航整体展开、可换行、汉堡按钮消失（点了没反应的控件不该渲染） */
.site-header:not(.is-collapsible) .nav-toggle{display:none}
.site-header:not(.is-collapsible) .nav{display:flex;flex:1 0 100%;order:5}
.site-header:not(.is-collapsible) .nav__list{flex-wrap:wrap}
/* 抽屉态：max-height:0 只能挂在 .is-collapsible 下，否则无 JS 时导航也会塌缩 */
.site-header.is-collapsible .nav{flex:1 0 100%;max-height:0;overflow:hidden;
  transition:max-height .26s ease}
.site-header.is-collapsible .nav-toggle{display:flex}
.site-header.is-collapsible.is-open .nav{max-height:520px;overflow:auto}
.site-header.is-collapsible .nav__list{flex-direction:column;align-items:stretch;gap:0}
.site-header.is-collapsible .nav__link{padding:13px 10px;border-bottom:1px solid var(--line-2);
  border-left:3px solid transparent}
.site-header.is-collapsible .nav__link.is-on{border-left-color:var(--accent);border-bottom-color:var(--line-2)}

/* ==========================================================================
   3. Hero + 热搜词带
   ========================================================================== */
.hero{position:relative;background:var(--deep);color:var(--on-deep);overflow:hidden}
.hero__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;
  pointer-events:none}
.hero__inner{position:relative;display:flex;flex-wrap:wrap;gap:36px 48px;align-items:center;
  padding-top:62px;padding-bottom:44px}
.hero__body{flex:1 1 420px;min-width:0}
.hero__kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;color:var(--accent-l);
  text-transform:uppercase;margin-bottom:14px}
.hero__title{font-family:var(--f-serif);font-size:clamp(26px,3.6vw,42px);font-weight:700;
  letter-spacing:.01em;color:#fff}
.hero__sub{margin-top:16px;max-width:34em;font-size:15.5px;color:var(--on-deep-2);overflow-wrap:break-word}
.hero__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__card{flex:0 1 330px;min-width:0;background:var(--card);color:var(--ink);
  padding:18px 18px 14px;border-top:4px solid var(--accent)}
.hero__card-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;
  color:var(--ink);padding-bottom:10px;border-bottom:1px solid var(--line)}
.hero__card-h .i{color:var(--accent-d)}
.hero__card-list{display:flex;flex-direction:column}
.hero__card-it{border-bottom:1px solid var(--line-2)}
.hero__card-it:last-child{border-bottom:0}
.hero__card-link{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;
  color:var(--ink);overflow-wrap:break-word}
.hero__card-link:hover .hero__card-t{color:var(--accent-d)}
.hero__card-no{flex:0 0 auto;font-family:var(--f-mono);font-size:11.5px;font-weight:700;
  color:var(--accent-d)}
.hero__card-t{flex:1 1 auto;min-width:0}
.hero__card-link .i{color:var(--ink-3)}
.hero__card-foot{margin-top:10px;font-size:12px;color:var(--ink-3)}
.hero__stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--mortar);background:var(--line-deep);border:1px solid var(--line-deep);
  margin-bottom:34px}
.hero__stat{display:flex;flex-direction:column;gap:4px;background:var(--deep);
  padding:16px 18px}
.hero__stat-n{font-family:var(--f-mono);font-size:24px;font-weight:700;color:var(--accent-l);
  line-height:1.1}
.hero__stat-l{font-size:12.5px;color:var(--on-deep-2)}
.hero__belt{background:var(--deep-2);border-top:1px solid var(--line-deep)}
.hero__belt-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  padding-top:12px;padding-bottom:12px}
.hero__belt-k{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  font-size:12.5px;font-weight:700;color:var(--accent-l)}
.hero__belt-list{display:flex;flex-wrap:wrap;gap:6px 16px}
.hero__belt-a{font-size:12.5px;color:var(--on-deep-2);text-decoration:underline;
  text-decoration-color:var(--line-deep);text-underline-offset:3px}
.hero__belt-a:hover{color:#fff;text-decoration-color:var(--accent)}

/* ==========================================================================
   4. 区块头（门楣横梁 + 方形编号牌）
   ========================================================================== */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 22px;
  padding-top:22px;margin-bottom:32px;border-top:4px solid var(--brand)}
.sec-head__no{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:46px;height:46px;
  background:var(--deep);color:var(--accent-l);
  font-family:var(--f-mono);font-size:17px;font-weight:700;letter-spacing:.01em}
.sec-head__body{flex:1 1 300px;min-width:0}
.sec-head__kicker{font-family:var(--f-mono);font-size:11.5px;font-weight:600;
  letter-spacing:.18em;color:var(--accent-d);text-transform:uppercase}
.sec-head__title{margin-top:6px;font-size:clamp(21px,2.4vw,28px);color:var(--ink);
  overflow-wrap:break-word}
.sec-head__desc{margin-top:7px;font-size:14px;color:var(--ink-3);overflow-wrap:break-word}
.sec-head__more{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;align-self:flex-end;
  font-size:14px;font-weight:700;color:var(--accent-d)}
.sec-head__more:hover{color:var(--deep)}
.sec--deep .sec-head{border-top-color:var(--accent)}
.sec--deep .sec-head__no{background:var(--accent);color:var(--deep)}
.sec--deep .sec-head__kicker{color:var(--accent-l)}
.sec--deep .sec-head__title{color:#fff}
.sec--deep .sec-head__desc{color:var(--on-deep-2)}
.sec--deep .sec-head__more{color:var(--accent-l)}
.sec--flat .sec-head{border-top-color:var(--line)}

/* ==========================================================================
   5. 分类墙（砖缝网格）
   ========================================================================== */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--mortar);
  background:var(--line);border:1px solid var(--line)}
.cat-card{position:relative;display:flex;flex-direction:column;gap:8px;
  background:var(--card);padding:26px 22px 22px;overflow-wrap:break-word}
.cat-card__plate{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;background:var(--deep);color:var(--accent-l);
  font-family:var(--f-mono);font-size:14px;font-weight:700}
.cat-card__icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:8px 0 4px;
  border:2px solid var(--line);color:var(--accent-d)}
.cat-card__icon .i{width:24px;height:24px}
.cat-card__t{font-size:17px;color:var(--ink)}
.cat-card__link{display:block}
.cat-card__link:hover{color:var(--accent-d)}
.cat-card__d{font-size:13.5px;color:var(--ink-3);min-height:2.9em}
.cat-card__n{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-2);
  font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}
.cat-card__n span{color:var(--accent-d);font-weight:700}
.cat-card:hover .cat-card__icon{border-color:var(--accent);color:var(--deep)}

/* ==========================================================================
   6. 精选（1 大卡 + 3 缩略图卡）
   ========================================================================== */
.feat-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:26px;align-items:start}
.feat-lead{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line)}
.feat-lead__media{display:block;border-bottom:1px solid var(--line)}
.feat-lead__media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.feat-lead__body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px}
.feat-lead__cat{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);
  font-size:11.5px;letter-spacing:.08em;color:var(--accent-d)}
.feat-lead__t{font-size:clamp(18px,1.9vw,23px);color:var(--ink)}
.feat-lead__link:hover{color:var(--accent-d)}
.feat-lead__sum{font-size:14px;color:var(--ink-2);overflow-wrap:break-word}
.feat-lead__meta{margin-top:auto}
.feat-cards{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line)}
.tcard{display:flex;gap:14px;background:var(--card);padding:14px}
.tcard__media{flex:0 0 132px}
.tcard__media img{width:132px;height:88px;object-fit:cover;border:1px solid var(--line-2)}
.tcard__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tcard__cat{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--accent-d)}
.tcard__t{font-size:15px;line-height:1.5;color:var(--ink);overflow-wrap:break-word}
.tcard__link:hover{color:var(--accent-d)}

/* ==========================================================================
   7. 无缩略图列表：双列 / 三列
   ========================================================================== */
.duo-wrap{display:block}
.duo{display:grid;grid-template-columns:repeat(2,1fr);gap:0 38px}
.duo__it{min-width:0;border-bottom:1px solid var(--line)}
.duo__link{display:flex;gap:14px;align-items:flex-start;padding:16px 0;
  transition:transform .16s ease}
.duo__link:hover{transform:translateX(3px)}
.duo__no{flex:0 0 auto;min-width:28px;font-family:var(--f-mono);font-size:15px;font-weight:700;
  color:var(--accent-d);line-height:1.5}
.duo__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.duo__cat{display:inline-block;align-self:flex-start;padding:2px 8px;background:var(--paper-2);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--accent-d)}
.duo__t{font-size:15.5px;font-weight:700;line-height:1.5;color:var(--ink);overflow-wrap:break-word}
.duo__link:hover .duo__t{color:var(--accent-d)}
.duo__meta{font-size:12px}

.tri-wrap{display:block}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}
.tri__it{min-width:0;border-bottom:1px solid var(--line)}
.tri__link{display:flex;flex-direction:column;gap:7px;padding:15px 0}
.tri__no{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--accent-d)}
.tri__t{font-size:14.5px;font-weight:700;line-height:1.55;color:var(--ink);overflow-wrap:break-word}
.tri__link:hover .tri__t{color:var(--accent-d)}
.tri__meta{font-size:11.5px}

/* 文章页的两个变体：相关 = 透明底 + 金左竖线；最新 = 纸底 + 金顶线 */
.duo-wrap--rel .duo__it{border-bottom:0}
.duo-wrap--rel .duo__link{border-left:3px solid var(--accent);padding:12px 0 12px 14px;
  background:transparent}
.duo-wrap--rel .duo__no{color:var(--accent-d)}
.tri-wrap--new .tri__it{border-bottom:0}
.tri-wrap--new .tri__link{border-top:3px solid var(--accent);background:var(--paper-2);
  padding:14px}

/* ==========================================================================
   8. 关于本站（左文 + 右砖缝数据格）
   ========================================================================== */
.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:start}
.about{display:flex;flex-direction:column;gap:14px}
.about__lead{font-family:var(--f-serif);font-size:17px;line-height:1.85;color:var(--ink);
  padding-left:16px;border-left:4px solid var(--accent)}
.about__p{font-size:14.5px;color:var(--ink-2);overflow-wrap:break-word}
.about__btn{align-self:flex-start;margin-top:6px}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--mortar);
  background:var(--line);border:1px solid var(--line)}
.fact{display:flex;flex-direction:column;gap:4px;background:var(--card);padding:20px 18px}
.fact__n{font-family:var(--f-mono);font-size:26px;font-weight:700;color:var(--deep);line-height:1.1}
.fact__l{font-size:12.5px;color:var(--ink-3)}

/* ==========================================================================
   9. 办事流程
   ========================================================================== */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.flow__it{display:flex;flex-direction:column;gap:8px;background:var(--card);padding:22px 20px}
.flow__no{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--accent-d)}
.flow__t{font-size:16px;color:var(--ink)}
.flow__d{font-size:13.5px;color:var(--ink-3);overflow-wrap:break-word}
.flow--art{grid-template-columns:repeat(4,1fr);margin:22px 0}
.flow--art .flow__it{padding:16px 16px}
.flow--art .flow__t{font-size:14px}

/* ==========================================================================
   10. 表单提交模块（深色区 + 白卡）
   ========================================================================== */
.consult__inner{display:grid;grid-template-columns:1fr 1.06fr;gap:44px;align-items:start}
.consult__body{display:flex;flex-direction:column;gap:14px}
.consult__kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;
  color:var(--accent-l);text-transform:uppercase}
.consult__title{font-size:clamp(21px,2.4vw,28px);color:#fff;overflow-wrap:break-word}
.consult__p{font-size:14.5px;color:var(--on-deep-2);overflow-wrap:break-word}
.consult__points{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.consult__point{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:var(--on-deep)}
.consult__point .i{color:var(--accent-l);margin-top:3px}
.consult__tip{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:14px;
  border-top:1px solid var(--line-deep);font-size:12.5px;color:var(--on-deep-2)}
.consult__tip .i{color:var(--accent-l)}

.form-card{background:var(--card);color:var(--ink);padding:26px 24px 22px;
  border-top:4px solid var(--accent)}
.form-card__title{font-size:19px;color:var(--ink)}
.form-card__sub{margin-top:6px;font-size:12.5px;color:var(--ink-3)}
.form-alert{display:none;margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--line);
  font-size:13.5px;overflow-wrap:break-word}
.form-alert.is-on{display:block}
.form-alert.is-err{border-left-color:var(--danger);color:var(--danger-d);background:var(--danger-bg)}
.form-alert.is-ok{border-left-color:var(--teal);color:var(--teal);background:var(--teal-bg)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 18px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field--full{grid-column:1/-1}
.field__lab{font-size:13px;font-weight:700;color:var(--ink-2)}
.field__in,.field__sel,.field__ta{width:100%;padding:10px 12px;background:var(--paper);
  border:1px solid var(--line);font-size:14px;color:var(--ink);overflow-wrap:break-word}
.field__in::placeholder,.field__ta::placeholder{color:var(--ink-3)}
.field__ta{resize:vertical;min-height:96px;line-height:1.65}
.field__sel{appearance:none;padding-right:34px}
.field__box{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
.field__check{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent-d)}
.field__agree{font-size:13px;color:var(--ink-2);overflow-wrap:break-word}
.field__agree-link{color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}
.field__err{font-size:12px;color:var(--danger-d);min-height:0}
.field.is-invalid .field__in,.field.is-invalid .field__sel,.field.is-invalid .field__ta{
  border-color:var(--danger);background:var(--danger-bg)}
.field.is-invalid .field__err{min-height:1.2em}
.form-card__foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;
  padding-top:18px;border-top:1px solid var(--line-2)}
.form-card__btn{width:100%;justify-content:center}
.form-card__note{font-size:12px;color:var(--ink-3)}

/* ==========================================================================
   11. FAQ（原生 details）
   ========================================================================== */
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.faq__it{background:var(--card)}
.faq__q{display:flex;align-items:center;gap:10px;padding:16px 18px;cursor:pointer;
  font-size:15px;font-weight:700;color:var(--ink);overflow-wrap:break-word;
  list-style:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q::marker{content:""}
.faq__q::before{content:"+";flex:0 0 auto;font-family:var(--f-mono);font-size:16px;
  font-weight:700;color:var(--accent-d);width:14px;text-align:center}
.faq__it[open] .faq__q::before{content:"–"}
.faq__a{padding:0 18px 18px 42px;font-size:14px;color:var(--ink-2)}
.faq__a p{overflow-wrap:break-word}
.faq__it[open] .faq__q{color:var(--accent-d)}

/* ==========================================================================
   12. 友情链接（不分类，单组 chip）
   ========================================================================== */
.link-cloud{display:flex;flex-wrap:wrap;gap:10px}
.link-cloud__it{flex:0 0 auto}
.link-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;background:var(--card);
  border:1px solid var(--line);font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.link-chip .i{color:var(--ink-3)}
.link-chip:hover{border-color:var(--accent);color:var(--accent-d)}
.link-chip:hover .i{color:var(--accent-d)}

/* ==========================================================================
   13. 页脚
   ========================================================================== */
.site-footer{background:var(--deep);color:var(--on-deep-2)}
.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;
  padding-top:52px;padding-bottom:36px}
.footer-brand{display:flex;flex-direction:column;gap:14px;min-width:0}
.footer-brand__logo{display:inline-flex;align-items:center;gap:10px}
.footer-brand__logo img{width:40px;height:40px}
.footer-brand__logo strong{font-size:19px;color:#fff;letter-spacing:.04em}
.footer-brand__desc{font-size:13px;line-height:1.75;overflow-wrap:break-word}
.footer-contact{display:flex;flex-direction:column;gap:8px}
.footer-contact__it{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;
  overflow-wrap:break-word}
.footer-contact__it .i{color:var(--accent-l);margin-top:3px}
.footer-col{min-width:0}
.footer-col__t{font-size:14.5px;color:#fff;padding-bottom:10px;margin-bottom:12px;
  border-bottom:1px solid var(--line-deep)}
.footer-col__list{display:flex;flex-direction:column;gap:9px}
.footer-col__link{font-size:13px;color:var(--on-deep-2)}
.footer-col__link:hover{color:var(--accent-l)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:8px 20px;padding-top:16px;padding-bottom:18px;border-top:1px solid var(--line-deep);
  font-size:12px}
.footer-bottom__copy,.footer-bottom__note{overflow-wrap:break-word}

/* ==========================================================================
   14. 移动底栏
   ========================================================================== */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;
  grid-template-columns:repeat(3,1fr);background:var(--card);
  border-top:1px solid var(--line)}
.mobile-bar__it{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:9px 4px;font-size:12px;color:var(--ink-2)}
.mobile-bar__it .i{color:var(--ink-3)}
.mobile-bar__t{overflow-wrap:break-word}
.mobile-bar__it--cta{background:var(--accent-d);color:#fff}
.mobile-bar__it--cta .i{color:#fff}

/* ==========================================================================
   15. 内页 banner 与面包屑
   ========================================================================== */
.page-banner{position:relative;background:var(--paper-2);overflow:hidden;
  border-bottom:1px solid var(--line)}
.page-banner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;
  pointer-events:none}
.page-banner__inner{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;
  justify-content:space-between;gap:20px 40px;padding-top:42px;padding-bottom:34px}
.page-banner__body{flex:1 1 380px;min-width:0}
.page-banner__kicker{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.18em;
  color:var(--accent-d);text-transform:uppercase}
.page-banner__title{margin-top:8px;font-size:clamp(23px,2.8vw,34px);font-weight:800;
  color:var(--ink);overflow-wrap:break-word}
.page-banner__desc{margin-top:10px;max-width:42em;font-size:14.5px;color:var(--ink-2);
  overflow-wrap:break-word}
.page-banner__stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);
  border:1px solid var(--line)}
.page-banner__stat{display:flex;flex-direction:column;gap:3px;background:var(--card);
  padding:12px 18px;min-width:96px}
.page-banner__n{font-family:var(--f-mono);font-size:20px;font-weight:700;color:var(--deep);
  line-height:1.1}
.page-banner__l{font-size:11.5px;color:var(--ink-3)}

.crumb{background:var(--card);border-bottom:1px solid var(--line-2)}
.crumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;
  padding-top:11px;padding-bottom:11px;font-size:12.5px}
.crumb__it{display:flex;align-items:center;gap:8px;min-width:0}
.crumb__it .i{color:var(--ink-3)}
.crumb__link{color:var(--ink-3)}
.crumb__link:hover{color:var(--accent-d)}
.crumb__cur{color:var(--ink);font-weight:600;overflow-wrap:break-word}

/* ==========================================================================
   16. 列表页
   ========================================================================== */
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start;
  padding-top:34px;padding-bottom:52px}
.news-main{display:flex;flex-direction:column;gap:26px;min-width:0}
.news-side{min-width:0}
.filter{background:var(--card);border:1px solid var(--line);padding:18px 20px}
.filter__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:6px 16px}
.filter__title{font-size:16px;color:var(--ink)}
.filter__count{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}
.filter__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.filter__it{flex:0 0 auto}
.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:var(--paper);
  border:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.chip__n{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}
.chip:hover{border-color:var(--accent-d);color:var(--accent-d)}
.chip.is-on{background:var(--deep);border-color:var(--deep);color:#fff}
.chip.is-on .chip__n{color:var(--accent-l)}
.filter__empty{margin-top:14px;padding:12px 14px;background:var(--paper-2);
  border-left:3px solid var(--accent);font-size:13.5px;color:var(--ink-2)}

.leadrow{display:grid;grid-template-columns:1fr 1.5fr;gap:0;background:var(--card);
  border:1px solid var(--line)}
.leadrow__media{display:block}
.leadrow__media img{width:100%;height:100%;min-height:210px;object-fit:cover}
.leadrow__body{display:flex;flex-direction:column;gap:10px;padding:22px 24px}
.leadrow__cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);
  font-size:11.5px;letter-spacing:.08em;color:var(--accent-d)}
.leadrow__t{font-size:clamp(18px,1.9vw,23px);color:var(--ink);overflow-wrap:break-word}
.leadrow__link:hover{color:var(--accent-d)}
.leadrow__sum{font-size:14px;color:var(--ink-2);overflow-wrap:break-word}

.row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.rowline{display:flex;flex-direction:column;background:var(--card)}
.rowline__media{display:block}
.rowline__media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.rowline__body{display:flex;flex-direction:column;gap:7px;padding:14px 16px 16px}
.rowline__cat{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--accent-d)}
.rowline__t{font-size:14.5px;line-height:1.55;color:var(--ink);overflow-wrap:break-word}
.rowline__link:hover{color:var(--accent-d)}

.ledger{background:var(--card);border:1px solid var(--line);padding-top:6px;padding-right:22px;padding-bottom:22px;padding-left:22px}
.ledger .sec-head{padding-top:18px;margin-bottom:10px}
.plainlist{display:flex;flex-direction:column}
.plain{border-bottom:1px solid var(--line-2)}
.plain:last-child{border-bottom:0}
.plain__link{display:grid;grid-template-columns:96px minmax(0,1fr) 108px;gap:0 16px;
  align-items:baseline;padding:13px 0}
.plain__d{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.plain__body{display:flex;flex-direction:column;gap:5px;min-width:0}
.plain__cat{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--accent-d)}
.plain__t{font-size:14.5px;font-weight:600;line-height:1.6;color:var(--ink);
  overflow-wrap:break-word}
.plain__link:hover .plain__t{color:var(--accent-d)}
.plain__r{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);text-align:right}

.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px 20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.pager__info{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}
.pager__list{display:flex;flex-wrap:wrap;gap:6px}
.pager__it{flex:0 0 auto}
.pager__link{display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;padding:8px 11px;background:var(--paper);border:1px solid var(--line);
  font-size:13px;color:var(--ink-2)}
.pager__link:hover{border-color:var(--accent-d);color:var(--accent-d)}
.pager__link.is-on{background:var(--deep);border-color:var(--deep);color:#fff}
.pager__link.is-disabled{color:#5a6472;background:var(--paper-2);cursor:not-allowed}

.srvband{background:var(--paper-2);border-top:1px solid var(--line)}
.srvband__box{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px;
  padding-top:26px;padding-bottom:26px}
.srvband__lead{flex:1 1 300px;min-width:0}
.srvband__kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;
  color:var(--accent-d);text-transform:uppercase}
.srvband__t{margin-top:6px;font-size:clamp(17px,1.8vw,21px);color:var(--ink);
  overflow-wrap:break-word}
.srvband__list{display:flex;flex-wrap:wrap;gap:8px 22px;flex:1 1 320px}
.srvband__it{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2)}
.srvband__it .i{color:var(--teal)}
.srvband__btn{flex:0 0 auto}

/* ==========================================================================
   17. 侧栏（栏体不吸顶、不内滚 —— 绝不用 sticky / max-height:calc(100vh) / overflow-y:auto）
   ========================================================================== */
.side-rail{display:flex;flex-direction:column;gap:22px}
.widget{background:var(--card);border:1px solid var(--line)}
.widget__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:6px 12px;padding:14px 16px;border-bottom:3px solid var(--brand)}
.widget__title{font-size:15.5px;color:var(--ink)}
.widget__more{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;
  color:var(--accent-d)}
.widget__more:hover{color:var(--deep)}
.widget__body{padding:12px 16px 16px}

/* 各 widget 的身份类（与 wShell 的 kls 一一对应） */
.wcatnav-w .widget__head{border-bottom-color:var(--accent)}
.whot-w .widget__head{border-bottom-color:var(--deep)}
.wlaw-w .widget__head{border-bottom-color:var(--teal)}
.wlawyer-w .widget__head{border-bottom-color:var(--accent)}
.wfaq-w .widget__head{border-bottom-color:var(--teal)}
.wtag-w .widget__head{border-bottom-color:var(--deep)}
.wsame-w .widget__head{border-bottom-color:var(--accent)}
.wnotice-w .widget__head{border-bottom-color:var(--line)}
.wcta-w{background:var(--deep);border-color:var(--deep);color:var(--on-deep)}
.wcta-w .widget__head{border-bottom-color:var(--accent)}
.wcta-w .widget__title{color:#fff}

.wcatnav{display:flex;flex-direction:column}
.wcatnav__i{border-bottom:1px solid var(--line-2)}
.wcatnav__i:last-child{border-bottom:0}
.wcatnav__link{display:flex;align-items:center;gap:9px;padding:9px 0;font-size:13.5px;
  color:var(--ink-2)}
.wcatnav__link .i{color:var(--accent-d)}
.wcatnav__link:hover{color:var(--accent-d)}
.wcatnav__t{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
.wcatnav__n{flex:0 0 auto;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}

.whot{display:flex;flex-direction:column}
.whot__i{border-bottom:1px solid var(--line-2)}
.whot__i:last-child{border-bottom:0}
.whot__link{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:0 10px;
  align-items:baseline;padding:9px 0}
.whot__no{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--ink-3)}
.whot__no.is-top{color:var(--accent-d)}
.whot__t{font-size:13.5px;line-height:1.55;color:var(--ink-2);overflow-wrap:break-word}
.whot__link:hover .whot__t{color:var(--accent-d)}
.whot__r{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}

.wlaw{display:flex;flex-direction:column}
.wlaw__i{border-bottom:1px solid var(--line-2)}
.wlaw__i:last-child{border-bottom:0}
.wlaw__link{display:flex;align-items:flex-start;gap:9px;padding:10px 0}
.wlaw__link .i{color:var(--teal);margin-top:1px}
.wlaw__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.wlaw__t{font-size:13.5px;font-weight:600;color:var(--ink-2);overflow-wrap:break-word}
.wlaw__d{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}
.wlaw__link:hover .wlaw__t{color:var(--accent-d)}

.wlawyer{display:flex;flex-direction:column}
.wl{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.wl:last-child{border-bottom:0}
.wl__av{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--paper-2);
  color:var(--accent-d);font-family:var(--f-serif);font-size:16px;font-weight:700}
.wl__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.wl__n{font-size:14px;font-weight:700;color:var(--ink)}
.wl__f{font-size:11.5px;color:var(--ink-3);overflow-wrap:break-word}
.wl__go{flex:0 0 auto;color:var(--ink-3)}

.wfaq{display:flex;flex-direction:column}
.wfaq__i{border-bottom:1px solid var(--line-2)}
.wfaq__i:last-child{border-bottom:0}
.wfaq__q{display:flex;align-items:flex-start;gap:8px;padding:9px 0;cursor:pointer;
  font-size:13.5px;font-weight:600;color:var(--ink-2);list-style:none;overflow-wrap:break-word}
.wfaq__q::-webkit-details-marker{display:none}
.wfaq__q::marker{content:""}
.wfaq__q::before{content:"?";flex:0 0 auto;font-family:var(--f-mono);font-size:12px;
  font-weight:700;color:var(--accent-d)}
.wfaq__a{padding:0 0 10px 20px;font-size:12.5px;color:var(--ink-3)}
.wfaq__a p{overflow-wrap:break-word}
.wfaq__i[open] .wfaq__q{color:var(--accent-d)}

.wtag{display:flex;flex-wrap:wrap;gap:7px}
.wtag__a{display:inline-flex;align-items:center;padding:5px 10px;background:var(--paper);
  border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.wtag__a:hover{border-color:var(--accent-d);color:var(--accent-d)}

.wsame{display:flex;flex-direction:column}
.wsame__i{border-bottom:1px solid var(--line-2)}
.wsame__link{display:flex;flex-direction:column;gap:4px;padding:10px 0}
.wsame__t{font-size:13.5px;font-weight:600;line-height:1.55;color:var(--ink-2);
  overflow-wrap:break-word}
.wsame__link:hover .wsame__t{color:var(--accent-d)}
.wsame__d{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}
.wsame__more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;
  border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--accent-d)}

.wcta__p{font-size:13px;color:var(--on-deep-2);overflow-wrap:break-word}
.wcta__p--sm{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12px}
.wcta__p--sm .i{color:var(--accent-l)}
.wcta__btn{width:100%;margin-top:14px}
.wnotice__p{font-size:12.5px;color:var(--ink-3);overflow-wrap:break-word}

/* ==========================================================================
   18. 文章页
   ========================================================================== */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start;
  padding-top:34px;padding-bottom:0}
.art-main{min-width:0}
.art-side{align-self:stretch;min-width:0}
.art-head{display:flex;flex-direction:column;gap:12px;padding-bottom:22px;
  border-bottom:1px solid var(--line)}
.art-head__cat{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  padding:4px 10px;background:var(--paper-2);font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.08em;color:var(--accent-d)}
.art-head__title{font-family:var(--f-serif);font-size:clamp(23px,2.9vw,35px);font-weight:700;
  color:var(--ink);overflow-wrap:break-word}
.art-head__sum{padding-left:16px;border-left:4px solid var(--accent);font-size:15px;
  line-height:1.8;color:var(--ink-2);overflow-wrap:break-word}
.art-head__meta{display:flex;flex-wrap:wrap;gap:7px 20px;margin-top:4px;
  font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.art-head__it{display:inline-flex;align-items:center;gap:6px;min-width:0}
.art-head__it .i{color:var(--ink-3)}

.art-body{padding-top:26px;font-size:16px;line-height:1.95;color:var(--ink-2);
  overflow-wrap:break-word}
.art-body p{margin-bottom:18px;overflow-wrap:break-word}
.art-body h2{position:relative;margin:38px 0 16px;padding-left:16px;font-size:21px;
  color:var(--ink)}
.art-body h2::before{content:"";position:absolute;left:0;top:.16em;bottom:.16em;width:5px;
  background:var(--accent)}
.art-body h3{margin:26px 0 12px;font-size:17.5px;color:var(--ink)}
.art-body ul{margin:0 0 18px;padding-left:2px}
.art-body li{position:relative;padding-left:20px;margin-bottom:9px;overflow-wrap:break-word}
.art-body li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;
  background:var(--accent-d)}
.art-body blockquote{margin:24px 0;padding:18px 22px;background:var(--paper-2);
  border-left:5px solid var(--deep);font-family:var(--f-serif);font-size:16.5px;
  color:var(--ink)}
.art-body blockquote p{margin:0}
.note{display:flex;align-items:flex-start;gap:9px;margin:20px 0;padding:13px 16px;
  background:var(--paper-2);border-left:3px solid var(--ink-3);font-size:14px;color:var(--ink-2)}
.note .i{color:var(--ink-3);margin-top:3px}
.tipbox{display:flex;align-items:flex-start;gap:11px;margin:22px 0;padding:15px 18px;
  background:var(--teal-bg);border-left:4px solid var(--teal);font-size:14px;color:var(--ink)}
.tipbox .i{color:var(--teal);margin-top:3px;flex:0 0 auto}
.tipbox p{overflow-wrap:break-word}
.doc-table{margin:22px 0;overflow-x:auto}
.doc-table__cap{caption-side:top;text-align:left;padding-bottom:9px;font-family:var(--f-mono);
  font-size:12px;color:var(--ink-3)}
.doc-table table{min-width:520px;font-size:13.5px;border:1px solid var(--line)}
.doc-table th,.doc-table td{padding:10px 12px;border:1px solid var(--line);text-align:left;
  vertical-align:top;overflow-wrap:break-word}
.doc-table thead th{background:var(--deep);color:#fff;font-weight:700;white-space:nowrap}
.doc-table tbody th{background:var(--paper-2);color:var(--ink);font-weight:700}
.doc-table tbody tr:nth-child(even) td{background:var(--paper-2)}
.fig{margin:24px 0}
.fig__img{width:100%;height:auto;border:1px solid var(--line)}
.fig__cap{margin-top:9px;font-size:12.5px;color:var(--ink-3);text-align:center}
.art-cover{margin-top:2px}
.art-cover__img{width:100%;height:auto;aspect-ratio:12/5;object-fit:cover;border:1px solid var(--line)}
.art-cover__cap{margin-top:9px;font-size:12.5px;color:var(--ink-3);text-align:center}

.art-tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:34px;
  padding-top:20px;border-top:1px solid var(--line)}
.art-tags__k{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;
  color:var(--ink-2)}
.art-tags__k .i{color:var(--accent-d)}
.art-tags__list{display:flex;flex-wrap:wrap;gap:8px}
.art-tags__it{flex:0 0 auto}
.art-tags__link{display:inline-flex;padding:6px 12px;background:var(--paper-2);
  font-size:12.5px;color:var(--ink-2)}
.art-tags__link:hover{background:var(--deep);color:#fff}

.prevnext{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  margin-top:26px;border:1px solid var(--line)}
.prevnext__it{display:flex;flex-direction:column;gap:6px;background:var(--card);
  padding:16px 18px;min-width:0}
.prevnext__it--next{text-align:right;align-items:flex-end}
.prevnext__dir{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--accent-d)}
.prevnext__t{font-size:14px;font-weight:700;line-height:1.6;color:var(--ink);
  overflow-wrap:break-word}
.prevnext__it:hover .prevnext__t{color:var(--accent-d)}

.art-more{display:flex;flex-direction:column;gap:44px;padding-top:44px;padding-bottom:60px}
.toc{background:var(--card);border:1px solid var(--line)}
.toc__h{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:3px solid var(--accent);
  font-size:14.5px;font-weight:800;color:var(--ink)}
.toc__h .i{color:var(--accent-d)}
.toc__list{display:flex;flex-direction:column;padding:8px 16px 14px}
.toc__i{border-bottom:1px solid var(--line-2)}
.toc__i:last-child{border-bottom:0}
.toc__link{display:block;padding:8px 0 8px 12px;border-left:3px solid transparent;
  font-size:13px;line-height:1.55;color:var(--ink-2);overflow-wrap:break-word}
.toc__link:hover{color:var(--accent-d)}
.toc__link.is-on{border-left-color:var(--accent);color:var(--accent-d);font-weight:700;
  background:var(--paper-2)}

/* ==========================================================================
   19. 入场动画：渐进增强（默认可见，仅 html.js-reveal 时隐藏）
   ========================================================================== */
.reveal{opacity:1;transform:none}
html.js-reveal .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .5s ease,transform .5s ease}
html.js-reveal .reveal.is-in{opacity:1;transform:none}
/* 侧栏栏体豁免位移入场（栏体一旦位移会让栏内元素整体跳动） */
html.js-reveal .side-rail{opacity:1;transform:none}
@media print{html.js-reveal .reveal{opacity:1!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){
  html.js-reveal .reveal{opacity:1!important;transform:none!important;transition:none}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ==========================================================================
   20. 响应式
   ========================================================================== */
@media (min-width:900px){:root{--pad:32px}}

@media (max-width:1299px){
  .brand__slogan{display:none}
}
@media (max-width:1099px){
  /* 抽屉态：order 必须让「汉堡 < 导航」，否则 flex:1 0 100% 的导航会占掉整行把按钮顶到第三行 */
  .brand{order:1}
  .nav-toggle{order:2}
  .header-side{order:3;gap:12px}
  .nav{order:4}
  .header-main{gap:10px 18px}
  body{padding-bottom:62px}
  /* 移动底栏的断点必须与抽屉断点一致（否则 900–1099 会出现「桌面导航 + 移动底栏」并存） */
  .mobile-bar{display:grid}

  .hero__inner{padding-top:46px;padding-bottom:34px}
  .hero__card{flex:1 1 100%}
  .hero__stats{grid-template-columns:repeat(2,1fr)}
  .feat-grid{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr}
  .tri{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr;gap:28px}
  .consult__inner{grid-template-columns:1fr;gap:30px}
  .faq{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px}
  .news-layout,.art-layout{grid-template-columns:1fr;gap:32px}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow--art{grid-template-columns:repeat(2,1fr)}
  .row-grid{grid-template-columns:repeat(2,1fr)}
  .leadrow{grid-template-columns:1fr}
  .leadrow__media img{min-height:200px;aspect-ratio:16/9}
  .sec{padding-top:48px;padding-bottom:48px}
  .doc-table table{min-width:0;border:0}
  .doc-table thead{display:none}
  .doc-table table,.doc-table tbody,.doc-table tr,.doc-table th,.doc-table td{display:block;
    width:auto;border:0}
  .doc-table tr{border:1px solid var(--line);margin-bottom:12px}
  .doc-table tbody th{display:block;background:var(--deep);color:#fff;padding:9px 12px}
  .doc-table td{position:relative;padding:9px 12px 9px 40%;min-height:2.6em}
  .doc-table td::before{content:attr(data-label);position:absolute;left:12px;top:9px;
    width:36%;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}
  .doc-table tbody tr:nth-child(even) td{background:var(--paper-2)}
}
@media (max-width:899px){
  /* 信息条收窄：地址在页脚仍可查，优先保住热线与营业时间 */
  .topbar__it--addr{display:none}
  .hero__stats{grid-template-columns:repeat(2,1fr)}
  .tri{grid-template-columns:1fr}
  .flow,.flow--art{grid-template-columns:1fr}
  .row-grid{grid-template-columns:1fr}
  .plain__link{grid-template-columns:88px minmax(0,1fr)}
  .plain__r{display:none}
  .srvband__box{flex-direction:column;align-items:flex-start}
  .consult__inner{gap:24px}
}
@media (max-width:640px){
  .topbar__it--hours{display:none}
  body{font-size:15px}
  .sec{padding-top:38px;padding-bottom:38px}
  .sec-head{gap:8px 14px}
  /* 区块头：编号与「更多」同行，正文说明另起一行（避免三级堆叠白占两行） */
  .sec-head__no{order:1;width:40px;height:40px;font-size:15px}
  .sec-head__more{order:2;margin-left:auto}
  .sec-head__body{order:3;flex:1 1 100%}
  .wrap{padding-left:18px;padding-right:18px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:24px}
  .form-grid{grid-template-columns:1fr}
  .tcard__media{flex:0 0 108px}
  .tcard__media img{width:108px;height:72px}
  .prevnext{grid-template-columns:1fr}
  .prevnext__it--next{align-items:flex-start;text-align:left}
  .page-banner__stats{width:100%}
  .page-banner__stat{flex:1 1 auto}
  .art-body{font-size:15.5px;line-height:1.9}
  .art-body h2{font-size:19px}
  .ledger{padding-left:16px;padding-right:16px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .header-tel{display:none}
  .header-cta{padding:10px 14px;font-size:13.5px}
  .hero__title{font-size:clamp(23px,7vw,30px)}
}
@media (max-width:479px){
  .cat-grid{grid-template-columns:1fr}
  .hero__acts{flex-direction:column;align-items:stretch}
  .hero__acts .btn{width:100%}
}
@media (max-width:399px){
  /* 页头首行容纳量实测：brand + 汉堡 + 侧块 在 320 会挤到第二行 → 隐藏侧块
     （联系入口在上方顶栏与下方固定底栏都还在，不丢信息） */
  .header-side{display:none}
}
