@charset "utf-8";
/* ============================================================================
   law43 · 律牍网（LÜDU）—— 套印纸本 / Riso Print
   视觉语言：靛蓝 + 荧光玫红双专色「错位叠印」；网点（halftone）做装饰；
             硬边错位阴影（无模糊）；全站直角（零圆角）；无 background-image；
             CSS 里零位图、零渐变、零外链字体 —— 装饰图形全部走本地 SVG。
   签名装置：① .sec-head__stamp 套印错位色块章
             ② .dotrule 网点分隔带（本地 SVG）
             ③ 双色错位硬阴影（.form-card / .tcard--lead / .srvband__box）
             ④ 套印大号序号（text-shadow 玫红偏移）
   ⚠️ 改类名必须同步 build/common.js（check.js 有「HTML class token ↔ CSS 选择器」全量断言）
   ============================================================================ */

/* ------------------------------------------------------------ 0. 设计令牌 */
:root{
  --wrap:1220px;
  --gut:20px;

  --paper:#fcf9f2;        /* 主纸 */
  --paper-2:#f3eee2;      /* 次纸 */
  --card:#ffffff;

  --ink:#17161f;          /* 墨（正文） */
  --ink-2:#4b4959;        /* 二级 */
  --ink-3:#6b6879;        /* 三级：对 paper 5.14:1 / paper-2 4.68:1 */

  --blue:#1f34c0;         /* 专色 A */
  --blue-d:#182a9e;
  --blue-l:#8e9cff;       /* 深底亮版 */
  --blue-t:#eceffe;       /* 浅色底纹 */

  --pink:#bd1546;         /* 专色 B（浅底文字，白底 5.94:1） */
  --pink-d:#96103a;
  --pink-l:#ff6f95;       /* 深底亮版 */
  --pink-t:#fbe9ef;       /* 浅色底纹 */
  --pink-raw:#ee2b62;     /* 纯装饰填充，绝不承载文字 */

  --deep:#181a3d;         /* 深底壳 */
  --deep-2:#232757;
  --on-deep:#f3f1ea;
  --on-deep-2:#b9b6d2;

  --line:#dcd5c4;
  --line-2:#c9c1ad;
  --deco:#7c8ba6;         /* 装饰序号（≥19px 才可用） */

  --pad:20px;
  --sh:6px 6px 0 var(--ink);
  --sh-duo:6px 6px 0 var(--blue), 12px 12px 0 var(--pink-raw);
}

/* ------------------------------------------------------------ 1. 复位 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",
    "Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  overflow-wrap:break-word;
}
img,video{max-width:100%;height:auto;display:block;border:0}
svg{display:inline-block;vertical-align:-.125em;flex:0 0 auto}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--pink)}
h1,h2,h3,h4{line-height:1.32;margin:0;font-weight:700;letter-spacing:-.01em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
table{border-collapse:collapse}
[hidden]{display:none!important}
i{font-style:normal;color:var(--pink)}
::selection{background:var(--pink-raw);color:#fff}

/* 图标：尺寸必须成对声明，否则全局兜底会让只设 width 的图标失真（law5/law21） */
.i{width:17px;height:17px;max-width:none;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.i--mark{width:20px;height:20px;fill:currentColor;stroke:none}
/* 图标精灵容器必须彻底不占位（漏写会以 300×150 撑出页首空白） */
.sprite{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden}

/* 无障碍跳转：clip 隐藏（禁用负定位，负定位会在溢出审计里变假阳性） */
.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(--blue);color:#fff;z-index:90}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* 容器内缩用「宽度收缩 + 居中」，结构上不可能被 padding 简写清零（law22） */
.wrap{width:min(var(--wrap),100% - (var(--gut) * 2));margin-inline:auto}

/* ------------------------------------------------------------ 3. 入场动画
   ★ 默认可见，只有脚本接管（html.js-reveal）才隐藏 —— 脚本 404 也不白屏 */
.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,html.js-reveal .art-side__rail{opacity:1;transform:none;transition:none}
@media print{html.js-reveal .reveal{opacity:1!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){
  html.js-reveal .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ------------------------------------------------------------ 4. 按钮 */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border:2px solid var(--ink);
  background:var(--card);color:var(--ink);font-weight:700;font-size:15.5px;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--pink-raw);color:var(--ink)}
.btn--primary{background:var(--blue);border-color:var(--blue);color:#fff;
  box-shadow:5px 5px 0 var(--pink-raw)}
.btn--primary:hover{color:#fff;background:var(--blue-d);border-color:var(--blue-d)}
.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
/* 按钮内标签色保护：高特异性压过任何「容器 后代 span」规则 */
.btn > .btn__t{color:inherit;font-size:inherit;line-height:inherit}
.btn__t{display:inline}

/* ------------------------------------------------------------ 5. 顶栏信息条 */
.topbar{background:var(--deep);color:var(--on-deep-2);font-size:13.5px;border-bottom:1px solid var(--deep-2)}
.topbar__inner{display:flex;align-items:center;gap:18px;justify-content:space-between;
  padding-block:8px;flex-wrap:wrap}
.topbar__meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-width:0}
.topbar__meta .topbar__it{display:flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap}
.topbar__tel-t{display:inline}
.topbar__meta .i{color:var(--pink-l);width:15px;height:15px}
.topbar__tel{display:inline-flex;align-items:center;gap:7px;color:var(--on-deep);font-weight:700;
  font-size:14px;letter-spacing:.02em;white-space:nowrap;flex:0 0 auto}
.topbar__tel .i{color:var(--pink-l)}
.topbar__tel:hover{color:var(--pink-l)}

/* ------------------------------------------------------------ 6. 页头 */
.site-header{position:sticky;top:0;z-index:60;background:var(--card);
  border-bottom:3px solid var(--ink);box-shadow:inset 0 5px 0 0 var(--pink-raw)}
.header-main{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-block:14px}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand__mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  background:var(--blue);color:#fff;box-shadow:4px 4px 0 var(--pink-raw);flex:0 0 auto}
.brand__txt{display:flex;flex-direction:column;line-height:1.2}
.brand__name{font-size:21px;font-weight:700;letter-spacing:.02em}
.brand__sub{font-size:11.5px;color:var(--ink-3);font-family:Consolas,Menlo,monospace;letter-spacing:.04em}
.nav-toggle{display:none;align-items:center;gap:7px;margin-left:auto;padding:9px 14px;
  background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink);font-weight:700;
  font-size:14px;cursor:pointer}
.nav-toggle .btn__t{color:inherit;font-size:inherit;line-height:inherit}
.nav{flex:1 1 auto;min-width:0}
.nav__list{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav__list > li{flex:0 0 auto}
.nav__it{display:block}
.nav__link{display:block;padding:9px 13px;color:var(--ink);font-weight:600;font-size:15.5px;
  white-space:nowrap;border-bottom:3px solid transparent}
.nav__link:hover{color:var(--blue);border-bottom-color:var(--pink-raw);background:var(--paper-2)}
.nav__link.is-on{color:var(--blue);border-bottom-color:var(--blue);background:var(--blue-t)}
.header-side{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.header-cta{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;background:var(--pink);
  color:#fff;font-weight:700;font-size:14.5px;white-space:nowrap;box-shadow:4px 4px 0 var(--ink)}
.header-cta:hover{color:#fff;background:var(--pink-d)}
.header-cta .i{color:#fff}

/* ------------------------------------------------------------ 7. Hero */
.hero{background:var(--deep);color:var(--on-deep);position:relative}
.hero__inner{display:grid;grid-template-columns:1.06fr .94fr;column-gap:56px;row-gap:34px;
  padding-block:58px 42px;align-items:center}
.hero__copy{grid-column:1;grid-row:1;min-width:0}
.hero__art{grid-column:2;grid-row:1;min-width:0}
.hero__facts{grid-column:1 / -1;grid-row:2}
.hero__art img{width:100%;height:auto;border:1px solid var(--deep-2)}
.hero__kicker{display:flex;align-items:center;gap:10px;font-family:Consolas,Menlo,monospace;
  font-size:13px;letter-spacing:.12em;color:var(--blue-l);margin-bottom:18px}
.hero__kicker-dot{width:12px;height:12px;background:var(--pink-raw);flex:0 0 auto;
  box-shadow:4px 4px 0 var(--blue-l)}
.hero__title{font-size:clamp(30px,4.4vw,52px);line-height:1.2;letter-spacing:-.02em}
.hero__lede{margin-top:20px;max-width:30em;font-size:16.5px;color:var(--on-deep-2)}
.hero__acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero .btn--ghost{border-color:var(--on-deep-2);color:var(--on-deep)}
.hero .btn--ghost:hover{color:var(--on-deep);border-color:var(--on-deep)}
.hero__facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18)}
.hero__fact{display:flex;flex-direction:column;gap:2px;padding:20px 22px;min-width:0}
.hero__fact + .hero__fact{border-left:1px solid rgba(255,255,255,.18)}
.hero__fact-n{font-size:32px;font-weight:700;line-height:1.1;color:var(--pink-l);
  font-family:Consolas,Menlo,monospace;text-shadow:3px 3px 0 rgba(142,156,255,.45)}
.hero__fact-u{font-size:12.5px;color:var(--on-deep-2);font-family:Consolas,Menlo,monospace}
.hero__fact-t{font-size:14px;color:var(--on-deep);margin-top:4px}

/* ------------------------------------------------------------ 8. 区块与标题
   ★ 页头之外全站只有 .site-header 一个 sticky（check.js 断言） */
.sec{padding-block:52px 0}
.sec:last-of-type{padding-bottom:56px}
.sec--cats,.sec--duo,.sec--faq{background:var(--paper)}
.sec--tri,.sec--featured,.sec--method,.sec--links,.sec--news,.sec--art{background:var(--paper-2)}
.sec--about,.sec--consult{background:var(--paper)}
.sec-head{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;
  border-top:3px solid var(--ink);padding-block:22px 24px}
.sec-head__stamp{width:28px;height:28px;background:var(--blue);flex:0 0 auto;margin-top:5px;
  box-shadow:6px 6px 0 var(--pink-raw)}
.sec-head__body{flex:1 1 320px;min-width:0}
.sec-head__kicker{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.14em;
  color:var(--pink);margin-bottom:8px}
.sec-head__title{font-size:clamp(23px,2.6vw,31px);order:2}
.sec-head__lead{margin-top:10px;color:var(--ink-2);font-size:15.5px;max-width:44em}
.sec-head__more{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;margin-top:6px;
  border:2px solid var(--ink);color:var(--ink);font-weight:700;font-size:14.5px;flex:0 0 auto}
.sec-head__more:hover{background:var(--ink);color:var(--paper)}
/* 网点分隔带（本地 SVG，纯装饰，不承载文字） */
.dotrule{display:flex;justify-content:center;padding-block:26px 0;opacity:.85}
.dotrule img{width:min(480px,58%);height:auto}

/* ------------------------------------------------------------ 9. 分类卡 */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cat-card{display:block;position:relative;padding:24px 22px 22px;background:var(--card);
  border:1px solid var(--line);border-top:5px solid var(--blue);color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease}
.cat-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--pink-raw);color:var(--ink)}
.cat-card__no{position:absolute;right:16px;top:16px;font-family:Consolas,Menlo,monospace;
  font-size:26px;font-weight:700;line-height:1;color:var(--blue);display:block;
  text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.cat-card__ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  background:var(--blue-t);color:var(--blue);border:1px solid var(--line);margin-bottom:16px}
.cat-card__ico .i{width:22px;height:22px;color:var(--blue)}
.cat-card__t{display:block;font-size:19px;font-weight:700;margin-bottom:8px}
.cat-card__d{display:block;font-size:14px;color:var(--ink-2);line-height:1.6}
.cat-card__n{display:block;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-2);font-family:Consolas,Menlo,monospace;font-size:13.5px;color:var(--pink);padding-left: 90%;}

/* ------------------------------------------------------------ 10. 缩略图卡 */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  color:var(--ink);min-width:0;transition:transform .16s ease,box-shadow .16s ease}
.tcard:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--pink-raw);color:var(--ink)}
.tcard__media{display:block;overflow:hidden;border-bottom:3px solid var(--blue)}
.tcard__media img{width:100%;height:auto;aspect-ratio:640/400;object-fit:cover}
.tcard__body{display:flex;flex-direction:column;gap:9px;padding:18px 18px 20px;flex:1 1 auto}
.tcard__cat{align-self:flex-start;display:inline-block;padding:3px 9px;background:var(--blue-t);
  color:var(--blue);font-size:12.5px;font-weight:700;letter-spacing:.04em}
.tcard__t{font-size:17px;font-weight:700;line-height:1.45}
.tcard__s{font-size:14px;color:var(--ink-2);line-height:1.65}
.tcard__meta{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:12px;
  font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.tcard__meta .i{width:14px;height:14px;color:var(--pink)}
.tcard__dot{color:var(--ink-3)}
/* 头条大卡：通栏横排（左图右文） */
.tcard--lead{grid-column:1 / -1;display:grid;grid-template-columns:1.12fr 1fr;
  box-shadow:var(--sh-duo)}
.tcard--lead .tcard__media{border-bottom:0;border-right:3px solid var(--blue);height:100%}
.tcard--lead .tcard__media img{height:100%;aspect-ratio:auto;min-height:260px}
.tcard--lead .tcard__body{padding:26px 26px 24px}
.tcard--lead .tcard__t{font-size:23px}
.tcard--lead .tcard__s{font-size:15px}

/* --------------------------------------------- 11. 双列 / 三列无缩略图列表
   一份 markup 吃四套皮肤：靠外层 .duo-wrap--rel / .tri-wrap--new 换肤（law39） */
.duo-wrap{min-width:0}
.tri-wrap{min-width:0}
.duo{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 26px}
.duo__it{display:flex;min-width:0}
.duo__link{display:flex;gap:16px;width:100%;padding:18px 20px 18px 22px;background:var(--card);
  border:1px solid var(--line);border-left:5px solid var(--blue);color:var(--ink);min-width:0;
  transition:transform .16s ease,box-shadow .16s ease}
.duo__link:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--pink-raw);color:var(--ink)}
.duo__no{flex:0 0 auto;font-family:Consolas,Menlo,monospace;font-size:24px;font-weight:700;
  line-height:1;color:var(--blue);text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.duo__body{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1 1 auto}
.duo__t{font-size:16.5px;font-weight:700;line-height:1.5}
.duo__s{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.duo__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:8px;
  font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.duo__cat{color:var(--pink);font-weight:700}
.duo__d{font-family:Consolas,Menlo,monospace}
.duo__r{display:inline-flex;align-items:center;gap:5px}
.duo__r .i,.tri__r .i{width:14px;height:14px;color:var(--ink-3)}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tri__it{display:flex;min-width:0}
.tri__link{display:flex;flex-direction:column;gap:9px;width:100%;padding:18px 2px 16px;
  border-top:3px solid var(--ink);background:transparent;color:var(--ink);min-width:0}
.tri__link:hover{color:var(--ink);border-top-color:var(--pink-raw)}
.tri__no{font-family:Consolas,Menlo,monospace;font-size:22px;font-weight:700;line-height:1;
  color:var(--blue);text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.tri__body{display:flex;flex-direction:column;gap:9px;min-width:0;flex:1 1 auto}
.tri__t{font-size:16px;font-weight:700;line-height:1.5}
.tri__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;
  font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.tri__cat{color:var(--pink);font-weight:700}
.tri__d{font-family:Consolas,Menlo,monospace}
.tri__r{display:inline-flex;align-items:center;gap:5px}
/* 文章页变体：相关 = 透明底 + 玫红竖线；最新 = 白卡 + 靛蓝顶线 */
.duo-wrap--rel .duo__link{background:transparent;border:0;border-left:4px solid var(--pink);
  padding:14px 4px 14px 20px}
.duo-wrap--rel .duo__link:hover{transform:none;box-shadow:none;background:var(--card)}
.duo-wrap--rel .duo__no{color:var(--pink)}
.tri-wrap--new .tri__link{background:var(--card);border:1px solid var(--line);
  border-top:4px solid var(--blue);padding:18px 20px 16px}
.tri-wrap--new .tri__link:hover{border-top-color:var(--pink-raw)}

/* ------------------------------------------------------------ 12. 关于本站 */
.about{display:grid;grid-template-columns:1.55fr 1fr;gap:46px;align-items:start}
.about__copy{min-width:0}
.about__kicker{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.16em;
  color:var(--pink);margin-bottom:12px}
.about__t{font-size:clamp(22px,2.5vw,30px);margin-bottom:18px}
.about__p{color:var(--ink-2);font-size:16px;margin-bottom:14px;max-width:42em}
.about__pts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.about__pt{display:flex;align-items:center;gap:10px;padding:16px 16px;background:var(--card);
  border:1px solid var(--line);font-size:15px;font-weight:600;
  box-shadow:5px 5px 0 var(--pink-raw)}
.about__pt .i{color:var(--pink);flex:0 0 auto}

/* ------------------------------------------------------------ 13. 流程与承诺 */
.method{display:flex;flex-direction:column;gap:30px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.steps__it{display:flex;flex-direction:column;gap:8px;padding:24px 22px 22px;position:relative;
  border-bottom:1px solid var(--line);min-width:0}
.steps__it + .steps__it{border-left:1px solid var(--line)}
.steps__no{font-family:Consolas,Menlo,monospace;font-size:30px;font-weight:700;line-height:1;
  color:var(--blue);text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.steps__t{font-size:17px;font-weight:700}
.steps__d{font-size:14px;color:var(--ink-2);line-height:1.65}
.promise{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.promise__it{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--card);
  border:1px solid var(--line);min-width:0}
.promise__it .i{width:20px;height:20px;color:var(--pink)}
.promise__t{font-size:15.5px;font-weight:700;margin-top:6px}
.promise__d{font-size:13.5px;color:var(--ink-2);line-height:1.6}

/* ------------------------------------------------------------ 14. 表单区 */
.form-wrap{display:grid;grid-template-columns:1.42fr 1fr;gap:40px;align-items:start}
.form-card{position:relative;background:var(--card);border:2px solid var(--ink);padding:34px 30px 30px;
  box-shadow:var(--sh-duo);color:var(--ink)}
.form-card__label{position:absolute;left:30px;top:-15px;display:inline-block;padding:4px 12px;
  background:var(--blue);color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;
  box-shadow:4px 4px 0 var(--pink-raw)}
.form-card__title{font-size:21px;color:var(--ink);margin-top:6px}
.form-card__desc{margin-top:10px;font-size:14.5px;color:var(--ink-2)}
.form-alert{display:none;margin-top:16px;padding:12px 14px;font-size:14.5px;font-weight:600;
  border-left:5px solid var(--ink-2);background:var(--paper-2);color:var(--ink)}
.form-alert.is-on{display:block}
.form-alert.is-err{border-left-color:var(--pink-d);background:var(--pink-t);color:var(--pink-d)}
.form-alert.is-ok{border-left-color:var(--blue-d);background:var(--blue-t);color:var(--blue-d)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 22px;margin-top:22px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field--full{grid-column:1 / -1}
.field__lb{font-size:14px;font-weight:700;color:var(--ink)}
.field__lb i{color:var(--pink)}
.field__ip{width:100%;padding:12px 13px;background:var(--paper);border:1px solid var(--line-2);
  color:var(--ink);font:inherit;font-size:15px;line-height:1.5}
.field__ip::placeholder{color:var(--ink-3)}
.field__ip:focus{outline:none;border-color:var(--blue);box-shadow:3px 3px 0 var(--pink-raw)}
.field__ip--ta{resize:vertical;min-height:110px}
.field__selwrap{position:relative;display:block}
.field__sel{width:100%;padding:12px 34px 12px 13px;background:var(--paper);
  border:1px solid var(--line-2);color:var(--ink);font:inherit;font-size:15px;
  appearance:none;-webkit-appearance:none;cursor:pointer}
.field__sel:focus{outline:none;border-color:var(--blue);box-shadow:3px 3px 0 var(--pink-raw)}
/* 下拉箭头用纯 CSS 三角（避免 background-image，保证对比度探针能取到真底） */
.field__selwrap::after{content:"";position:absolute;right:15px;top:50%;width:0;height:0;
  margin-top:-2px;border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:7px solid var(--blue);pointer-events:none}
.field__msg{font-size:13px;color:var(--pink-d);min-height:0}
.field__msg:empty{display:none}
.field.is-invalid .field__ip,.field.is-invalid .field__sel{border-color:var(--pink);
  background:var(--pink-t)}
.field.is-invalid .field__lb{color:var(--pink-d)}
.field__agree{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600;
  color:var(--ink);cursor:pointer}
.field__agree input{width:17px;height:17px;margin:4px 0 0;accent-color:var(--blue);flex:0 0 auto}
.field__agree i{color:var(--pink)}
.field.is-invalid .field__agree{color:var(--pink-d)}
.form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.form-tip{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2)}
.form-tip .i{width:15px;height:15px;color:var(--blue)}
.form-side{display:flex;flex-direction:column;gap:14px;padding:30px 28px;background:var(--deep);
  color:var(--on-deep);min-width:0}
.form-side__kicker{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.16em;
  color:var(--pink-l)}
.form-side__t{font-size:20px;color:var(--on-deep)}
.form-side__tel{display:inline-flex;align-items:center;gap:10px;font-family:Consolas,Menlo,monospace;
  font-size:26px;font-weight:700;color:var(--pink-l);letter-spacing:.01em}
.form-side__tel:hover{color:#fff}
.form-side__tel .i{width:22px;height:22px}
.form-side__list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.form-side__list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--on-deep-2)}
.form-side__list .i{width:16px;height:16px;color:var(--blue-l);margin-top:4px;flex:0 0 auto}
.form-side__note{padding-top:14px;border-top:1px solid rgba(255,255,255,.18);
  font-size:13px;color:var(--on-deep-2);line-height:1.7}

/* ------------------------------------------------------------ 15. FAQ */
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 26px;align-items:start}
.faq__it{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--blue)}
.faq__it[open]{border-left-color:var(--pink)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;
  cursor:pointer;font-weight:700;font-size:16px;list-style:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q::marker{content:""}
.faq__q .i{color:var(--blue);transition:transform .2s ease;flex:0 0 auto}
.faq__it[open] .faq__q .i{transform:rotate(45deg);color:var(--pink)}
.faq__q-t{min-width:0}
.faq__a{padding:0 18px 18px;color:var(--ink-2);font-size:14.5px;line-height:1.75}

/* ------------------------------------------------------------ 16. 友链 */
.links{}
.links__grp{min-width:0}
.links__t{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.14em;
  color:var(--pink);padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:14px}
.links__list{}
.links__it{display: inline-block;margin-right: 15px;}
.links__it a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;
  border-bottom:1px dashed var(--line-2);color:var(--ink-2);font-size:14.5px}
.links__it:last-child a{border-bottom:0}
.links__it a:hover{color:var(--blue)}
.links__it .i{width:14px;height:14px;color:var(--blue)}

/* ------------------------------------------------------------ 17. 页脚 */
.site-footer{background:var(--deep);color:var(--on-deep-2);margin-top:56px}
.footer-main{display:grid;grid-template-columns:1.42fr 1fr 1fr 1fr;gap:36px;padding-block:48px 32px}
.footer__brand{min-width:0}
.footer__logo{display:inline-flex;align-items:center;gap:11px;color:var(--on-deep)}
.footer__logo:hover{color:var(--on-deep)}
.footer__logo .brand__name{font-size:20px}
.footer__tagline{margin-top:12px;font-size:14.5px;color:var(--blue-l);letter-spacing:.04em}
.footer__contact{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.footer__contact li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:var(--on-deep-2)}
.footer__contact .i{width:15px;height:15px;color:var(--pink-l);margin-top:4px;flex:0 0 auto}
.footer__contact a{color:var(--on-deep)}
.footer__contact a:hover{color:var(--pink-l)}
.footer__col{min-width:0}
.footer__t{font-size:15.5px;font-weight:700;color:var(--on-deep);padding-bottom:10px;
  border-bottom:2px solid var(--pink-raw);margin-bottom:14px}
.footer__list{display:flex;flex-direction:column;gap:9px}
.footer__list a{color:var(--on-deep-2);font-size:14px}
.footer__list a:hover{color:var(--pink-l)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-block:20px 26px;
  display:flex;flex-direction:column;gap:8px}
.footer__note{font-size:13px;color:var(--on-deep-2);line-height:1.7;max-width:70em}
.footer__legal{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--on-deep-2)}
.footer__legal a{color:var(--on-deep-2)}
.footer__legal a:hover{color:var(--pink-l)}

/* ------------------------------------------------------------ 18. 移动底栏 */
/* 基础态：桌面隐藏。窄屏在文件末尾用 body .mobile-bar 提特异性打开（law14） */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  border-top:1px solid var(--line);background:var(--card)}
.mobile-bar__it{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:9px 6px;color:var(--ink-2);font-size:12px;min-width:0}
.mobile-bar__it .i{width:19px;height:19px;color:var(--blue)}
.mobile-bar__t{color:inherit}
.mobile-bar__it--cta{background:var(--blue);color:#fff}
.mobile-bar__it--cta .i{color:#fff}
.mobile-bar__it--cta:hover{color:#fff}

/* ------------------------------------------------------------ 19. 内页 banner */
.page-banner{position:relative;background:var(--deep);color:var(--on-deep);overflow:hidden}
.page-banner__bg{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;
  object-fit:cover;opacity:.6}
.page-banner__inner{position:relative;padding-block:44px 38px}
.page-banner__kicker{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.16em;
  color:var(--pink-l);margin-bottom:12px}
.page-banner__title{font-size:clamp(26px,3.4vw,40px);color:var(--on-deep);max-width:26em}
.page-banner__desc{margin-top:14px;font-size:15.5px;color:var(--on-deep-2);max-width:46em}
.page-banner__facts{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;
  border-top:1px solid rgba(255,255,255,.18)}
.page-banner__fact{display:flex;align-items:baseline;gap:7px;padding:14px 26px 0 0;margin-right:26px;
  border-right:1px solid rgba(255,255,255,.18)}
.page-banner__fact:last-child{border-right:0;margin-right:0}
.page-banner__fact b{font-family:Consolas,Menlo,monospace;font-size:22px;color:var(--blue-l)}
.page-banner__fact span{font-size:13.5px;color:var(--on-deep-2)}

/* ------------------------------------------------------------ 20. 面包屑 */
.crumb{background:var(--card);border-bottom:1px solid var(--line)}
.crumb__list{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding-block:12px;
  font-size:13.5px;color:var(--ink-3)}
.crumb__it{display:flex;align-items:center;min-width:0}
.crumb__it + .crumb__it::before{content:"/";margin:0 9px;color:var(--line-2)}
.crumb__it a{color:var(--ink-2)}
.crumb__it a:hover{color:var(--blue)}
.crumb__cur{color:var(--ink);font-weight:600;overflow-wrap:break-word}

/* ------------------------------------------------------------ 21. 列表页 */
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:46px;align-items:start}
.news-main{display:flex;flex-direction:column;gap:26px;min-width:0}
.news-side{min-width:0}
/* 筛选条 */
.filter{display:flex;flex-direction:column;gap:14px;padding:20px 22px;background:var(--card);
  border:1px solid var(--line);border-top:5px solid var(--blue)}
.filter__list{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:var(--paper);
  border:1px solid var(--line-2);color:var(--ink);cursor:pointer;font-size:14.5px;font-weight:600}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip.is-on{background:var(--blue);border-color:var(--blue);color:#fff;
  box-shadow:4px 4px 0 var(--pink-raw)}
.chip.is-on .chip__n{background:rgba(255,255,255,.24);color:#fff}
.chip__t{color:inherit}
.chip__n{display:inline-block;padding:1px 7px;background:var(--paper-2);color:var(--ink-3);
  font-family:Consolas,Menlo,monospace;font-size:12.5px}
.chip.is-on:hover{color:#fff}
.filter__meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-size:13.5px;color:var(--ink-2)}
.filter__meta #listCount{font-family:Consolas,Menlo,monospace;font-weight:700;color:var(--blue)}
.filter__hint{color:var(--ink-3)}
.empty{padding:34px 22px;border:1px dashed var(--line-2);text-align:center;color:var(--ink-2);
  font-size:15px;background:var(--paper)}
/* 头条大卡 */
.leadrow{display:grid;grid-template-columns:1.16fr 1fr;background:var(--card);
  border:2px solid var(--ink);color:var(--ink);box-shadow:var(--sh-duo);
  transition:transform .16s ease}
.leadrow:hover{transform:translate(-3px,-3px);color:var(--ink)}
.leadrow__media{display:block;border-right:3px solid var(--blue);min-width:0}
.leadrow__media img{width:100%;height:100%;aspect-ratio:640/400;object-fit:cover}
.leadrow__body{display:flex;flex-direction:column;gap:11px;padding:26px 26px 24px;min-width:0}
.leadrow__kicker{align-self:flex-start;padding:4px 11px;background:var(--pink);color:#fff;
  font-size:12.5px;font-weight:700;letter-spacing:.08em}
.leadrow__t{font-size:23px;font-weight:700;line-height:1.4}
.leadrow__s{font-size:14.5px;color:var(--ink-2);line-height:1.7}
.leadrow__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:auto;
  padding-top:12px;border-top:1px dashed var(--line-2);
  font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.leadrow__cat{color:var(--pink);font-weight:700;font-family:inherit}
.leadrow__d,.leadrow__r{display:inline-flex;align-items:center;gap:6px}
.leadrow__meta .i{width:14px;height:14px;color:var(--blue)}
/* 缩略图行（3 列网格，条数必须是 3 的整数倍） */
.rowgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rowline{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  color:var(--ink);min-width:0;transition:transform .16s ease,box-shadow .16s ease}
.rowline:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--pink-raw);color:var(--ink)}
.rowline__media{display:block;border-bottom:3px solid var(--blue)}
.rowline__media img{width:100%;height:auto;aspect-ratio:640/400;object-fit:cover}
.rowline__body{display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;flex:1 1 auto}
.rowline__cat{align-self:flex-start;padding:3px 9px;background:var(--blue-t);color:var(--blue);
  font-size:12px;font-weight:700}
.rowline__t{font-size:16px;font-weight:700;line-height:1.5}
.rowline__s{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.rowline__meta{display:flex;align-items:center;gap:10px;margin-top:auto;
  padding-top:10px;font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.rowline__r{display:inline-flex;align-items:center;gap:5px}
.rowline__meta .i{width:14px;height:14px;color:var(--ink-3)}
/* 台账式无缩略图列表：容器 border-top + 每项 border-bottom（全项一致的语式） */
.plainlist{border-top:2px solid var(--ink)}
.plain{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:20px;align-items:center;
  padding:16px 4px;border-bottom:1px solid var(--line)}
.plain__d{font-family:Consolas,Menlo,monospace;font-size:19px;font-weight:700;color:var(--blue);
  text-align:center;padding:8px 0;background:var(--paper-2);text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.plain__body{display:flex;flex-direction:column;gap:5px;min-width:0}
.plain__t{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.5}
.plain__t:hover{color:var(--blue)}
.plain__s{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.plain__meta{display:flex;align-items:center;gap:16px;font-family:Consolas,Menlo,monospace;
  font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.plain__cat{color:var(--pink);font-weight:700;font-family:inherit}
.plain__r{display:inline-flex;align-items:center;gap:5px}
.plain__meta .i{width:14px;height:14px;color:var(--ink-3)}
/* 分页 */
.pager{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-top:6px}
.pager__info{font-size:13.5px;color:var(--ink-2);font-family:Consolas,Menlo,monospace}
.pager__list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pager__it{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:var(--card);
  border:1px solid var(--line-2);color:var(--ink);font-size:14.5px;font-weight:600}
.pager__it:hover{border-color:var(--blue);color:var(--blue)}
.pager__it--on{background:var(--blue);border-color:var(--blue);color:#fff;
  box-shadow:4px 4px 0 var(--pink-raw)}
.pager__it--on:hover{color:#fff}
/* 禁用态也要过 4.5:1（三级灰是最容易踩的） */
.pager__it--off{color:var(--ink-3);background:var(--paper-2);border-color:var(--line);cursor:not-allowed}
.pager__it .i{width:15px;height:15px}
/* 通栏服务带 */
.srvband{margin-top:38px}
.srvband__box{display:grid;grid-template-columns:1.1fr 1.3fr;gap:34px;align-items:center;
  padding:30px 32px;background:var(--deep);color:var(--on-deep);box-shadow:var(--sh-duo)}
.srvband__copy{min-width:0}
.srvband__kicker{font-family:Consolas,Menlo,monospace;font-size:12.5px;letter-spacing:.16em;
  color:var(--pink-l);margin-bottom:10px}
.srvband__t{font-size:21px;color:var(--on-deep)}
.srvband__d{margin-top:8px;font-size:14.5px;color:var(--on-deep-2)}
.srvband__list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:center}
.srvband__it{display:flex;flex-direction:column;gap:6px;min-width:0}
.srvband__no{font-family:Consolas,Menlo,monospace;font-size:20px;font-weight:700;color:var(--pink-l)}
.srvband__it-t{font-size:14px;color:var(--on-deep)}
.srvband__cta{min-width:0}

/* ------------------------------------------------------------ 22. 侧栏 widget */
.side-rail,.art-side__rail{display:flex;flex-direction:column;gap:22px;min-width:0}
.widget{background:var(--card);border:1px solid var(--line);min-width:0}
.widget__head{padding:15px 18px 13px;background:var(--paper-2);border-bottom:1px solid var(--line);
  border-top:4px solid var(--blue)}
.widget__kicker{font-family:Consolas,Menlo,monospace;font-size:11.5px;letter-spacing:.16em;
  color:var(--pink)}
.widget__t{font-size:17px;margin-top:4px}
.widget__body{padding:14px 18px 18px}
/* 目录 */
.toc__list{display:flex;flex-direction:column}
.toc__i{border-bottom:1px dashed var(--line-2)}
.toc__i:last-child{border-bottom:0}
.toc__link{display:flex;gap:12px;padding:11px 0;color:var(--ink-2);font-size:14.5px;
  border-left:3px solid transparent;padding-left:10px}
.toc__link:hover{color:var(--blue)}
.toc__link.is-on{color:var(--blue);font-weight:700;border-left-color:var(--pink)}
.toc__no{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3);flex:0 0 auto;
  padding-top:3px}
.toc__t{min-width:0}
.toc__link.is-on .toc__no{color:var(--pink)}
/* 业务领域导航 */
.wcatnav__list{display:flex;flex-direction:column}
.wcatnav__it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;
  border-bottom:1px dashed var(--line-2);color:var(--ink-2);font-size:14.5px}
.wcatnav__list li:last-child .wcatnav__it{border-bottom:0}
.wcatnav__it:hover{color:var(--blue)}
.wcatnav__t{min-width:0}
.wcatnav__n{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3);flex:0 0 auto}
/* 热读排行 */
.whot__list{display:flex;flex-direction:column;counter-reset:whot}
.whot__link{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:baseline;
  padding:11px 0;border-bottom:1px dashed var(--line-2);color:var(--ink-2);font-size:14.5px}
.whot__it:last-child .whot__link{border-bottom:0}
.whot__link:hover{color:var(--blue)}
.whot__no{font-family:Consolas,Menlo,monospace;font-size:15px;font-weight:700;color:var(--blue);
  text-align:center;text-shadow:2px 2px 0 rgba(238,43,98,.45)}
.whot__no.is-top{background:var(--blue);color:#fff;padding:2px 0;text-shadow:none}
.whot__t{min-width:0;line-height:1.5}
.whot__n{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3);flex:0 0 auto}
/* 同题材延伸（文章侧栏）：日期在左的双列台账语式，兼作内链与配平 */
.wsame__list{display:flex;flex-direction:column}
.wsame__it{border-bottom:1px dashed var(--line-2)}
.wsame__it:last-child{border-bottom:0}
.wsame__link{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:baseline;
  padding:11px 0;color:var(--ink-2);font-size:14.5px}
.wsame__link:hover{color:var(--blue)}
.wsame__d{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--ink-3)}
.wsame__t{min-width:0;line-height:1.5;overflow-wrap:break-word}
/* 页脚内链：末项无下框线，由这条上框线收口 */
.wsame__more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line-2);color:var(--blue);font-size:13.5px;font-weight:700}
.wsame__more .i{width:14px;height:14px}
.wsame__more:hover{color:var(--pink)}
/* 法规速查 */
.wlaw__list{display:flex;flex-direction:column}
.wlaw__it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 0;
  border-bottom:1px dashed var(--line-2)}
.wlaw__list li:last-child{border-bottom:0}
.wlaw__list li:last-child .wlaw__it{border-bottom:0}
.wlaw__code{font-size:14.5px;font-weight:700;color:var(--ink)}
.wlaw__d{font-family:Consolas,Menlo,monospace;font-size:12.5px;color:var(--blue);text-align:right}
.wlaw__k{font-size:12.5px;color:var(--ink-2)}
/* 关键时限 */
.wlimit__it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;
  border-bottom:1px dashed var(--line-2)}
.wlimit__list li:last-child{border-bottom:0}
.wlimit__t{font-size:14.5px;color:var(--ink-2);min-width:0}
.wlimit__d{font-family:Consolas,Menlo,monospace;font-size:14px;font-weight:700;color:var(--pink);
  flex:0 0 auto}
/* 材料自查清单 */
.wcheck__list{display:flex;flex-direction:column;gap:11px}
.wcheck__it{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:var(--ink-2)}
.wcheck__it .i{color:var(--blue);margin-top:4px;width:15px;height:15px;flex:0 0 auto}
/* 免责说明 */
.wnotice{border-top-color:var(--pink)}
.wnotice .widget__head{border-top-color:var(--pink)}
.wnotice__p{font-size:13.5px;color:var(--ink-2);line-height:1.75}
/* 咨询 CTA */
.wcta{border:2px solid var(--deep);background:var(--deep);color:var(--on-deep);
  padding:24px 20px 22px;display:flex;flex-direction:column;gap:10px;
  box-shadow:6px 6px 0 var(--pink-raw)}
.wcta__kicker{font-family:Consolas,Menlo,monospace;font-size:11.5px;letter-spacing:.16em;
  color:var(--pink-l)}
.wcta__t{font-size:18px;color:var(--on-deep);line-height:1.45}
.wcta__p{font-size:13.5px;color:var(--on-deep-2);line-height:1.65}
.wcta .btn{margin-top:6px;align-self:flex-start;border-color:var(--pink);background:var(--pink)}
.wcta__tel{display:inline-flex;align-items:center;gap:8px;margin-top:4px;
  font-family:Consolas,Menlo,monospace;font-size:17px;font-weight:700;color:var(--pink-l)}
.wcta__tel:hover{color:#fff}
.wcta__tel .i{width:18px;height:18px}
/* 标签云 */
.wtag__list{display:flex;flex-wrap:wrap;gap:9px}
.wtag__it{display:inline-block;padding:6px 11px;background:var(--paper-2);
  border:1px solid var(--line);color:var(--ink-2);font-size:13px}
.wtag__it:hover{background:var(--blue);border-color:var(--blue);color:#fff}
/* 侧栏问答 */
.wfaq__list{display:flex;flex-direction:column}
.wfaq__it{border-bottom:1px dashed var(--line-2)}
.wfaq__list .wfaq__it:last-child{border-bottom:0}
.wfaq__q{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;
  cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;color:var(--ink)}
.wfaq__q::-webkit-details-marker{display:none}
.wfaq__q::marker{content:""}
.wfaq__q .i{width:15px;height:15px;color:var(--blue);flex:0 0 auto}
.wfaq__it[open] .wfaq__q{color:var(--blue)}
.wfaq__it[open] .wfaq__q .i{transform:rotate(45deg)}
.wfaq__q-t{min-width:0}
.wfaq__a{padding:0 0 12px;font-size:13.5px;color:var(--ink-2);line-height:1.7}

/* ------------------------------------------------------------ 23. 文章页 */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start;
  padding-block:44px 0}
.art-main{min-width:0}
.art-side{align-self:stretch;min-width:0}
.art-head{padding-bottom:24px;border-bottom:3px solid var(--ink);margin-bottom:26px}
.art-head__cat{display:inline-block;padding:4px 11px;background:var(--blue);color:#fff;
  font-size:12.5px;font-weight:700;letter-spacing:.06em;box-shadow:4px 4px 0 var(--pink-raw)}
.art-head__title{font-size:clamp(25px,3.2vw,37px);margin-top:16px;line-height:1.35}
.art-head__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px;
  font-family:Consolas,Menlo,monospace;font-size:13px;color:var(--ink-3)}
.art-head__meta > span{display:inline-flex;align-items:center;gap:6px}
.art-head__meta .i{width:15px;height:15px;color:var(--blue)}
.art-head__desc{margin-top:18px;padding:16px 18px;background:var(--paper-2);
  border-left:5px solid var(--pink);color:var(--ink-2);font-size:15px;line-height:1.8}
/* 正文：中文栏宽用 em（用 ch 会在约 400px 处就折行） */
.art-body{font-size:16.5px;line-height:1.9;color:var(--ink)}
.art-body p{margin:0 0 18px}
.art-body h2{font-size:23px;margin:38px 0 16px;padding-left:14px;border-left:6px solid var(--blue)}
.art-body h3{font-size:19px;margin:26px 0 12px;padding-left:24px;position:relative}
.art-body h3::before{content:"";position:absolute;left:0;top:.34em;width:12px;height:12px;
  background:var(--pink-raw)}
.art-body ul{margin:0 0 18px;padding-left:2px}
.art-body ul li{position:relative;padding-left:22px;margin-bottom:9px}
.art-body ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;
  background:var(--blue)}
.art-body blockquote{margin:26px 0;padding:20px 24px;background:var(--paper-2);
  border-left:6px solid var(--ink)}
.art-body blockquote p{font-size:17px;color:var(--ink);margin-bottom:10px}
.art-body blockquote cite{font-size:13.5px;color:var(--ink-3);font-style:normal}
.tipbox,.note{display:flex;gap:12px;margin:24px 0;padding:18px 20px;font-size:15px;line-height:1.8}
.tipbox{background:var(--blue-t);border-left:5px solid var(--blue);color:var(--ink)}
.note{background:var(--pink-t);border-left:5px solid var(--pink);color:var(--ink)}
.tipbox .i,.note .i{flex:0 0 auto;margin-top:5px;width:18px;height:18px}
.tipbox .i{color:var(--blue)}
.note .i{color:var(--pink-d)}
.tipbox p,.note p{margin:0}
/* 宽表格：外层可横向滚动；窄屏转键值堆叠（列不会被裁掉） */
.doc-table{margin:24px 0;overflow-x:auto;border:1px solid var(--line-2);background:var(--card)}
.doc-table table{width:100%;min-width:520px;font-size:14.5px}
.doc-table caption{caption-side:top;text-align:left;padding:12px 14px;color:var(--ink-3);
  font-size:13px;border-bottom:1px solid var(--line)}
.doc-table th,.doc-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;
  vertical-align:top}
.doc-table thead th{background:var(--deep);color:var(--on-deep);font-weight:700;white-space:nowrap}
.doc-table tbody th{background:var(--paper-2);font-weight:700;white-space:nowrap}
.doc-table tbody tr:last-child th,.doc-table tbody tr:last-child td{border-bottom:0}
/* 流程 */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}
.flow__it{display:flex;flex-direction:column;gap:8px;padding:20px 18px;background:var(--card);
  border:1px solid var(--line);border-top:4px solid var(--blue);min-width:0}
.flow__no{font-family:Consolas,Menlo,monospace;font-size:22px;font-weight:700;color:var(--blue);
  text-shadow:3px 3px 0 rgba(238,43,98,.45)}
.flow__t{font-size:16px;font-weight:700}
.flow__d{font-size:13.5px;color:var(--ink-2);line-height:1.65}
/* 关键词条 */
.kwbox{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:26px 0 0;padding-top:20px;
  border-top:1px dashed var(--line-2)}
.kwbox__k{font-size:13px;font-weight:700;color:var(--pink);letter-spacing:.06em}
.kwbox__it{padding:5px 11px;background:var(--paper-2);border:1px solid var(--line);
  font-size:13px;color:var(--ink-2)}
/* 标签 */
.art-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.art-tags__k{font-size:13px;font-weight:700;color:var(--ink-3);font-family:Consolas,Menlo,monospace}
.art-tags__it{padding:6px 12px;background:var(--blue-t);border:1px solid var(--line);
  color:var(--blue);font-size:13px}
.art-tags__it:hover{background:var(--blue);color:#fff}
/* 续读区（通栏，不在两栏网格内 —— 否则右栏会被拉出空柱，law31） */
.art-more{padding-block:46px 0}
.art-sec{padding-top:38px}
.art-tools{padding-top:8px}
.art-tools__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.art-tools__grid > .widget{height:100%}
.prevnext{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:38px}
.prevnext__it{display:flex;flex-direction:column;gap:8px;padding:20px 22px;background:var(--card);
  border:1px solid var(--line);border-left:5px solid var(--blue);color:var(--ink);min-width:0;
  transition:transform .16s ease,box-shadow .16s ease}
.prevnext__it--prev{border-left:5px solid var(--blue)}
.prevnext__it--next{text-align:right;border-left:0;border-right:5px solid var(--pink)}
.prevnext__it:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--pink-raw);color:var(--ink)}
.prevnext__k{display:inline-flex;align-items:center;gap:7px;font-family:Consolas,Menlo,monospace;
  font-size:12.5px;color:var(--ink-3)}
.prevnext__it--next .prevnext__k{justify-content:flex-end}
.prevnext__t{font-size:16px;font-weight:700;line-height:1.5}

/* ------------------------------------------------------------ 24. 响应式 */
@media (max-width:1199px){
  :root{--gut:20px}
  .nav__link{padding:9px 10px;font-size:15px}
}
@media (max-width:1099px){
  /* 抽屉断点：与 JS 的 min-width:1100px 判定互补（两侧必须一致） */
  .header-main{gap:12px 20px}
  .brand{order:1}
  .header-side{order:2;margin-left:auto}
  .nav-toggle{order:3;display:inline-flex;margin-left:0}
  /* 折叠态下导航必须永远排在最后一行（law10）：汉堡的 order 必须**小于** nav 的 ——
     nav 是 flex:1 0 100%，它会先占满一整行；汉堡若排在它后面就会被顶到第三行
     （law43 实测：汉堡落到 left=20/top=118 的下一行，页头 79→138px） */
  .nav{order:4;flex:1 0 100%;min-width:0;max-width:none}
  .site-header.is-collapsible .nav{max-height:0;overflow:hidden}
  .site-header.is-collapsible.is-open .nav{max-height:none;overflow:visible}
  .site-header.is-collapsible.is-open .nav-toggle{background:var(--blue);border-color:var(--blue);
    color:#fff}
  .site-header.is-collapsible.is-open .nav-toggle .i{color:#fff}
  .site-header.is-collapsible .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .site-header.is-collapsible .nav__link{border-bottom:1px solid var(--line);border-left:0;
    padding:13px 4px}
  .site-header.is-collapsible .nav__link.is-on{border-bottom-color:var(--line);
    border-left:5px solid var(--blue);padding-left:14px}
  .header-cta{display:none}
  /* 无 JS 降级：导航换行铺满、可点；汉堡按钮藏掉（点了没反应） */
  .site-header:not(.is-collapsible) .nav{flex:1 0 100%}
  .site-header:not(.is-collapsible) .nav__list{flex-wrap:wrap}
  .site-header:not(.is-collapsible) .nav-toggle{display:none}
  .hero__inner{grid-template-columns:1fr;row-gap:30px}
  .hero__copy,.hero__art,.hero__facts{grid-column:1;grid-row:auto}
  .hero__art{order:2}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .news-layout,.art-layout{grid-template-columns:1fr;gap:38px}
  .form-wrap{grid-template-columns:1fr;gap:30px}
  .srvband__box{grid-template-columns:1fr;gap:24px}
  .srvband__list{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:repeat(2,1fr);gap:30px}
}
@media (max-width:899px){
  .sec{padding-block:42px 0}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps__it:nth-child(odd){border-left:0}
  .promise{grid-template-columns:repeat(2,1fr)}
  .duo{grid-template-columns:1fr;gap:14px}
  .tri{grid-template-columns:repeat(2,1fr);gap:22px}
  .rowgrid{grid-template-columns:repeat(2,1fr)}
  .faq{grid-template-columns:1fr}
  .links{grid-template-columns:1fr;gap:26px}
  .about{grid-template-columns:1fr;gap:28px}
  .flow{grid-template-columns:1fr}
  .art-tools__grid{grid-template-columns:1fr}
  .tcard--lead{grid-template-columns:1fr}
  .tcard--lead .tcard__media{border-right:0;border-bottom:3px solid var(--blue)}
  .tcard--lead .tcard__media img{height:auto;min-height:0;aspect-ratio:640/400}
  .leadrow{grid-template-columns:1fr}
  .leadrow__media{border-right:0;border-bottom:3px solid var(--blue)}
  .leadrow__media img{height:auto;aspect-ratio:640/400}
  .hero__facts{grid-template-columns:repeat(2,1fr)}
  .hero__fact:nth-child(odd){border-left:0}
  .hero__fact:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}
}
@media (max-width:620px){
  :root{--gut:16px}
  .sec{padding-block:36px 0}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .tri{grid-template-columns:1fr}
  .rowgrid{grid-template-columns:1fr}
  .promise{grid-template-columns:1fr}
  .plain{grid-template-columns:56px minmax(0,1fr);gap:14px}
  .plain__meta{grid-column:2;gap:12px}
  .form-grid{grid-template-columns:1fr;gap:16px}
  .form-card{padding:28px 20px 24px}
  .form-side{padding:24px 20px}
  .footer-main{grid-template-columns:1fr}
  .prevnext{grid-template-columns:1fr}
  .srvband__list{grid-template-columns:1fr}
  .sec-head{gap:14px}
  .sec-head__more{margin-top:0}
  .tcard--lead .tcard__t,.leadrow__t{font-size:20px}
  .form-side__tel{font-size:22px}
  .page-banner__fact{padding-right:18px;margin-right:18px}
}
@media (max-width:559px){
  .header-cta{display:none}
  .topbar__meta .topbar__it.topbar__addr{display:none}
  .topbar__meta .topbar__it.topbar__note{display:none}
  .brand__sub{display:none}
  .topbar__inner{gap:10px}
}
/* 窄屏表格转键值堆叠：字段名由 data-label 注入（列不会被裁掉） */
@media (max-width:767px){
  .doc-table table{min-width:0;display:block}
  .doc-table thead{display:none}
  .doc-table tbody,.doc-table tr{display:block}
  .doc-table caption{padding:10px 12px}
  .doc-table tbody th{display:block;width:100%;border-bottom:1px solid var(--line)}
  .doc-table tbody th:first-child{background:var(--blue);color:#fff;border-bottom:0}
  .doc-table td{display:grid;grid-template-columns:7em minmax(0,1fr);gap:10px;align-items:start}
  .doc-table td::before{content:attr(data-label);font-weight:700;color:var(--ink-2);
    white-space:normal}
}
/* 移动底栏：窄屏打开。提特异性压过基础 display:none（law14/16） */
@media (max-width:899px){
  body{padding-bottom:58px}
  body .mobile-bar{display:grid;grid-template-columns:repeat(3,1fr)}
}

/* ------------------------------------------------------------ 25. 回到顶部 */
.totop{position:fixed;right:18px;bottom:26px;z-index:65;display:flex;align-items:center;gap:7px;
  padding:11px 15px;background:var(--card);border:2px solid var(--ink);color:var(--ink);
  font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:4px 4px 0 var(--pink-raw)}
.totop:hover{background:var(--ink);color:var(--paper)}
.totop .i{width:15px;height:15px}
.totop__t{color:inherit}
@media (max-width:899px){.totop{bottom:74px;right:12px}}
@media print{.totop{display:none}}

/* ------------------------------------------------------------ 26. 目录 widget 与长串换行 */
/* .wtoc 是「目录」widget 的容器标记（同一份 .toc 结构在文章侧栏复用） */
.wtoc .toc__list{border-left:2px solid var(--blue);padding-left:12px}
/* 中文长标题 / 无空格长串在窄栏里必须能断 */
.sec-head__title{overflow-wrap:break-word}
.tcard__t,.tcard__s{overflow-wrap:break-word}
.duo__t,.tri__t,.plain__t{overflow-wrap:break-word}
.leadrow__t,.rowline__t,.prevnext__t{overflow-wrap:break-word}
.toc__t,.whot__t,.art-body p,.art-body li{overflow-wrap:break-word}
