@charset "UTF-8";
/* ==========================================================================
   law39 · 律典网   全站样式表（唯一手写的核心资产）
   版式语言：绛红 + 香槟金 + 米宣纸，标题走衬线（Georgia/宋），正文走系统无衬线；
             1px 细线网格 + 直角 + 索引编号，整体是「卷宗 / 索引册」的语汇。
   历史坑点已内化为书写规则（与 build/check.js 的断言一一对应）：
     · img 与 svg 复位分两段写，绝不混写；.i 必须成对声明 width/height；
     · .sprite 绝对定位 + 零尺寸；
     · 与 .wrap 同元素的容器只写 padding-top / padding-bottom，绝不用 padding 简写；
     · 每个 display:grid 都必须显式声明 grid-template-columns；
     · 深色区必须显式声明 color；装饰色不当文字色（浅底小字用 --accent-d / --brand-d）；
     · grid 容器里的 ::before/::after 一律绝对定位（否则会占掉第一格）；
     · 全站只有站头 position:sticky，侧栏不吸顶、不内滚。
   ========================================================================== */

:root{
  /* 主色：绛红 */
  --brand:#8E2D3F;
  --brand-d:#6E1F2F;
  --brand-l:#F6E8EA;
  /* 强调色：香槟金（浅底文字用 -d） */
  --accent:#C9A227;
  --accent-d:#7A5F0F;
  --accent-l:#F6EFD8;
  /* 中性：近黑带微红 / 米宣纸 */
  --ink:#1F1B1E;
  --ink-2:#4A4348;
  --ink-3:#6E656B;
  --paper:#F7F4EF;
  --paper-2:#EFE9E1;
  --card:#ffffff;
  --line:#E2DACF;
  --line-2:#CFC4B6;
  /* 深色区：墨紫黑 */
  --deep:#2A1E22;
  --deep-2:#3A262C;
  --on-deep:#EFE3DC;
  --on-deep-2:#C7B6BA;
  /* 语义色 */
  --jade:#1F6F5C;
  --jade-bg:#E8F3EE;
  /* 版心 */
  --wrap:1200px;
  --pad:clamp(16px,4vw,30px);
  --radius:2px;
  --shadow:0 1px 0 rgba(31,27,30,.04),0 10px 26px -18px rgba(31,27,30,.28);
  --font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --font-serif:Georgia,"Songti SC","SimSun","Noto Serif CJK SC",serif;
}

/* ---------- 1. 复位 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.75 var(--font-sans);
  overflow-x:hidden;overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
}
/* ★ img 与 svg 复位必须分开写（混写会让图标继承 img 的 height:auto） */
img,video{max-width:100%;height:auto;display:block;border:0}
svg{display:inline-block;vertical-align:-.125em;flex:0 0 auto}
.i{width:17px;height:17px;max-width:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.i--lg{width:22px;height:22px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
[hidden]{display:none!important}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--font-serif);font-weight:700;line-height:1.3;overflow-wrap:break-word}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.15em}
li{overflow-wrap:break-word}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}

.wrap{
  width:100%;max-width:var(--wrap);
  margin-left:auto;margin-right:auto;
  padding-left:var(--pad);padding-right:var(--pad);
}
.skip{
  position:absolute;left:0;top:0;z-index:99;
  padding:10px 16px;background:var(--brand);color:#fff;
  clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;
}
.skip:focus{clip:auto;width:auto;height:auto}

/* ---------- 2. 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border:1px solid transparent;background:transparent;
  font-family:var(--font-sans);font-size:15px;line-height:1.2;
  border-radius:var(--radius);cursor:pointer;overflow-wrap:break-word;
  transition:background-color .2s,color .2s,border-color .2s;
}
/* ★ 标签色只能靠继承，禁止 .btn span{color:…} 这类通配（会刷掉深底按钮的白字） */
.btn > .btn__t{color:inherit}
.btn > .i{width:16px;height:16px}
.btn--solid{background:var(--brand);color:#fff}
.btn--solid:hover{background:var(--brand-d)}
.btn--ghost{border-color:var(--line-2);color:var(--ink);background:var(--card)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand-d)}
.btn--gold{background:var(--accent-d);color:#fff}
.btn--gold:hover{background:#654E0C}
.btn--lg{padding:13px 22px;font-size:16px}
.btn--sm{padding:8px 14px;font-size:14px}
.btn--blk{display:flex;width:100%;justify-content:center}
.more{
  display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  font-size:14px;color:var(--brand-d);
  padding-bottom:4px;border-bottom:1px solid var(--brand);
}
.more:hover{color:var(--ink)}
.more__t{white-space:nowrap}

/* ---------- 3. 顶栏 / 站头 ---------- */
.topbar{background:var(--brand-d);color:#F3E3E6;font-size:13px}
.topbar__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:6px 18px;padding-top:8px;padding-bottom:8px;
}
.topbar__note{display:flex;align-items:center;gap:8px;margin:0;overflow-wrap:break-word}
.topbar__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
.topbar__it{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}

.site-header{
  position:sticky;top:0;z-index:40;
  background:var(--card);border-bottom:1px solid var(--line);
}
.header-main{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:14px 26px;padding-top:13px;padding-bottom:13px;
}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand__mark{width:42px;height:42px;flex:0 0 auto}
.brand__name{display:block;font-family:var(--font-serif);font-size:21px;letter-spacing:.06em;line-height:1.2}
.brand__en{display:block;font-style:normal;font-size:10.5px;letter-spacing:.22em;color:var(--ink-3);white-space:nowrap}
.nav{margin-left:auto}
.nav__list{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.nav__list > li{flex:0 0 auto}
.nav__link{
  display:inline-flex;align-items:baseline;gap:6px;
  white-space:nowrap;font-size:15px;color:var(--ink-2);
  padding:9px 11px;border-bottom:2px solid transparent;
  transition:border-color .2s,color .2s;
}
.nav__link:hover{color:var(--brand-d);border-bottom-color:var(--accent)}
.nav__link.is-on{color:var(--brand-d);font-weight:700;border-bottom-color:var(--brand)}
.nav__no{font-style:normal;font-size:10.5px;letter-spacing:.06em;color:var(--accent-d);font-family:var(--font-sans)}
.header-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.header-cta{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--brand);color:#fff;font-size:14.5px;
  padding:10px 16px;border-radius:var(--radius);
}
.header-cta:hover{background:var(--brand-d)}
.header-cta__t{white-space:nowrap}
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:42px;padding:0 11px;
  border:1px solid var(--line-2);background:var(--card);cursor:pointer;
}
.nav-toggle__bar{display:block;height:2px;background:var(--ink);border-radius:2px}

/* ---------- 4. 首页 hero（左文右「今日要目」+ 通栏关键词带） ---------- */
.hero{background:var(--paper);border-bottom:1px solid var(--line)}
.hero__inner{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,48px);
  padding-top:clamp(34px,4.8vw,64px);padding-bottom:clamp(26px,3.4vw,42px);
}
.hero__copy{border-left:4px solid var(--brand);padding-left:clamp(16px,2.2vw,28px);min-width:0}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0;
  font-size:12.5px;letter-spacing:.1em;color:var(--brand-d);
}
.hero__eyebrow .i{color:var(--accent-d)}
.hero__title{
  margin:14px 0 0;font-size:clamp(29px,4.2vw,52px);
  line-height:1.22;letter-spacing:-.01em;overflow-wrap:break-word;
}
.hero__title em{display:block;font-style:normal;color:var(--brand)}
.hero__sub{margin:16px 0 0;max-width:38em;color:var(--ink-2);font-size:15.5px}
.hero__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;margin:26px 0 0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.hero__stat{background:var(--card);padding:13px 12px}
.hero__n{display:block;font-family:var(--font-serif);font-size:19px;color:var(--brand-d);line-height:1.3}
.hero__sl{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}

.ledger{background:var(--deep);color:var(--on-deep);padding:18px 18px 14px;min-width:0}
.ledger__hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 12px;padding-bottom:11px;
  border-bottom:1px solid rgba(239,227,220,.22);
}
.ledger__lb{font-family:var(--font-serif);font-size:17px;letter-spacing:.04em}
.ledger__date{font-style:normal;font-size:12px;color:var(--accent)}
.ledger__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.ledger__it{border-bottom:1px solid rgba(239,227,220,.14)}
.ledger__it:last-child{border-bottom:0}
.ledger__link{
  display:flex;gap:12px;
  padding:11px 0 11px 12px;border-left:2px solid rgba(201,162,39,.55);
  transition:border-color .2s,background-color .2s;
}
.ledger__link:hover{border-left-color:var(--accent);background:rgba(255,255,255,.04)}
.ledger__no{flex:0 0 auto;width:24px;font-family:var(--font-serif);font-size:18px;color:var(--accent);line-height:1.5}
.ledger__body{display:block;min-width:0}
.ledger__t{display:block;font-size:14.5px;line-height:1.55;overflow-wrap:break-word}
.ledger__meta{display:block;margin-top:4px;font-size:12px;color:var(--on-deep-2)}
.ledger__tag{font-style:normal;color:var(--accent);margin-right:9px}
.ledger__more{
  display:inline-flex;align-items:center;gap:7px;margin-top:13px;
  font-size:13px;color:var(--accent);border-bottom:1px solid rgba(201,162,39,.5);
}
.ledger__more:hover{color:var(--on-deep)}

.hero__belt{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;
  padding-top:16px;padding-bottom:24px;border-top:1px solid var(--line);
}
.kwbelt__lb{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:700;color:var(--brand-d);white-space:nowrap}
.kwbelt__lb .i{color:var(--accent-d)}
.kwbelt{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.kwbelt__link{
  display:inline-block;padding:5px 12px;font-size:13.5px;color:var(--ink-2);
  background:var(--card);border:1px solid var(--line-2);border-radius:999px;
  overflow-wrap:break-word;
}
.kwbelt__link:hover{border-color:var(--brand);color:var(--brand-d)}

/* ---------- 5. 区块与区块头 ---------- */
.sec{padding-top:clamp(42px,5.2vw,74px);padding-bottom:clamp(42px,5.2vw,74px)}
.sec-head{margin-bottom:clamp(20px,2.6vw,32px);max-width:52em}
.sec-head__eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;
  padding:4px 13px 4px 6px;font-size:12.5px;letter-spacing:.07em;
  color:var(--brand-d);background:var(--card);
  border:1px solid var(--line-2);border-radius:999px;
}
.sec-head__eyebrow .i{color:var(--accent-d)}
.sec-head__no{
  font-style:normal;font-family:var(--font-serif);font-size:11.5px;letter-spacing:.04em;
  background:var(--brand);color:#fff;padding:1px 8px;border-radius:999px;
}
.sec-head__title{font-size:clamp(22px,2.7vw,33px);margin:0;overflow-wrap:break-word}
.sec-head__sub{margin:10px 0 0;color:var(--ink-2);font-size:15px}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.sec-head--deep .sec-head__title{color:#fff}
.sec-head--deep .sec-head__sub{color:var(--on-deep-2)}
.sec-head--deep .sec-head__eyebrow{background:rgba(255,255,255,.08);border-color:rgba(239,227,220,.28);color:var(--on-deep)}
.sec-head--deep .sec-head__eyebrow .i{color:var(--accent)}
.sec-head--deep .sec-head__no{background:var(--accent-d);color:#fff}

/* 通用正文元信息行 */
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ink-3)}
.meta__it{display:inline-flex;align-items:center;gap:6px}

/* ---------- 6. 内页 banner + 面包屑 ---------- */
.page-banner{position:relative;background:var(--deep);color:var(--on-deep);overflow:hidden}
.page-banner__wm{
  position:absolute;right:clamp(8px,2.6vw,36px);bottom:-.16em;margin:0;
  font-family:var(--font-serif);font-size:clamp(66px,12vw,172px);line-height:1;
  letter-spacing:.02em;color:rgba(239,227,220,.085);user-select:none;
}
.page-banner__inner{position:relative;padding-top:clamp(28px,3.8vw,50px);padding-bottom:clamp(24px,3.2vw,40px)}
.page-banner__eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;
  font-size:13px;letter-spacing:.09em;color:var(--accent);
}
.page-banner__title{margin:0;font-size:clamp(24px,3.2vw,38px);color:#fff;overflow-wrap:break-word}
.page-banner__sub{margin:13px 0 0;max-width:46em;color:var(--on-deep-2);font-size:15px}
.page-banner__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;margin:22px 0 0;padding:0;list-style:none;
  background:rgba(239,227,220,.2);border:1px solid rgba(239,227,220,.2);
}
.page-banner__stat{background:var(--deep);padding:12px 14px}
.page-banner__n{display:block;font-family:var(--font-serif);font-size:20px;color:var(--accent);line-height:1.3}
.page-banner__sl{display:block;font-size:12.5px;color:var(--on-deep-2);margin-top:2px}

.crumb{background:var(--paper-2);border-bottom:1px solid var(--line);font-size:13.5px}
.crumb__list{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding-top:11px;padding-bottom:11px;color:var(--ink-3);
}
.crumb__home{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);overflow-wrap:break-word}
.crumb__home:hover{color:var(--brand-d)}
.crumb__sep{color:var(--line-2)}
.crumb__it{overflow-wrap:break-word}
.crumb__it a{color:var(--brand-d);border-bottom:1px solid transparent}
.crumb__it a:hover{border-bottom-color:var(--brand)}

/* ---------- 7. 分类索引（1px 细线网格） ---------- */
.cat-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.cat-card{
  position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:13px;padding:20px 18px 19px 20px;background:var(--card);
  transition:background-color .2s;
}
.cat-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--brand);transform:scaleY(0);transform-origin:top;
  transition:transform .26s;
}
.cat-card:hover{background:var(--brand-l)}
.cat-card:hover::before{transform:scaleY(1)}
.cat-card__ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--paper-2);color:var(--brand-d);border-radius:var(--radius)}
.cat-card:hover .cat-card__ic{background:var(--brand);color:#fff}
.cat-card__body{display:block;min-width:0}
.cat-card__row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cat-card__t{font-family:var(--font-serif);font-size:17px;letter-spacing:.02em}
.cat-card__n{font-style:normal;font-size:12px;color:var(--ink-3);white-space:nowrap}
.cat-card__d{display:block;margin-top:7px;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.cat-card__subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cat-card__sub{font-style:normal;font-size:12px;color:var(--brand-d);background:var(--brand-l);padding:2px 8px;border-radius:999px}
.cat-card__no{
  position:absolute;right:12px;top:8px;
  font-family:var(--font-serif);font-size:26px;line-height:1;
  color:var(--paper-2);user-select:none;
}

/* ---------- 8. 带缩略图精选（1 大 + 3 小） ---------- */
.feat-grid{
  display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);
  gap:clamp(18px,2.4vw,30px);align-items:start;
}
.feat-lead{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.feat-lead__media{position:relative;display:block;overflow:hidden}
.feat-lead__media img{width:100%;aspect-ratio:8/5;object-fit:cover}
.feat-lead__badge{
  position:absolute;left:0;bottom:0;display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;background:var(--deep);color:var(--accent);font-style:normal;font-size:12.5px;
}
.feat-lead__body{padding:clamp(15px,1.9vw,23px)}
.feat-lead__cat{margin:0}
.feat-lead__cat a{font-size:12.5px;font-weight:700;letter-spacing:.05em;color:var(--brand-d)}
.feat-lead__title{margin:8px 0 10px;font-size:clamp(18px,2vw,25px);overflow-wrap:break-word}
.feat-lead__title a:hover,.feat-item__title a:hover{color:var(--brand-d)}
.feat-lead__ex{margin:0 0 13px;font-size:14.5px;color:var(--ink-2);overflow-wrap:break-word}
.feat-side{
  display:flex;flex-direction:column;gap:1px;
  margin:0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.feat-item{
  display:grid;grid-template-columns:150px minmax(0,1fr);
  gap:14px;padding:13px;background:var(--card);
}
.feat-item__media{display:block;overflow:hidden}
.feat-item__media img{width:100%;height:100%;min-height:92px;aspect-ratio:8/5;object-fit:cover}
.feat-item__body{display:block;min-width:0}
.feat-item__cat{margin:0}
.feat-item__cat a{font-size:12px;font-weight:700;color:var(--brand-d)}
.feat-item__title{margin:5px 0 6px;font-size:15.5px;line-height:1.5;overflow-wrap:break-word}
.feat-item__ex{margin:0 0 8px;font-size:13px;color:var(--ink-2);overflow-wrap:break-word}

/* ---------- 9. 无缩略图列表：双列「问答卡」/ 三列「目录格」 ----------
   类名契约（build/common.js · plainList）：<kls>__link / __no / __body / __t / __meta / __cat / __d / __r
   序号 __no 是 __link 的第一个子元素：双列靠它做左槽，三列靠它做顶行。
   改本节必须与 plainList 同步；check.js 有「生成类名 ↔ CSS 选择器」全量覆盖断言兜底。 */
.duo,.tri{margin:0;padding:0;list-style:none}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px clamp(16px,2.2vw,28px)}
.duo__it,.tri__it{display:flex;min-width:0}

/* 双列 = 白卡 + 左侧绛红竖条 + 左槽衬线序号 */
.duo__it__link{
  flex:1 1 auto;display:flex;align-items:flex-start;gap:13px;
  padding:15px 17px 16px;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.duo__it__link:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.duo__it__no{
  flex:0 0 auto;min-width:26px;
  font-family:var(--font-serif);font-size:19px;line-height:1.35;
  color:var(--brand);opacity:.45;user-select:none;transition:opacity .18s ease;
}
.duo__it__link:hover .duo__it__no{opacity:1}
.duo__it__body{flex:1 1 auto;min-width:0}
.duo__it__t{
  display:block;font-family:var(--font-serif);font-size:16.5px;line-height:1.55;
  overflow-wrap:break-word;transition:color .18s ease;
}
.duo__it__link:hover .duo__it__t{color:var(--brand-d)}
.duo__it__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:9px;font-size:12.5px;color:var(--ink-3)}
.duo__it__cat{
  flex:0 0 auto;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  color:var(--brand-d);background:var(--brand-l);padding:2px 8px;border-radius:999px;
}
.duo__it__d{font-style:normal}
.duo__it__r{display:inline-flex;align-items:center;gap:5px;font-style:normal}

/* 三列 = 香槟金顶线的目录格，序号在上作栏目编号 */
.tri__it__link{
  flex:1 1 auto;display:flex;flex-direction:column;
  padding-top:13px;border-top:2px solid var(--accent);
}
.tri__it__no{
  font-family:var(--font-serif);font-size:12.5px;line-height:1;
  letter-spacing:.14em;color:var(--accent-d);user-select:none;
}
.tri__it__body{display:block;min-width:0;margin-top:11px}
.tri__it__t{
  display:block;font-family:var(--font-serif);font-size:15.5px;line-height:1.55;
  overflow-wrap:break-word;transition:color .18s ease;
}
.tri__it__link:hover .tri__it__t{color:var(--brand-d)}
.tri__it__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:9px;font-size:12px;color:var(--ink-3)}
.tri__it__cat{font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--ink-2)}
.tri__it__d{font-style:normal}
.tri__it__r{display:inline-flex;align-items:center;gap:5px;font-style:normal}

/* 文章页变体 · 相关文章：去卡片底，改香槟金竖线；同栏目故隐去分类胶囊 */
.duo-wrap--rel .duo__it__link{
  background:transparent;border:0;border-left:2px solid var(--accent);
  padding:3px 0 3px 15px;
}
.duo-wrap--rel .duo__it__link:hover{border-left-color:var(--brand);box-shadow:none}
.duo-wrap--rel .duo__it__no{font-size:16px;line-height:1.5;color:var(--accent-d);opacity:1;min-width:22px}
.duo-wrap--rel .duo__it__cat{display:none}
.duo-wrap--rel .duo__it__t{font-size:16px;padding-bottom:2px;border-bottom:1px solid transparent}
.duo-wrap--rel .duo__it__link:hover .duo__it__t{color:var(--brand-d);border-bottom-color:var(--line-2)}

/* 文章页变体 · 最新文章：米色卡 + 绛红顶线，日期加粗作视觉锚点 */
.tri-wrap--new .tri__it__link{
  padding:13px 15px 15px;background:var(--paper-2);
  border:1px solid var(--line);border-top:2px solid var(--brand);
}
.tri-wrap--new .tri__it__link:hover{border-color:var(--line-2);border-top-color:var(--brand-d)}
.tri-wrap--new .tri__it__no{color:var(--brand);opacity:.55}
.tri-wrap--new .tri__it__body{margin-top:0}
.tri-wrap--new .tri__it__d{font-family:var(--font-serif);font-weight:700;color:var(--brand-d)}

/* ---------- 10. 深色区：关于本站 ---------- */
.sec--deep{background:var(--deep);color:var(--on-deep)}
.about{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,52px);align-items:center;
}
.about__copy{min-width:0}
.about__p{color:var(--on-deep-2);font-size:15px;max-width:34em}
.facts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;margin:0;padding:0;list-style:none;
  background:rgba(239,227,220,.2);border:1px solid rgba(239,227,220,.2);
}
.facts__it{background:var(--deep-2);color:var(--on-deep);padding:17px 16px}
.facts__n{display:block;font-family:var(--font-serif);font-size:24px;color:var(--accent);line-height:1.3}
.facts__t{display:block;margin-top:3px;font-size:12.5px;color:var(--on-deep-2)}

/* ---------- 11. 服务流程 ---------- */
.method{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
  margin:0;padding:0;list-style:none;
}
.method__it{position:relative;background:var(--card);padding:26px 20px 24px}
.method__no{
  position:absolute;right:14px;top:8px;
  font-family:var(--font-serif);font-size:40px;line-height:1;
  color:var(--paper-2);user-select:none;
}
.method__ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--brand-l);color:var(--brand-d)}
.method__t{margin:14px 0 8px;font-size:17px}
.method__d{margin:0;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}

/* ---------- 12. 咨询表单 ---------- */
.sec--consult{background:var(--deep-2);color:var(--on-deep)}
.consult{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(24px,3.2vw,50px);align-items:start;
}
.consult__copy{min-width:0}
.consult__points{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;padding:0;list-style:none}
.consult__pt{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;color:var(--on-deep-2)}
.consult__pt .i{color:var(--accent);margin-top:5px;flex:0 0 auto}
.consult__ptt{overflow-wrap:break-word}
.consult__tel{display:flex;align-items:center;gap:9px;margin:0;font-size:14.5px;color:var(--on-deep)}
.consult__tel .i{color:var(--accent)}

/* ★ 深色区里的浅色卡片必须显式声明文字色，否则继承成「白底白字」 */
.form-card{
  background:var(--card);color:var(--ink);
  border:1px solid var(--line);border-top:3px solid var(--brand);
  padding:clamp(17px,2.3vw,27px);
}
.form-card__title{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:19px;color:var(--ink)}
.form-card__title .i{color:var(--brand)}
.form-card__t{overflow-wrap:break-word}
.form-card__note{margin:0 0 18px;font-size:13px;color:var(--ink-3)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.field{margin:0 0 14px}
.field--full{grid-column:1/-1}
.field__lb{display:block;margin-bottom:6px;font-size:13.5px;font-weight:700}
.req{font-style:normal;color:var(--brand-d)}
.field__in{
  width:100%;padding:11px 12px;font-family:var(--font-sans);font-size:15px;
  color:var(--ink);background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--radius);
  overflow-wrap:break-word;
}
.field__in:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.field__in--ta{resize:vertical;min-height:118px;line-height:1.7}
.field__err{display:none;margin:6px 0 0;font-size:12.5px;color:var(--brand-d)}
.field__hint{margin:7px 0 0;font-size:12.5px;color:var(--ink-3)}
.field__hint em{font-style:normal;color:var(--brand-d);font-weight:700}
.field.is-invalid .field__in{border-color:var(--brand);background:#FCF1F3}
.field.is-invalid .field__err{display:block}
.field--agree{margin-bottom:16px}
.agree{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-2)}
.agree__in{flex:0 0 auto;width:17px;height:17px;margin-top:3px;accent-color:var(--brand)}
.agree__t{overflow-wrap:break-word}
.agree__t a{color:var(--brand-d);border-bottom:1px solid var(--brand)}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.form-foot__tip{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--ink-3)}
.form-alert{display:none;margin:14px 0 0;padding:11px 14px;font-size:14px;border-radius:var(--radius)}
.form-alert.is-on{display:block}
.form-alert.is-ok{background:var(--jade-bg);color:#155E4C;border-left:3px solid var(--jade)}
.form-alert.is-err{background:#FCF1F3;color:var(--brand-d);border-left:3px solid var(--brand)}

/* ---------- 13. 常见问答 ---------- */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.faq__it{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.faq__it[open]{border-color:var(--brand)}
.faq__q{display:flex;align-items:flex-start;gap:10px;padding:15px 17px;font-size:15px;line-height:1.6;list-style:none}
.faq__no{flex:0 0 auto;font-family:var(--font-serif);font-size:14px;color:var(--brand-d)}
.faq__qt{flex:1 1 auto;overflow-wrap:break-word}
.faq__mk{margin-left:auto;color:var(--ink-3);transition:transform .22s}
.faq__it[open] .faq__mk{transform:rotate(180deg)}
.faq__a{padding:0 17px 17px}
.faq__a p{margin:0;font-size:14.5px;color:var(--ink-2);overflow-wrap:break-word}

/* ---------- 14. 友情链接（无分类 · 细线目录格） ----------
   12 条链接一条扁平清单，不分组、无小标题；靠 1px 细线格摊开，序号走衬线体作「索引」语汇。
   用 flex + min-width 控制列数（1440 下 4 列 3 行），末行条目 flex 增长自动铺满 —— 
   不用 grid 的 gap 灰底技巧，是因为末行不满时会露出一整条背景色缺口。 */
.linkwall{
  display:flex;flex-wrap:wrap;gap:1px;
  margin:0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.linkwall__it{display:flex;flex:1 1 auto;min-width:240px}
.linkwall__link{
  position:relative;flex:1 1 auto;display:flex;align-items:center;gap:11px;min-width:0;
  padding:16px 18px;background:var(--card);
  transition:background-color .18s ease;
}
.linkwall__link::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--brand);transform:scaleY(0);transform-origin:top;
  transition:transform .24s ease;
}
.linkwall__link:hover{background:var(--brand-l)}
.linkwall__link:hover::before{transform:scaleY(1)}
.linkwall__no{
  flex:0 0 auto;font-family:var(--font-serif);font-size:12.5px;letter-spacing:.06em;
  color:var(--accent-d);user-select:none;
}
.linkwall__t{min-width:0;font-size:14.5px;overflow-wrap:break-word}
.linkwall__link:hover .linkwall__t{color:var(--brand-d)}

/* ---------- 15. 页脚 ---------- */
.site-footer{background:var(--deep);color:var(--on-deep)}
.footer-main{
  display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(20px,3vw,40px);
  padding-top:clamp(34px,4.4vw,56px);padding-bottom:clamp(26px,3.2vw,40px);
}
.brand--foot .brand__name{color:#fff}
.brand--foot .brand__en{color:var(--on-deep-2)}
.footer-brand__desc{margin:15px 0 0;max-width:30em;font-size:13.5px;color:var(--on-deep-2);overflow-wrap:break-word}
.footer-brand__ct{display:flex;flex-direction:column;gap:9px;margin:16px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--on-deep-2)}
.footer-brand__ct li{display:flex;align-items:flex-start;gap:9px;overflow-wrap:break-word}
.footer-brand__ct .i{color:var(--accent);margin-top:4px;flex:0 0 auto}
.footer-col__t{margin:0 0 12px;font-size:15px;color:#fff}
.footer-col__list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}
.footer-col__link{font-size:13.5px;color:var(--on-deep-2);overflow-wrap:break-word}
.footer-col__link:hover{color:var(--accent)}
.footer-col__it.is-lead .footer-col__link{color:var(--on-deep)}
.footer-bottom{border-top:1px solid rgba(239,227,220,.18)}
.footer-bottom__inner{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  padding-top:15px;padding-bottom:15px;font-size:12.5px;color:var(--on-deep-2);
}
.footer-bottom__cp{margin:0}
.footer-bottom__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0}
.footer-bottom__it{overflow-wrap:break-word}
.to-top{
  display:inline-flex;align-items:center;gap:7px;margin-left:auto;
  padding:8px 12px;color:var(--on-deep-2);
  border:1px solid rgba(239,227,220,.3);
  opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;
}
.to-top.is-show,.to-top:focus{opacity:1;visibility:visible}
.to-top:hover{color:var(--accent);border-color:var(--accent)}
.to-top__t{white-space:nowrap}

/* ---------- 16. 移动底栏 ---------- */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  grid-template-columns:repeat(3,minmax(0,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);
  border-right:1px solid var(--line);
}
.mobile-bar__it:last-child{border-right:0}
.mobile-bar__it--cta{background:var(--brand-d);color:#fff}
.mobile-bar__t{white-space:nowrap}

/* ---------- 17. 列表页（栏目轨道 + 焦点区 + 宽行台账） ----------
   改版（law40）版式：通栏「栏目轨道」筛选 → 两栏（主栏 = 焦点头条 + 3 条编号导读 + 8 条
   宽行台账 + 分页 ／ 右栏 = 3 枚 widget）→ 通栏服务带。
   类名契约（改本节必须与 build/common.js 的三个零件同步，check.js 有全量覆盖断言兜底）：
     .catrail > .catrail__it > button.chip（__no / __t / __n）
     .focus > .focus-lead（__media / __badge / __body / __cat / __title / __ex）+ .focus-list > .focus-it
     .news-block > .block-head + .entrylist > .entry（__link / __no / __body / __t / __ex / __meta / __cat / __d / __r） */
.news-page{display:block}
.news-catrail{padding-top:clamp(20px,2.6vw,34px)}

/* 栏目轨道：1px 细线格把 9 个栏目连成一条带子；末行 flex 增长铺满，不留缺口 */
.catrail{
  display:flex;flex-wrap:wrap;gap:1px;
  margin:0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.catrail__it{display:flex;flex:1 1 auto;min-width:150px}
.chip{
  flex:1 1 auto;display:flex;align-items:center;gap:9px;min-width:0;
  padding:13px 15px;font-size:13.5px;color:var(--ink-2);
  background:var(--card);border:0;cursor:pointer;
  transition:background-color .18s,color .18s;
}
.chip:hover{background:var(--brand-l);color:var(--brand-d)}
.chip.is-on{background:var(--brand);color:#fff}
.chip__no{
  flex:0 0 auto;font-style:normal;font-family:var(--font-serif);
  font-size:11.5px;letter-spacing:.06em;color:var(--accent-d);
}
.chip.is-on .chip__no{color:var(--on-deep)}
.chip__t{min-width:0;font-weight:700;overflow-wrap:break-word}
.chip__n{
  flex:0 0 auto;margin-left:auto;font-style:normal;font-size:11.5px;
  padding:1px 6px;color:var(--ink-3);background:var(--paper-2);border-radius:2px;
}
.chip.is-on .chip__n{background:rgba(255,255,255,.24);color:#fff}
.filter__empty{display:flex;align-items:center;gap:9px;margin:0;padding:26px 18px;font-size:14px;color:var(--ink-2)}
.filter__empty .i{color:var(--brand)}

/* 两栏区 */
.news-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 306px;
  gap:clamp(18px,2.4vw,36px);align-items:start;
  padding-top:clamp(18px,2.2vw,30px);
}
.news-main{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px);min-width:0}
.news-side{min-width:0}
.side-rail{display:flex;flex-direction:column;gap:18px}

/* 焦点区：大图头条（DOM 图在前，靠 CSS 摆到右列）+ 3 条编号导读 */
.focus{display:flex;flex-direction:column;gap:clamp(16px,2vw,22px);min-width:0}
.focus-lead{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  background:var(--card);border:1px solid var(--line);border-top:4px solid var(--brand);
  box-shadow:var(--shadow);
}
.focus-lead__media{position:relative;display:block;overflow:hidden;grid-column:2;grid-row:1}
.focus-lead__media img{width:100%;height:100%;min-height:250px;object-fit:cover}
.focus-lead__badge{
  position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;background:var(--deep);color:var(--accent);font-style:normal;font-size:12.5px;
}
.focus-lead__body{
  grid-column:1;grid-row:1;
  display:flex;flex-direction:column;gap:10px;
  padding:clamp(16px,2.2vw,26px);min-width:0;
}
.focus-lead__cat{margin:0}
.focus-lead__cat a{font-size:12.5px;font-weight:700;letter-spacing:.05em;color:var(--brand-d)}
.focus-lead__title{margin:0;font-size:clamp(19px,2.2vw,27px);overflow-wrap:break-word}
.focus-lead__title a:hover{color:var(--brand-d)}
.focus-lead__ex{margin:0;font-size:14.5px;color:var(--ink-2);overflow-wrap:break-word}
.focus-lead__body .meta{margin-top:auto}
.focus-lead__body .btn{align-self:flex-start}

.focus-list{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin:0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.focus-it{display:flex;background:var(--card)}
.focus-it__link{
  position:relative;flex:1 1 auto;display:block;min-width:0;
  padding:15px 16px;transition:background-color .18s ease;
}
.focus-it__link:hover{background:var(--brand-l)}
.focus-it__no{
  position:absolute;right:13px;top:10px;
  font-style:normal;font-family:var(--font-serif);font-size:20px;line-height:1;
  color:var(--paper-2);user-select:none;
}
.focus-it__media{display:block;width:88px;height:88px;overflow:hidden;margin-bottom:11px}
.focus-it__media img{width:100%;height:100%;object-fit:cover}
.focus-it__body{display:block;min-width:0}
.focus-it__t{
  display:block;font-family:var(--font-serif);font-size:15.5px;line-height:1.5;
  overflow-wrap:break-word;transition:color .18s ease;
}
.focus-it__link:hover .focus-it__t{color:var(--brand-d)}
.focus-it__meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:8px;font-size:12px;color:var(--ink-3)}
.focus-it__cat{font-style:normal;color:var(--brand-d)}
.focus-it__d,.focus-it__r{font-style:normal;display:inline-flex;align-items:center;gap:5px}

/* 宽行台账：单列通读，序号 + 标题 + 两行摘要 + 元信息，行间 1px 细线 */
.news-block{background:var(--card);border:1px solid var(--line)}
.block-head{
  display:flex;align-items:center;gap:10px;
  padding:13px 18px;background:var(--paper-2);border-bottom:2px solid var(--brand);
}
.block-head .i{color:var(--brand)}
.block-head__t{margin:0;font-size:17px}
.block-head__n{margin-left:auto;font-style:normal;font-size:13px;color:var(--ink-3);white-space:nowrap}
.entrylist{margin:0;padding:0;list-style:none}
.entry{position:relative;border-bottom:1px solid var(--line)}
.entry:last-child{border-bottom:0}
.entry__link{
  position:relative;display:flex;align-items:flex-start;gap:14px;
  padding:16px 18px;transition:background-color .18s ease;
}
.entry__link::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--brand);transform:scaleY(0);transform-origin:top;
  transition:transform .22s ease;
}
.entry__link:hover{background:var(--brand-l)}
.entry__link:hover::before{transform:scaleY(1)}
.entry__no{
  flex:0 0 auto;width:28px;
  font-style:normal;font-family:var(--font-serif);font-size:16px;line-height:1.5;
  color:var(--brand);opacity:.5;user-select:none;transition:opacity .18s ease;
}
.entry__link:hover .entry__no{opacity:1}
.entry__body{display:block;flex:1 1 auto;min-width:0}
.entry__t{
  display:block;font-family:var(--font-serif);font-size:16.5px;line-height:1.55;
  overflow-wrap:break-word;transition:color .18s ease;
}
.entry__link:hover .entry__t{color:var(--brand-d)}
.entry__ex{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin-top:6px;font-size:14px;color:var(--ink-2);overflow-wrap:break-word;
}
.entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:9px;font-size:12.5px;color:var(--ink-3)}
.entry__cat{
  flex:0 0 auto;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  color:var(--brand-d);background:var(--brand-l);padding:2px 8px;border-radius:999px;
}
.entry__d,.entry__r{font-style:normal;display:inline-flex;align-items:center;gap:5px}
.entry.is-hit{background:var(--accent-l)}
.entry.is-hit .entry__t{color:var(--brand-d);font-weight:700}

/* 分页 */
.pager{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin:0;padding:12px 16px;background:var(--card);border:1px solid var(--line);
}
.pager__info{margin:0;font-size:13px;color:var(--ink-2)}
.pager__info strong{color:var(--brand-d)}
.pager__list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.pager__it a{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-width:36px;padding:8px 10px;font-size:13.5px;color:var(--ink-2);
  border:1px solid var(--line-2);
}
.pager__it a:hover{border-color:var(--brand);color:var(--brand-d)}
.pager__it.is-current a{background:var(--brand);border-color:var(--brand);color:#fff}
.pager__it--next a{min-width:auto;color:var(--brand-d);border-color:var(--brand)}
.pager__t{white-space:nowrap}

/* 通栏服务带：与侧栏「服务承诺」是同一个零件（.widget.wsrv），只是横向铺开 */
.srvband{background:var(--brand-l);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.srvband__inner{padding-top:22px;padding-bottom:22px}
.srvband__box{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:14px 34px;align-items:center;
  background:transparent;border:0;border-radius:0;
}
.srvband__box .widget__t{
  padding:0;background:transparent;border-bottom:0;
  font-size:17px;color:var(--brand-d);white-space:nowrap;
}
.srvband__box .widget__t .i{color:var(--brand)}
.srvband__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:0;padding:0;list-style:none}
.srvband__it{display:flex;align-items:flex-start;gap:9px}
.srvband__it .i{color:var(--jade);margin-top:4px;flex:0 0 auto}
.srvband__b{display:block;font-size:14px}
.srvband__d{display:block;font-style:normal;margin-top:3px;font-size:12.5px;color:var(--ink-2);overflow-wrap:break-word}

/* ---------- 18. 文章页两栏 ---------- */
.art-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:clamp(20px,2.6vw,40px);
  padding-top:clamp(22px,2.8vw,38px);
}
.art-main{min-width:0}
.art-side{min-width:0;align-self:stretch}
.art-side__rail{display:flex;flex-direction:column;gap:18px}

.art-head__cat{margin:0}
.art-head__cat a{
  display:inline-flex;align-items:center;gap:7px;
  padding:4px 12px;font-size:12.5px;font-weight:700;
  background:var(--brand-l);color:var(--brand-d);
}
.art-head__title{margin:15px 0 0;font-size:clamp(23px,3vw,36px);overflow-wrap:break-word}
.art-head__lead{
  margin:17px 0 0;padding-left:16px;border-left:3px solid var(--accent);
  font-size:16px;color:var(--ink-2);overflow-wrap:break-word;
}
.art-head__meta{
  display:flex;flex-wrap:wrap;gap:8px 20px;
  margin:19px 0 0;padding:14px 0 0;list-style:none;
  border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);
}
.art-head__it{display:inline-flex;align-items:center;gap:6px;overflow-wrap:break-word}

.art-share{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:20px 0 0;padding:10px 14px;background:var(--paper-2);border:1px solid var(--line);
}
.art-share__lb{margin:0;font-size:13px;color:var(--ink-3)}
.share-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;color:var(--ink-2);
  background:var(--card);border:1px solid var(--line-2);cursor:pointer;
}
.share-ic:hover{border-color:var(--brand);color:var(--brand-d)}
.share-ic.is-flash{background:var(--brand);color:#fff;border-color:var(--brand)}

.art-body{margin-top:26px;font-size:16.5px;line-height:1.95;overflow-wrap:break-word}
.art-body > p{margin:0 0 1.25em;max-width:44em}
.art-body > p:first-child{font-size:17.5px;color:var(--ink-2)}
.art-body h2{
  margin:2.1em 0 .85em;padding-top:.72em;
  font-size:clamp(18.5px,2.1vw,24px);
  border-top:1px solid var(--line);overflow-wrap:break-word;
}
.art-body h2:first-child{margin-top:0;border-top:0;padding-top:0}
.art-body h2 .h2__no{display:inline-block;margin-right:11px;font-size:.74em;color:var(--brand-d);vertical-align:.06em}
.art-body h3{margin:1.6em 0 .6em;font-size:17.5px}
.art-body strong{font-weight:700;box-shadow:inset 0 -.5em 0 var(--accent-l)}
.art-body blockquote{
  margin:1.6em 0;padding:16px 20px;
  background:var(--paper-2);border-left:3px solid var(--brand);
}
.art-body blockquote p{margin:0;font-family:var(--font-serif);font-size:16.5px;color:var(--ink-2)}

.tipbox{margin:1.6em 0;padding:15px 19px;background:var(--accent-l);border-left:3px solid var(--accent)}
.tipbox__t{display:flex;align-items:center;gap:9px;margin:0 0 8px;font-size:15.5px;color:var(--accent-d)}
.tipbox__t .i{color:var(--accent-d)}
.tipbox__tt{overflow-wrap:break-word}
.tipbox p{margin:0;font-size:15px;color:var(--ink)}

.note{margin:1.6em 0;padding:14px 18px;font-size:15px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand)}
.note__t{display:block;margin-bottom:5px;font-size:14px;color:var(--brand-d)}

.kwbox{margin:1.6em 0;background:var(--card);border:1px solid var(--line)}
.kwbox__t{display:flex;align-items:center;gap:8px;margin:0;padding:12px 16px;font-size:15px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.kwbox__t .i{color:var(--brand)}
.kwbox__list{margin:0;padding:0;list-style:none}
.kwbox__it{display:flex;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line)}
.kwbox__it:last-child{border-bottom:0}
.kwbox__k{flex:0 0 128px;font-size:14px;color:var(--brand-d)}
.kwbox__v{font-size:14px;color:var(--ink-2);overflow-wrap:break-word}

.dotlist{margin:1.4em 0;padding:0;list-style:none}
.dotlist__it{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}
.dotlist__it:last-child{border-bottom:0}
.dotlist__it .i{color:var(--jade);margin-top:6px;flex:0 0 auto}
.dotlist__t{font-size:15.5px;overflow-wrap:break-word}

.flow{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;margin:1.6em 0;padding:0;list-style:none;
  background:var(--line);border:1px solid var(--line);
}
.flow__it{background:var(--card);padding:15px 12px;text-align:center}
.flow__no{display:block;font-family:var(--font-serif);font-size:21px;color:var(--brand-d);line-height:1.3}
.flow__t{display:block;margin-top:4px;font-size:13px;color:var(--ink-2);overflow-wrap:break-word}

.atoms{margin:1.6em 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.atoms__it{
  display:grid;grid-template-columns:148px minmax(0,1fr);
  gap:16px;padding:14px 0;border-bottom:1px solid var(--line);
}
.atoms__when{font-size:13px;font-weight:700;color:var(--brand-d);overflow-wrap:break-word}
.atoms__body{min-width:0}
.atoms__t{display:block;font-size:15.5px;overflow-wrap:break-word}
.atoms__d{display:block;margin-top:4px;font-style:normal;font-size:14px;color:var(--ink-2);overflow-wrap:break-word}

.doc-table__wrap{margin:1.6em 0;overflow-x:auto}
.doc-table{width:100%;border-collapse:collapse;background:var(--card);font-size:14.5px}
.doc-table caption{padding:0 0 10px;font-size:13.5px;color:var(--ink-3);text-align:left}
.doc-table th,.doc-table td{padding:10px 12px;text-align:left;vertical-align:top;border:1px solid var(--line);overflow-wrap:break-word}
.doc-table thead th{background:var(--paper-2);font-size:13.5px;color:var(--brand-d);white-space:nowrap}
.doc-table tbody tr:nth-child(even){background:var(--paper)}

/* 续读区（通栏，不再挂在两栏网格里） */
.art-more{
  padding-top:clamp(32px,4.2vw,58px);padding-bottom:clamp(32px,4.2vw,58px);
  margin-top:clamp(32px,4.2vw,58px);border-top:1px solid var(--line);
}
.sec--rel,.sec--new{padding-top:0;padding-bottom:clamp(30px,3.8vw,52px)}

/* 上下篇 */
.prevnext{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:40px 0 0}
.prevnext__it{
  display:flex;flex-direction:column;gap:6px;
  padding:16px 18px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--brand);
}
.prevnext__it--next{border-left:1px solid var(--line);border-right:3px solid var(--brand);text-align:right}
.prevnext__dir{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3)}
.prevnext__it--next .prevnext__dir{justify-content:flex-end}
.prevnext__it:not(.prevnext__it--next) .prevnext__dir .i{transform:rotate(180deg)}
.prevnext__d{font-style:normal}
.prevnext__t{font-family:var(--font-serif);font-size:15.5px;line-height:1.55;overflow-wrap:break-word}
.prevnext__it:hover .prevnext__t{color:var(--brand-d)}
.prevnext__date{font-size:12.5px;color:var(--ink-3)}

/* 标签区 */
.art-tags{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;
  margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
}
.art-tags__t{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--brand-d)}
.art-tags__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.art-tags__link{
  display:inline-block;padding:5px 12px;font-size:13px;color:var(--ink-2);
  background:var(--paper-2);border:1px solid var(--line);overflow-wrap:break-word;
}
.art-tags__link:hover{background:var(--brand-l);color:var(--brand-d);border-color:var(--brand)}
.art-tags__share{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.share-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;font-size:13px;color:var(--ink-2);
  background:var(--card);border:1px solid var(--line-2);cursor:pointer;
}
.share-btn:hover{border-color:var(--brand);color:var(--brand-d)}
.share-btn.is-flash{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- 19. 侧栏 widget ---------- */
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.widget__t{
  display:flex;align-items:center;gap:8px;margin:0;
  padding:12px 16px;font-size:15.5px;
  background:var(--paper-2);border-bottom:1px solid var(--line);
}
.widget__t .i{color:var(--brand)}
.widget__tt{overflow-wrap:break-word}

.minisearch{margin:0;padding:14px 16px 16px}
.minisearch__lb{display:block;margin-bottom:6px;font-size:12.5px;color:var(--ink-3)}
.minisearch__row{display:flex}
.minisearch__in{
  flex:1 1 auto;min-width:0;padding:10px 11px;font-family:var(--font-sans);font-size:14px;
  color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-right:0;
}
.minisearch__in:focus{outline:2px solid var(--brand);outline-offset:-2px}
.minisearch__btn{flex:0 0 auto;padding:0 13px;background:var(--brand);border:1px solid var(--brand);color:#fff;cursor:pointer}
.minisearch__btn:hover{background:var(--brand-d);border-color:var(--brand-d)}
.minisearch__hint{margin:9px 0 0;font-size:12.5px;color:var(--ink-3);overflow-wrap:break-word}

.catlist{margin:0;padding:0;list-style:none}
.catlist__it{border-bottom:1px solid var(--line)}
.catlist__it:last-child{border-bottom:0}
.catlist__link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;font-size:14.5px}
.catlist__link:hover{background:var(--brand-l);color:var(--brand-d)}
.catlist__t{overflow-wrap:break-word}
.catlist__n{font-style:normal;font-size:12px;color:var(--ink-3);white-space:nowrap}
.catlist__it.is-on .catlist__link{background:var(--brand-l);color:var(--brand-d);font-weight:700}

.hotlist{margin:0;padding:6px 0 8px;list-style:none}
.hotlist__it{padding:0 16px}
.hotlist__link{display:flex;gap:11px;padding:9px 0;border-bottom:1px dashed var(--line)}
.hotlist__it:last-child .hotlist__link{border-bottom:0}
.hotlist__no{
  flex:0 0 auto;display:grid;grid-template-columns:1fr;place-items:center;
  width:22px;height:22px;font-family:var(--font-serif);font-size:12px;
  color:var(--ink-3);background:var(--paper-2);border-radius:2px;
}
.hotlist__no.is-top{background:var(--brand);color:#fff}
.hotlist__body{display:block;min-width:0}
.hotlist__t{display:block;font-size:14px;line-height:1.5;overflow-wrap:break-word}
.hotlist__link:hover .hotlist__t{color:var(--brand-d)}
.hotlist__meta{display:block;margin-top:3px;font-size:12px;color:var(--ink-3)}

.lawlist{margin:0;padding:0;list-style:none}
.lawlist__it{border-bottom:1px solid var(--line)}
.lawlist__it:last-child{border-bottom:0}
.lawlist__link{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 16px;font-size:13.5px}
.lawlist__link:hover{background:var(--brand-l)}
.lawlist__n{color:var(--ink-2);overflow-wrap:break-word}
.lawlist__c{color:var(--brand-d);white-space:nowrap;font-size:12.5px}

.qalist{margin:0;padding:0;list-style:none}
.qalist__it{border-bottom:1px solid var(--line)}
.qalist__it:last-child{border-bottom:0}
.qalist__q{display:block;padding:11px 16px;font-size:14px;font-weight:700;color:var(--brand-d);list-style:none;overflow-wrap:break-word}
.qalist__a{padding:0 16px 12px}
.qalist__a p{margin:0;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}

.tagbox{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:14px 16px 16px;list-style:none}
.tagbox__link{
  display:inline-block;padding:5px 11px;font-size:13px;color:var(--ink-2);
  background:var(--paper-2);border:1px solid var(--line);overflow-wrap:break-word;
}
.tagbox__link:hover{background:var(--brand-l);color:var(--brand-d);border-color:var(--brand)}

.srvlist{display:flex;flex-direction:column;gap:12px;margin:0;padding:14px 16px 16px;list-style:none}
.srvlist__it{display:flex;align-items:flex-start;gap:9px}
.srvlist__it .i{color:var(--jade);margin-top:4px;flex:0 0 auto}
.srvlist__body{display:block;min-width:0}
.srvlist__t{display:block;font-size:14px}
.srvlist__d{display:block;margin-top:3px;font-style:normal;font-size:12.5px;color:var(--ink-3);overflow-wrap:break-word}

.notice{margin:0;padding:14px 16px 0;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.notice__meta{margin:0;padding:8px 16px 16px;font-size:12.5px;color:var(--ink-3)}

.cta__p{margin:0;padding:14px 16px 0;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.cta__tel{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 0;padding:0 16px 16px;font-size:13.5px;color:var(--ink-2)}
.wcta .btn--blk{width:auto;margin:13px 16px 0}

.steplist{display:flex;flex-direction:column;gap:11px;margin:0;padding:14px 16px 0;list-style:none}
.steplist__it{display:flex;align-items:flex-start;gap:10px}
.steplist__no{
  flex:0 0 auto;display:grid;grid-template-columns:1fr;place-items:center;
  width:20px;height:20px;font-size:11.5px;color:#fff;background:var(--brand);border-radius:2px;
}
.steplist__t{font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.steplist__note{display:flex;align-items:flex-start;gap:7px;margin:0;padding:12px 16px 16px;font-size:12px;color:var(--ink-3)}
.steplist__note .i{flex:0 0 auto;margin-top:3px}

.mislist{display:flex;flex-direction:column;gap:14px;margin:0;padding:14px 16px 16px;list-style:none}
.mislist__it{margin:0}
.mislist__bad,.mislist__good{display:flex;gap:8px;margin:0;font-size:13.5px;overflow-wrap:break-word}
.mislist__bad{color:var(--brand-d)}
.mislist__good{margin-top:5px;color:var(--jade)}
.mislist__mark{flex:0 0 auto;font-style:normal;font-weight:700}

/* 关键时限：左侧一条香槟金刻度线，期限值用衬线体收在右端（与 .lawlist 的「名称—条文」语式区分开） */
.limitlist{margin:0;padding:14px 16px 16px;list-style:none;display:flex;flex-direction:column;gap:9px}
.limitlist__it{display:flex;align-items:baseline;gap:9px;padding-left:10px;border-left:2px solid var(--accent)}
.limitlist__t{min-width:0;font-size:13.5px;color:var(--ink-2);overflow-wrap:break-word}
.limitlist__d{
  flex:0 0 auto;margin-left:auto;font-style:normal;white-space:nowrap;
  font-family:var(--font-serif);font-size:12.5px;color:var(--brand-d);
}

.toc{margin:0;padding:8px 0;list-style:none}
.toc__i{border-bottom:1px solid var(--line)}
.toc__i:last-child{border-bottom:0}
.toc__link{
  display:block;padding:10px 16px;font-size:13.5px;color:var(--ink-2);
  border-left:3px solid transparent;overflow-wrap:break-word;
  transition:background-color .18s,color .18s,border-color .18s;
}
.toc__link:hover{background:var(--brand-l);color:var(--brand-d)}
.toc__link.is-on{border-left-color:var(--brand);background:var(--brand-l);color:var(--brand-d);font-weight:700}

/* ---------- 20. reveal 渐进增强（无 JS 必须默认可见） ---------- */
.reveal{opacity:1;transform:none}
html.js-reveal .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
html.js-reveal .reveal.is-in{opacity:1;transform:none}
/* 侧栏栏体豁免位移入场（避免整栏在滚动中反复位移） */
html.js-reveal .side-rail,html.js-reveal .side-rail .reveal,
html.js-reveal .art-side__rail,html.js-reveal .art-side__rail .reveal{opacity:1!important;transform:none!important}

/* ==========================================================================
   21. 响应式（断点全部写在基础类上，媒体块集中在文件末尾）
   ≤1099 抽屉导航 · ≤1023 三列转两列 · ≤899 移动底栏/单列 · ≤767 表格堆叠
   ≤639 两列转单列 · ≤559 顶栏精简
   ========================================================================== */
@media (max-width:1099px){
  .header-main{gap:10px 16px}
  .header-side{margin-left:auto}
  .nav-toggle{display:flex}
  .nav{margin-left:0}
  .site-header.is-collapsible .nav{
    order:3;flex:1 0 100%;
    max-height:0;overflow:hidden;
    transition:max-height .3s ease;
  }
  .site-header.is-open.is-collapsible .nav{max-height:520px}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;padding:6px 0}
  .nav__link{justify-content:flex-start;padding:12px 4px;border-bottom:1px solid var(--line)}
  /* 无 JS 降级：汉堡隐藏、导航铺满一行并横向换行（点了没反应的按钮必须藏掉） */
  .site-header:not(.is-collapsible) .nav{order:3;flex:1 0 100%}
  .site-header:not(.is-collapsible) .nav__list{flex-direction:row;flex-wrap:wrap;gap:2px;padding:0}
  .site-header:not(.is-collapsible) .nav__link{padding:9px 11px;border-bottom:2px solid transparent}
  .site-header:not(.is-collapsible) .nav-toggle{display:none}
  .hero__inner{grid-template-columns:minmax(0,1fr)}
  .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat-grid{grid-template-columns:minmax(0,1fr)}
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about,.consult{grid-template-columns:minmax(0,1fr)}
  .method{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-layout,.art-layout{grid-template-columns:minmax(0,1fr)}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:1023px){
  .tri{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:899px){
  body{padding-bottom:62px}
  .mobile-bar{display:grid}
  .duo{grid-template-columns:minmax(0,1fr)}
  .focus-lead{grid-template-columns:minmax(0,1fr)}
  .focus-lead__media{grid-column:1;grid-row:1}
  .focus-lead__media img{min-height:0;aspect-ratio:16/9}
  .focus-lead__body{grid-column:1;grid-row:2}
  .focus-list{grid-template-columns:minmax(0,1fr)}
  .focus-it__link{display:flex;align-items:center;gap:14px}
  .focus-it__media{flex:0 0 auto;width:76px;height:76px;margin-bottom:0}
  .focus-it__body{flex:1 1 auto;min-width:0}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .srvband__box{grid-template-columns:minmax(0,1fr)}
  .srvband__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prevnext{grid-template-columns:minmax(0,1fr)}
  .prevnext__it--next{text-align:left}
  .prevnext__it--next .prevnext__dir{justify-content:flex-start}
  .feat-item{grid-template-columns:132px minmax(0,1fr)}
  .to-top{margin-left:0}
}

@media (max-width:767px){
  .faq{grid-template-columns:minmax(0,1fr)}
  .cat-grid{grid-template-columns:minmax(0,1fr)}
  .method{grid-template-columns:minmax(0,1fr)}
  .footer-main{grid-template-columns:minmax(0,1fr)}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .page-banner__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat-item{grid-template-columns:minmax(0,1fr)}
  .feat-item__media img{min-height:0;aspect-ratio:16/9}
  .atoms__it{grid-template-columns:minmax(0,1fr);gap:5px}
  .kwbox__it{flex-direction:column;gap:4px}
  .kwbox__k{flex:0 0 auto}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .srvband__list{grid-template-columns:minmax(0,1fr)}
  /* 表格窄屏堆叠：隐藏表头，用 data-label 前缀还原字段名 */
  .doc-table thead{display:none}
  .doc-table,.doc-table tbody,.doc-table tr,.doc-table td{display:block;width:100%}
  .doc-table tr{margin-bottom:12px;border:1px solid var(--line);background:var(--card)}
  .doc-table td{border:0;border-bottom:1px dashed var(--line);padding:9px 12px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px}
  .doc-table td:last-child{border-bottom:0}
  .doc-table td::before{content:attr(data-label);font-size:12.5px;color:var(--ink-3)}
}

@media (max-width:639px){
  .tri{grid-template-columns:minmax(0,1fr)}
  .art-tags__share{margin-left:0}
}

@media (max-width:559px){
  .header-cta{display:none}
  .topbar__it--date{display:none}
  .topbar__meta{gap:6px 12px}
  .chip{padding:12px 10px}
  .entry__link{padding:14px 13px}
  .entry__no{width:22px}
  .focus-it__media{width:64px;height:64px}
  .steplist__no,.hotlist__no{flex-basis:auto}
}

/* ---------- 22. 打印 / 降低动效 ---------- */
@media print{
  .topbar,.mobile-bar,.art-share,.art-tags__share,.news-side,.art-side,
  .to-top,.nav-toggle,.catrail,.pager,.srvband,.kwbelt,.prevnext{display:none!important}
  .site-header{position:static!important}
  body{background:#fff;padding-bottom:0;color:#000}
  .news-layout,.art-layout,.feat-grid,.about,.consult,.footer-main{grid-template-columns:1fr}
  html.js-reveal .reveal{opacity:1!important;transform:none!important}
  .site-footer,.sec--deep,.sec--consult,.page-banner{background:#fff!important;color:#000!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  html.js-reveal .reveal{opacity:1!important;transform:none!important}
}

