@charset "UTF-8";
/* ==========================================================================
   law33 · 律衡网 · 活页索引（Loose-leaf Index）
   主题：霜紫纸 + 深靛紫 + 铜金点缀
   签名结构：菱形序号 .num / 折角卡 .fold / 双细线夹标题 .sec-head / 虚线活页分隔
   字体本地化：全部使用系统字体栈（PingFang SC / 微软雅黑 / 思源黑体），
             不加载任何远程字体，也不引入任何位图与 CDN 资源。
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --wrap:1200px;
  --pad:20px;

  --bg:#f4f2f7;
  --bg-2:#ebe7f2;
  --card:#ffffff;

  --ink:#1b1526;
  --ink-2:#3b3350;
  --muted:#5d5675;

  --brand:#5b2f8e;
  --brand-2:#7440b0;
  --brand-3:#e6dcf4;
  --brand-lt:#b58fe0;

  --deep:#231536;
  --deep-2:#2f2145;
  --deep-tx:#f2eef9;
  --deep-mu:#b9aecf;

  --gold:#7d5719;
  --gold-lt:#e8b75c;
  --gold-3:#f3e3c8;

  --line:#dcd5e6;
  --line-2:#c9c0d9;
  --ok:#1f6b4a;
  --err:#a3213c;

  --sh:0 1px 2px rgba(27,21,38,.05), 0 14px 30px -20px rgba(27,21,38,.30);
  --r:14px;
  --t:.24s ease;
}

/* ---------- 2. 复位 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.75 "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  overflow-x:hidden;
  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; }
.i{ width:17px; height:17px; max-width:none; fill:currentColor; stroke:none; }
.sprite{ position:absolute; width:0; height:0; overflow:hidden; }

h1,h2,h3,h4,p,ul,ol,figure{ margin:0; }
ul,ol{ padding:0; list-style:none; }
a{ color:var(--brand); text-decoration:none; }
a:hover{ color:var(--brand-2); }
button,input,select,textarea{ font:inherit; color:inherit; }
[hidden]{ display:none !important; }
:focus-visible{ outline:2px solid var(--brand-2); outline-offset:2px; }

.sr-only,.skip{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip{
  left:0; top:-100px; z-index:200; width:auto; height:auto; margin:0; padding:12px 20px;
  background:var(--brand); color:#fff; border-radius:0 0 12px 0;
}
.skip:focus{ clip:auto; top:0; }

/* ---------- 3. 布局 ---------- */
.wrap{
  max-width:var(--wrap);
  margin-inline:auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
  padding-top:0;
  padding-bottom:0;
}
.sec{ position:relative; }
.sec__wrap{ padding-block:78px; }
.sec--tint{ background:var(--bg-2); }
.sec--tint .fold{ --fold:var(--bg-2); }

/* ---------- 4. 签名零件 ---------- */
.num{
  position:relative; width:30px; height:30px; display:inline-grid; place-items:center;
  flex:0 0 auto; font:700 12.5px/1 "Consolas","Menlo","Courier New",monospace; color:var(--brand);
}
.num::before{
  content:''; position:absolute; inset:0; background:var(--brand-3);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.num > i{ position:relative; font-style:normal; }
.num--lg{ width:38px; height:38px; font-size:14px; }
.sec--deep .num{ color:var(--deep); }
.sec--deep .num::before{ background:var(--gold-lt); }

.fold{ position:relative; display:block; overflow:hidden; border-radius:12px; }
.fold::after{
  content:''; position:absolute; top:0; right:0; width:0; height:0; border-style:solid;
  border-width:0 30px 30px 0;
  border-color:transparent var(--fold,#ffffff) transparent transparent;
}

.sec-head{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:0 26px; align-items:center;
  padding-top:16px; padding-bottom:20px; margin-bottom:38px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.sec-head::after{
  content:''; position:absolute; left:0; bottom:-4.5px; width:9px; height:9px; background:var(--gold);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.sec-head__eyebrow{
  grid-column:1; display:flex; align-items:center; gap:10px; margin-bottom:10px;
  font-size:12.5px; letter-spacing:.16em; color:var(--muted);
}
.sec-head__no{
  display:inline-grid; place-items:center; width:26px; height:26px;
  background:var(--deep); color:var(--gold-lt);
  font:700 11px/1 "Consolas","Menlo","Courier New",monospace;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.sec-head__title{ grid-column:1; font-size:clamp(22px,2.6vw,31px); line-height:1.3; letter-spacing:-.01em; overflow-wrap:break-word; }
.sec-head__lead{ grid-column:1; margin-top:12px; max-width:46em; font-size:14.5px; color:var(--muted); }
.sec-head__more{
  grid-column:2; grid-row:1/span 3; align-self:center;
  display:inline-flex; align-items:center; gap:8px; font-size:14px; white-space:nowrap;
  color:var(--brand); padding-bottom:2px; border-bottom:1px solid var(--brand-3);
}
.sec-head__more .i{ transition:transform var(--t); }
.sec-head__more:hover .i{ transform:translateX(4px); }

/* ---------- 5. 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 22px; border:1px solid transparent; border-radius:999px;
  font-size:15px; font-weight:600; text-align:center; cursor:pointer;
  transition:background var(--t), color var(--t), border-color var(--t), transform var(--t);
}
.btn > .btn__t{ color:inherit; }
.btn:hover{ transform:translateY(-2px); }
.btn--brand{ background:var(--brand); color:#fff; }
.btn--brand:hover{ background:var(--brand-2); color:#fff; }
.btn--ghost{ background:transparent; color:var(--brand); border-color:var(--line-2); }
.btn--ghost:hover{ border-color:var(--brand); color:var(--brand); }
.btn--gold{ background:var(--gold-lt); color:#3a2708; }
.btn--gold:hover{ background:#f0c877; color:#3a2708; }
.btn--lg{ padding:14px 30px; font-size:16px; }
.btn--blk{ width:100%; }

/* ---------- 6. 顶部信息条 ---------- */
.topbar{ background:var(--deep); color:var(--deep-mu); font-size:13px; }
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; padding-block:9px; }
.topbar__note{ display:inline-flex; align-items:center; gap:8px; }
.topbar__note .i{ color:var(--gold-lt); }
.topbar__list{ display:flex; flex-wrap:wrap; gap:6px 20px; }
.topbar__list a{ color:var(--deep-mu); }
.topbar__list a:hover{ color:var(--gold-lt); }

/* ---------- 7. 页头与导航 ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(244,242,247,.95);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(1.4) blur(10px);
}
.header-main{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; padding-block:10px; min-height:72px; }
.brand{ display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; color:var(--ink); }
.brand__mark{
  width:38px; height:38px; display:grid; grid-template-columns:1fr; place-items:center; flex:0 0 auto;
  background:var(--deep); color:var(--gold-lt); font-size:19px; font-weight:700;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.brand__txt{ display:flex; flex-direction:column; line-height:1.24; }
.brand__name{ font-size:19px; font-weight:700; letter-spacing:.02em; }
.brand__sub{ font-size:10.5px; font-style:normal; letter-spacing:.14em; color:var(--muted); }
.nav{ flex:1 1 auto; min-width:0; }
.nav__list{ display:flex; align-items:center; justify-content:center; gap:2px; }
.nav__list > li{ flex:0 0 auto; }
.nav__link{
  position:relative; display:block; padding:9px 11px; border-radius:9px;
  color:var(--ink-2); font-size:15px; white-space:nowrap;
  transition:background var(--t), color var(--t);
}
.nav__link:hover{ background:var(--brand-3); color:var(--brand); }
.nav__link.is-on{ color:var(--brand); font-weight:600; }
.nav__link.is-on::after{
  content:''; position:absolute; left:11px; right:11px; bottom:2px; height:2px; background:var(--brand);
}
.header-side{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.header-cta{
  display:inline-flex; align-items:center; gap:7px; padding:9px 17px; border-radius:999px;
  background:var(--brand); color:#fff; font-size:14.5px; font-weight:500; white-space:nowrap;
}
.header-cta:hover{ background:var(--brand-2); color:#fff; }
.nav-toggle{
  display:none; width:42px; height:42px; place-items:center; flex:0 0 auto;
  background:var(--card); border:1px solid var(--line-2); border-radius:11px; color:var(--ink); cursor:pointer;
}
.nav-toggle .i{ width:20px; height:20px; }

/* ---------- 8. 首页 hero ---------- */
.hero{ position:relative; overflow:hidden; padding-top:60px; border-bottom:1px solid var(--line); }
.hero__inner{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:54px; align-items:start; }
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:20px;
  font-size:12.5px; letter-spacing:.14em; color:var(--brand);
}
.hero__dot{ width:9px; height:9px; background:var(--gold); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.hero__title{ font-size:clamp(30px,4.1vw,50px); line-height:1.22; letter-spacing:-.015em; margin-bottom:20px; }
.hero__hl{ color:var(--brand); box-shadow:inset 0 -.32em 0 var(--gold-3); }
.hero__lead{ max-width:36em; margin-bottom:28px; font-size:15.5px; color:var(--muted); }
.hero__acts{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px; }
.hero__keys{ display:flex; flex-wrap:wrap; gap:9px; }
.hero__keys a{
  display:inline-block; padding:5px 13px; border:1px dashed var(--line-2); border-radius:999px;
  font-size:13px; color:var(--ink-2); background:var(--card);
}
.hero__keys a:hover{ border-color:var(--brand); color:var(--brand); }
.hero__side{ position:relative; }
.hero-lite{
  position:relative; z-index:2; padding:22px 24px 18px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh);
}
.hero-lite__hd{
  display:flex; align-items:center; gap:9px; margin-bottom:6px; padding-bottom:12px;
  border-bottom:1px solid var(--line); font-size:14px; font-weight:700; color:var(--ink);
  overflow-wrap:break-word;
}
.hero-lite__hd .i{ color:var(--brand); }
.hero-lite__hd em{ margin-left:auto; font-size:12px; font-style:normal; color:var(--muted); }
.hero-lite__i a{ display:grid; grid-template-columns:30px minmax(0,1fr); gap:13px; padding:13px 0; border-bottom:1px dashed var(--line); color:inherit; }
.hero-lite__list > li:last-child a{ border-bottom:0; padding-bottom:4px; }
.hero-lite__b{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.hero-lite__b b{ font-size:15px; line-height:1.55; font-weight:600; overflow-wrap:break-word; }
.hero-lite__b em{ font-size:12.5px; font-style:normal; color:var(--muted); }
.hero-lite__i a:hover .hero-lite__b b{ color:var(--brand); }
.hero__deco{ position:absolute; right:0; bottom:-60px; width:264px; opacity:.55; z-index:1; pointer-events:none; }
.hero__deco img{ width:100%; height:auto; }
.hero__stats-wrap{ padding-top:0; }
.hero__stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.hero__stat{ display:flex; flex-direction:column; gap:3px; padding:20px 0 22px 22px; border-left:1px dashed var(--line-2); }
.hero__stat:first-child{ border-left:0; padding-left:0; }
.hero__stat b{ font:700 clamp(21px,2.4vw,28px)/1.2 "Consolas","Menlo",monospace; color:var(--brand); }
.hero__stat span{ font-size:13px; color:var(--muted); }

/* ---------- 9. 分类卡 ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.cat-card a{
  position:relative; display:flex; flex-direction:column; gap:9px; height:100%;
  padding:22px 20px 18px; background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  color:inherit; transition:border-color var(--t), transform var(--t), box-shadow var(--t);
}
.cat-card a::before{
  content:''; position:absolute; left:20px; right:20px; top:0; height:3px; background:var(--brand-3);
  border-radius:0 0 3px 3px; transition:background var(--t);
}
.cat-card a:hover{ border-color:var(--brand-lt); transform:translateY(-4px); box-shadow:var(--sh); }
.cat-card a:hover::before{ background:var(--gold); }
.cat-card__ic{ color:var(--brand); }
.cat-card__ic .i{ width:20px; height:20px; }
.cat-card__name{ margin-top:2px; font-size:17px; line-height:1.4; font-weight:700; }
.cat-card__desc{ font-size:13.5px; font-style:normal; line-height:1.7; color:var(--muted); overflow-wrap:break-word; }
.cat-card__foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:auto; padding-top:13px; border-top:1px dashed var(--line);
}
.cat-card__cnt{ font:600 12.5px/1 "Consolas","Menlo",monospace; color:var(--gold); }
.cat-card__foot .i{ color:var(--brand); transition:transform var(--t); }
.cat-card a:hover .cat-card__foot .i{ transform:translateX(4px); }

/* ---------- 10. 带缩略图卡 ---------- */
.thumb-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.tcard{ display:flex; }
.tcard__in{
  display:flex; flex-direction:column; height:100%; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; color:inherit;
  transition:border-color var(--t), transform var(--t), box-shadow var(--t);
}
.tcard__in:hover{ border-color:var(--brand-lt); transform:translateY(-4px); box-shadow:var(--sh); }
.tcard__media{ display:block; background:var(--bg-2); border-radius:0; }
.tcard__media img{ width:100%; height:auto; aspect-ratio:800/520; object-fit:cover; }
.tcard__body{ display:flex; flex-direction:column; gap:9px; flex:1 1 auto; padding:16px 17px 18px; }
.tcard__cat{
  align-self:flex-start; padding:3px 10px; border-radius:6px; background:var(--brand-3);
  color:var(--brand); font-size:12.5px; font-weight:600;
}
.tcard__title{ font-size:16px; line-height:1.55; font-weight:600; overflow-wrap:break-word; }
.tcard__ex{ font-size:13.5px; font-style:normal; line-height:1.7; color:var(--muted); overflow-wrap:break-word; }
.tcard__meta{
  display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:auto; padding-top:11px;
  border-top:1px dashed var(--line); font-size:12.5px; color:var(--muted);
}
.tcard__meta > span{ display:inline-flex; align-items:center; gap:5px; }
.tcard__in:hover .tcard__title{ color:var(--brand); }

/* ---------- 11. 双列 / 三列无缩略图 ---------- */
.listlines{ border-top:1px dashed var(--line); }
.duo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 44px; }
.duo__it{ border-bottom:1px solid var(--line); }
.duo__a{ display:grid; grid-template-columns:30px minmax(0,1fr); gap:15px; padding:19px 0; color:inherit; }
.duo__b{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.duo__title{ font-size:16.5px; line-height:1.55; font-weight:600; overflow-wrap:break-word; }
.duo__ex{ font-size:13.5px; font-style:normal; line-height:1.7; color:var(--muted); overflow-wrap:break-word; }
.duo__meta{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12.5px; color:var(--muted); }
.duo__meta > span{ display:inline-flex; align-items:center; gap:5px; }
.duo__a:hover .duo__title{ color:var(--brand); }
.duo__a:hover .num::before{ background:var(--gold-3); }

.tri{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 34px; }
.tri__it{ border-bottom:1px solid var(--line); }
.tri__a{ display:flex; flex-direction:column; padding:19px 0; color:inherit; }
.tri__title{ font-size:15.5px; line-height:1.6; font-weight:600; min-width:0; overflow-wrap:break-word; }
.tri__meta{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:9px; font-size:12.5px; color:var(--muted); }
.tri__a:hover .tri__title{ color:var(--brand); }

/* ---------- 12. 表单模块（深色区） ---------- */
.sec--deep{ background:var(--deep); color:var(--deep-tx); }
.sec--deep .sec-head__title{ color:#fff; }
.sec--deep .sec-head__eyebrow{ color:var(--deep-mu); }
.sec-head__eyebrow--deep{ color:var(--deep-mu); }
.consult{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:48px; align-items:start; }
.consult__side{ padding-top:4px; }
.consult__side > .sec-head__title{ margin-bottom:16px; font-size:clamp(22px,2.6vw,31px); line-height:1.3; color:#fff; }
.consult__lead{ max-width:34em; margin-bottom:24px; font-size:14.8px; color:var(--deep-mu); overflow-wrap:break-word; }
.consult__pts{ display:grid; grid-template-columns:minmax(0,1fr); gap:11px; margin-bottom:26px; }
.consult__pts li{ display:flex; align-items:flex-start; gap:9px; font-size:14px; color:var(--deep-tx); }
.consult__pts .i{ margin-top:4px; color:var(--gold-lt); }
.consult__calls{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }
.consult__calls li{ display:flex; align-items:center; gap:10px; font-size:14px; }
.consult__calls .i{ color:var(--gold-lt); }
.consult__calls a{ color:var(--gold-lt); }
.consult__calls a:hover{ color:#fff; }
.form-card{ padding:26px 26px 24px; background:var(--card); color:var(--ink); border-radius:var(--r); box-shadow:var(--sh); }
.form-card__title{ color:var(--ink); margin-bottom:18px; padding-bottom:13px; border-bottom:1px dashed var(--line); font-size:18px; font-weight:700; }
.form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; }
.field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.field--full{ grid-column:1/-1; }
.field__lb{ font-size:13.5px; color:var(--ink-2); }
.field__lb > i{ font-style:normal; color:var(--err); }
.field__in{
  width:100%; padding:11px 13px; border:1px solid var(--line-2); border-radius:10px;
  background:var(--bg); color:var(--ink); font-size:15px;
  transition:border-color var(--t), background var(--t);
}
.field__in::placeholder{ color:#8a83a0; }
.field__in:focus{ outline:2px solid var(--brand); outline-offset:1px; border-color:var(--brand); background:var(--card); }
.field__ta{ min-height:116px; resize:vertical; line-height:1.7; }
.field__hint{ font-size:12.5px; color:var(--muted); }
.field.is-invalid .field__lb{ color:var(--err); }
.field.is-invalid .field__in{ border-color:var(--err); background:#fdf5f7; }
.agree{ display:flex; align-items:flex-start; gap:10px; margin-top:18px; font-size:13.5px; color:var(--ink-2); overflow-wrap:break-word; }
.agree input{ flex:0 0 auto; margin-top:5px; width:16px; height:16px; accent-color:var(--brand); }
.agree.is-invalid{ color:var(--err); }
.agree.is-invalid a{ color:var(--err); }
.form-foot{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:20px; }
.form-foot__note{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--muted); }
.form-foot__note .i{ color:var(--ok); }
.form-alert{ display:none; margin-top:14px; padding:11px 15px; border-radius:10px; font-size:13.5px; }
.form-alert.is-on{ display:block; }
.form-alert.is-err{ background:#fbeef1; color:var(--err); border:1px solid #e8c4ce; }
.form-alert.is-ok{ background:#eef7f1; color:var(--ok); border:1px solid #bcdcc7; }

/* ---------- 13. 服务流程 / FAQ / 友链 ---------- */
.method{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.method__i{ display:flex; flex-direction:column; gap:9px; padding:24px 20px; background:var(--card); border:1px solid var(--line); border-radius:var(--r); }
.method__t{ font-size:16px; font-weight:700; }
.method__d{ font-size:13.5px; font-style:normal; line-height:1.75; color:var(--muted); overflow-wrap:break-word; }
.faq{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; align-items:start; }
.faq__d{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:0 20px; }
.faq__d[open]{ border-color:var(--brand-lt); }
.faq__q{
  display:flex; align-items:center; gap:12px; padding:16px 0; cursor:pointer;
  font-size:15.5px; font-weight:600; list-style:none; overflow-wrap:break-word;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q .i{ margin-left:auto; color:var(--muted); transition:transform var(--t); }
.faq__d[open] .faq__q .i{ transform:rotate(180deg); }
.faq__n{
  display:inline-grid; place-items:center; flex:0 0 auto; width:32px; height:32px;
  background:var(--bg-2); color:var(--brand);
  font:700 12px/1 "Consolas","Menlo",monospace;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.faq__a{ padding:14px 0 18px; border-top:1px dashed var(--line); }
.faq__a p{ font-size:14.5px; line-height:1.8; color:var(--muted); overflow-wrap:break-word; }
.links{  }
.links__grp{ padding:20px 22px; background:var(--card); border:1px solid var(--line); border-radius:var(--r); }
.links__hd{ margin-bottom:12px; padding-bottom:11px; border-bottom:1px dashed var(--line); font-size:14px; font-weight:700; color:var(--brand); }
.links__ul li{display: inline-block; margin-right: 15px; }
.links__ul a{ font-size:13.5px; color:var(--ink-2); overflow-wrap:break-word; }
.links__ul a:hover{ color:var(--brand); }

/* ---------- 14. 页脚 / 移动底栏 / 返回顶部 ---------- */
.site-footer{ position:relative; background:var(--deep); color:var(--deep-mu); }
.site-footer__rule{ width:100%; height:auto; opacity:.45; }
.footer-main{ display:grid; grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr)); gap:34px; padding-block:54px 46px; }
.footer-bio__brand{ display:flex; align-items:center; gap:12px; margin-bottom:14px; color:#fff; font-size:19px; font-weight:700; }
.footer-bio__brand .brand__mark{ width:34px; height:34px; font-size:17px; }
.footer-bio__desc{ max-width:34em; margin-bottom:20px; font-size:13.5px; line-height:1.85; overflow-wrap:break-word; }
.footer-bio__info{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.footer-bio__info li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; }
.footer-bio__info .i{ margin-top:4px; color:var(--gold-lt); }
.footer-bio__info a{ color:var(--deep-mu); }
.footer-bio__info a:hover{ color:var(--gold-lt); }
.footer-col__hd{ margin-bottom:14px; font-size:14px; font-weight:700; color:#fff; }
.footer-col__ul{ display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
.footer-col__ul a{ font-size:13.5px; color:var(--deep-mu); }
.footer-col__ul a:hover{ color:var(--gold-lt); }
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px;
  padding-block:18px 20px; border-top:1px solid rgba(255,255,255,.14); font-size:12.8px;
}
.footer-bottom__d{ display:inline-flex; align-items:center; flex-wrap:wrap; gap:9px; }
.footer-bottom a{ color:var(--deep-mu); }
.footer-bottom a:hover{ color:var(--gold-lt); }

.mobile-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:70;
  grid-template-columns:repeat(4,1fr);
  background:var(--card); border-top:1px solid var(--line);
  box-shadow:0 -8px 22px -16px rgba(27,21,38,.45);
}
.mobile-bar__a{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:9px 4px calc(9px + env(safe-area-inset-bottom,0px));
  color:var(--ink-2); font-size:11.5px; text-align:center;
}
.mobile-bar__a .i{ color:var(--brand); }
.mobile-bar__a:hover{ color:var(--brand); }
.to-top{
  position:fixed; right:18px; bottom:20px; z-index:65; width:44px; height:44px;
  display:grid; grid-template-columns:1fr; place-items:center; padding:0; border:0; border-radius:50%;
  background:var(--deep); color:var(--gold-lt); cursor:pointer;
  opacity:0; visibility:hidden;
  transition:opacity var(--t), visibility var(--t), transform var(--t);
}
.to-top.is-on{ opacity:1; visibility:visible; }
.to-top:hover{ transform:translateY(-3px); }

/* ---------- 15. 内页 banner 与面包屑 ---------- */
.page-banner{ position:relative; overflow:hidden; background:var(--deep); color:var(--deep-tx); }
.page-banner__deco{ position:absolute; right:3%; top:50%; transform:translateY(-50%); width:min(30vw,360px); height:auto; opacity:.66; }
.page-banner__inner{ position:relative; padding-block:62px 58px; }
.page-banner__eyebrow{ display:inline-flex; align-items:center; gap:9px; margin-bottom:14px; font-size:12.5px; letter-spacing:.16em; color:var(--gold-lt); }
.page-banner__title{ margin-bottom:16px; font-size:clamp(24px,3.3vw,40px); line-height:1.3; letter-spacing:-.01em; color:#fff; overflow-wrap:break-word; }
.page-banner__sub{ max-width:44em; font-size:15px; line-height:1.85; color:var(--deep-mu); overflow-wrap:break-word; }
.page-banner__tags{ display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.page-banner__tags li{ padding:5px 13px; border:1px solid rgba(255,255,255,.24); border-radius:999px; font-size:12.5px; color:var(--deep-mu); }
.crumb{ background:var(--bg-2); border-bottom:1px solid var(--line); }
.crumb__list{ padding-block:13px; }
.crumb__ol{ display:flex; flex-wrap:wrap; align-items:center; font-size:13px; }
.crumb__it{ display:inline-flex; align-items:center; color:var(--muted); }
.crumb__it a{ color:var(--muted); }
.crumb__it a:hover{ color:var(--brand); }
.crumb__it:not(:last-child)::after{ content:'/'; margin:0 12px; color:var(--line-2); }

/* ---------- 16. 列表页 ---------- */
.news-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:46px; align-items:start; padding-block:44px 80px; }
.news-main,.news-side{ min-width:0; }
.filter{
  display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px;
  padding:16px 20px; margin-bottom:26px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r);
}
.filter__lb{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink); }
.filter__lb .i{ color:var(--brand); }
.filter__cnt{ margin-left:auto; font-size:13px; color:var(--muted); }
.filter__cnt b{ color:var(--brand); font-family:"Consolas","Menlo",monospace; }
.chips{ display:flex; flex-wrap:wrap; gap:9px; }
.chip{
  display:inline-flex; align-items:center; padding:6px 14px; border-radius:999px;
  border:1px solid var(--line-2); background:var(--card); color:var(--ink-2);
  font-size:13.5px; cursor:pointer;
  transition:background var(--t), color var(--t), border-color var(--t);
}
.chip:hover{ border-color:var(--brand); color:var(--brand); }
.chip.is-on{ background:var(--brand); color:#fff; border-color:var(--brand); }
.leadrow{
  display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  margin-bottom:30px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); overflow:hidden;
}
.leadrow__media{ border-radius:0; background:var(--bg-2); }
.leadrow__media img{ width:100%; height:100%; aspect-ratio:800/520; object-fit:cover; }
.leadrow__body{ display:flex; flex-direction:column; gap:12px; padding:26px 30px; }
.leadrow__flags{ display:flex; align-items:center; gap:12px; font-size:12.5px; }
.leadrow__cat{ padding:3px 10px; border-radius:6px; background:var(--brand-3); color:var(--brand); font-weight:600; }
.leadrow__hot{ display:inline-flex; align-items:center; gap:5px; color:var(--gold); font-weight:600; }
.leadrow__title{ font-size:clamp(19px,2.1vw,25px); line-height:1.45; font-weight:700; overflow-wrap:break-word; }
.leadrow__title a{ color:var(--ink); }
.leadrow__title a:hover{ color:var(--brand); }
.leadrow__ex{ font-size:14.5px; line-height:1.8; color:var(--muted); overflow-wrap:break-word; }
.leadrow__meta{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:auto; padding-top:14px; border-top:1px dashed var(--line); font-size:12.5px; color:var(--muted); }
.leadrow__meta > span{ display:inline-flex; align-items:center; gap:6px; }
.rowgrid{ display:grid; grid-template-columns:minmax(0,1fr); border-top:1px dashed var(--line); }
.rowline{ border-bottom:1px solid var(--line); }
.rowline__a{ display:grid; grid-template-columns:196px minmax(0,1fr); gap:22px; align-items:start; padding:20px 0; color:inherit; }
.rowline__media{ --fold:var(--bg); background:var(--bg-2); }
.rowline__media img{ width:100%; height:auto; aspect-ratio:800/520; object-fit:cover; }
.rowline__b{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.rowline__title{ font-size:17px; line-height:1.55; font-weight:600; overflow-wrap:break-word; }
.rowline__ex{ font-size:13.5px; font-style:normal; line-height:1.7; color:var(--muted); overflow-wrap:break-word; }
.rowline__meta{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:auto; font-size:12.5px; color:var(--muted); }
.rowline__a:hover .rowline__title{ color:var(--brand); }
.plainlist{ display:grid; grid-template-columns:minmax(0,1fr); border-top:1px dashed var(--line); }
.plain__a{ display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:15px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); color:inherit; }
.plain__b{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.plain__title{ font-size:16px; line-height:1.55; font-weight:600; overflow-wrap:break-word; }
.plain__meta{ display:flex; flex-wrap:wrap; gap:5px 16px; font-size:12.5px; color:var(--muted); }
.plain__go{ color:var(--line-2); transition:color var(--t), transform var(--t); }
.plain__a:hover .plain__title{ color:var(--brand); }
.plain__a:hover .plain__go{ color:var(--brand); transform:translateX(4px); }
.empty{ padding:20px; border:1px dashed var(--line-2); border-radius:var(--r); color:var(--muted); text-align:center; font-size:14px; }
.pager{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px 20px; align-items:center; margin-top:34px; }
.pager__info{ font-size:13px; color:var(--muted); }
.pager__info b{ color:var(--brand); font-family:"Consolas","Menlo",monospace; }
.pager__list{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.pager__it{
  display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 12px;
  border:1px solid var(--line-2); border-radius:10px; color:var(--ink-2); font-size:14px;
}
.pager__it:hover{ border-color:var(--brand); color:var(--brand); }
.pager__it.is-on{ background:var(--brand); color:#fff; border-color:var(--brand); }
.pager__it.is-disabled{ background:var(--bg-2); color:var(--muted); border-color:var(--line); }

/* ---------- 17. 文章页 ---------- */
.art-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:46px; align-items:start; padding-block:44px 0; }
.art-main{ min-width:0; }
.art-side{ align-self:stretch; }
.art-meta{
  display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:22px; padding-bottom:16px;
  border-bottom:1px dashed var(--line); font-size:13px; color:var(--muted);
}
.art-meta__i{ display:inline-flex; align-items:center; gap:7px; }
.art-meta__i--tag{ color:var(--brand); font-weight:600; }
.art-lead{
  margin-bottom:28px; padding:18px 22px; background:var(--brand-3);
  border-left:3px solid var(--brand); border-radius:0 var(--r) var(--r) 0;
  font-size:15.5px; line-height:1.85; color:var(--ink-2); overflow-wrap:break-word;
}
.art-body{ font-size:16.5px; line-height:1.95; overflow-wrap:break-word; }
.art-body p{ margin-bottom:22px; }
.art-body h2{
  margin:46px 0 20px; padding-left:16px; border-left:4px solid var(--gold);
  font-size:clamp(19px,2.2vw,23px); line-height:1.5; overflow-wrap:break-word;
}
.art-body strong{ font-weight:700; color:var(--ink); }
.art-body em{ font-style:normal; color:var(--brand); border-bottom:1px dashed var(--brand-lt); }
.kwbox{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:26px; }
.kwbox__i{ padding:5px 14px; background:var(--card); border:1px solid var(--line); border-radius:999px; font-size:13px; color:var(--brand); }
.art-q{ margin-bottom:24px; padding:20px 24px; background:var(--bg-2); border-left:4px solid var(--line-2); border-radius:0 var(--r) var(--r) 0; }
.art-q p{ margin-bottom:10px; font-size:16px; line-height:1.85; color:var(--ink-2); }
.art-q cite{ font-size:13px; font-style:normal; color:var(--muted); }
.tipbox{ margin-bottom:24px; padding:18px 22px; background:var(--gold-3); border:1px solid #e2caa0; border-radius:var(--r); }
.tipbox__hd{ display:flex; align-items:center; gap:9px; margin-bottom:9px; font-size:14px; font-weight:700; color:var(--gold); }
.tipbox__t{ font-size:14.5px; line-height:1.85; color:var(--ink-2); }
.note{ margin-bottom:24px; padding:16px 20px; background:var(--bg-2); border:1px dashed var(--line-2); border-radius:var(--r); }
.note p{ margin-bottom:0; font-size:14.5px; line-height:1.85; color:var(--ink-2); }
.art-list{ display:grid; grid-template-columns:minmax(0,1fr); gap:13px; margin-bottom:24px; padding-left:24px; list-style:disc; }
.art-list > li{ padding-left:4px; line-height:1.85; overflow-wrap:break-word; }
.art-list > li::marker{ color:var(--brand); }
.table-wrap{ margin-bottom:26px; overflow-x:auto; }
.art-table{ width:100%; min-width:520px; border-collapse:collapse; font-size:14.5px; }
.art-table th{ padding:12px 15px; background:var(--deep); color:var(--deep-tx); text-align:left; font-size:14px; font-weight:600; }
.art-table td{ padding:12px 15px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; line-height:1.75; }
.art-table tbody tr:nth-child(even) td{ background:var(--bg-2); }
.art-code{
  margin-bottom:24px; padding:18px 20px; background:var(--deep); color:var(--deep-tx);
  border-radius:var(--r); font:13.5px/1.95 "Consolas","Menlo","Courier New",monospace;
  white-space:pre-wrap; overflow-wrap:break-word;
}
.flow{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.flow__i{ display:flex; flex-direction:column; gap:8px; padding:18px; background:var(--card); border:1px solid var(--line); border-radius:var(--r); }
.flow__t{ font-size:15.5px; font-weight:700; }
.flow__d{ font-size:13.5px; font-style:normal; line-height:1.75; color:var(--muted); overflow-wrap:break-word; }
.art-last{ margin-top:30px; padding:16px 0 0; border-top:1px dashed var(--line); font-size:13.5px; line-height:1.8; color:var(--muted); }
.art-foot{ margin-top:34px; padding-top:22px; border-top:1px solid var(--line); }
.art-tags{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:14px; }
.art-tags__i{ padding:5px 14px; background:var(--bg-2); border-radius:999px; font-size:13px; color:var(--ink-2); }
.art-cite{ font-size:12.5px; color:var(--muted); overflow-wrap:break-word; }

/* ---------- 18. 侧栏与 widget ---------- */
.side-rail{ display:flex; flex-direction:column; gap:18px; }
.art-side__rail{ display:flex; flex-direction:column; gap:18px; }
.widget{ padding:20px; background:var(--card); border:1px solid var(--line); border-radius:var(--r); }
.widget__hd{
  display:flex; align-items:center; gap:9px; margin-bottom:14px; padding-bottom:11px;
  border-bottom:1px dashed var(--line); font-size:14.5px; font-weight:700; color:var(--ink);
}
.widget__hd .i{ color:var(--brand); }
.toc{ display:grid; grid-template-columns:minmax(0,1fr); gap:2px; }
.toc__link{
  display:block; padding:8px 10px 8px 13px; border-left:2px solid transparent;
  color:var(--ink-2); font-size:13.5px; line-height:1.6; overflow-wrap:break-word;
}
.toc__link:hover{ color:var(--brand); }
.toc__link.is-on{
  color:var(--brand); border-left-color:var(--brand); background:var(--brand-3);
  border-radius:0 8px 8px 0; font-weight:600;
}
.hot{ display:grid; grid-template-columns:minmax(0,1fr); }
.hot__i > a{ display:grid; grid-template-columns:26px minmax(0,1fr); gap:10px; padding:11px 0; border-bottom:1px solid var(--line); color:inherit; }
.hot__i:last-child > a{ border-bottom:0; }
.hot__n{
  display:inline-grid; place-items:center; width:26px; height:26px; flex:0 0 auto;
  background:var(--bg-2); color:var(--brand);
  font:700 11.5px/1 "Consolas","Menlo",monospace;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.hot__t{ font-size:13.5px; line-height:1.6; font-weight:600; overflow-wrap:break-word; }
.hot__v{ grid-column:2; font-size:12px; font-style:normal; color:var(--muted); }
.hot__i > a:hover .hot__t{ color:var(--brand); }
.lawlist{ display:grid; grid-template-columns:minmax(0,1fr); }
.lawlist__i > a{ display:flex; flex-direction:column; gap:4px; padding:11px 0; border-bottom:1px solid var(--line); color:inherit; }
.lawlist__i:last-child > a{ border-bottom:0; }
.lawlist__i b{ font-size:13.5px; line-height:1.55; color:var(--brand); overflow-wrap:break-word; }
.lawlist__i em{ font-size:12.5px; font-style:normal; color:var(--muted); overflow-wrap:break-word; }
.lawlist__i > a > span{ font:600 12px/1.4 "Consolas","Menlo",monospace; color:var(--gold); }
.chips--static{ display:flex; flex-wrap:wrap; gap:8px; }
.same{ display:grid; grid-template-columns:minmax(0,1fr); }
.same__i > a{ display:flex; flex-direction:column; gap:4px; padding:11px 0; border-bottom:1px solid var(--line); color:inherit; }
.same__i:last-child > a{ border-bottom:0; }
.same__i b{ font-size:13.5px; line-height:1.6; font-weight:600; overflow-wrap:break-word; }
.same__i em{ font-size:12px; font-style:normal; color:var(--muted); }
.same__i > a:hover b{ color:var(--brand); }
.promise{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.promise li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; line-height:1.7; color:var(--deep-tx); overflow-wrap:break-word; }
.promise .i{ margin-top:4px; color:var(--gold-lt); }
.widget--deep{ background:var(--deep); border-color:var(--deep); color:var(--deep-tx); }
.widget--deep .widget__hd{ color:#fff; border-bottom-color:rgba(255,255,255,.16); }
.widget--deep .widget__hd .i{ color:var(--gold-lt); }
.widget--notice{ background:var(--gold-3); border-color:#e2caa0; }
.widget--notice .widget__hd{ color:var(--gold); border-bottom-color:#dfc69c; }
.widget--notice .widget__hd .i{ color:var(--gold); }
.notice__t{ margin-bottom:10px; font-size:13.5px; line-height:1.75; color:var(--ink-2); overflow-wrap:break-word; }
.notice__d{ font-size:12px; color:var(--gold); }
.widget--cta{ background:var(--deep-2); border-color:var(--deep-2); color:var(--deep-tx); text-align:center; }
.cta__t{ margin-bottom:8px; font-size:16px; font-weight:700; color:#fff; }
.cta__d{ margin-bottom:16px; font-size:13.5px; line-height:1.7; color:var(--deep-mu); overflow-wrap:break-word; }

/* ---------- 19. 文章页续读区（通栏，不放两栏网格内） ---------- */
.art-more{ display:block; }
.art-more__pn{ padding-top:0; padding-bottom:46px; }
.prevnext{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.prevnext__it{
  display:flex; flex-direction:column; gap:8px; padding:20px 22px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--r); color:inherit;
  transition:border-color var(--t), transform var(--t);
}
.prevnext__it:hover{ border-color:var(--brand-lt); transform:translateY(-3px); }
.prevnext__it--next{ text-align:right; }
.prevnext__k{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--brand); }
.prevnext__it--next .prevnext__k{ justify-content:flex-end; }
.prevnext__it b{ font-size:15.5px; line-height:1.55; overflow-wrap:break-word; }
.prevnext__it em{ font-size:12.5px; font-style:normal; color:var(--muted); }
.sec--rel{ background:var(--bg); }
.sec--rel .sec__wrap{ padding-block:0 78px; }
.sec--new .sec__wrap{ padding-block:78px; }
.art-side .widget:last-child{ margin-top:0; }

/* ---------- 20. 渐进增强：reveal ---------- */
.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; transform:none; }

/* ---------- 21. 响应式 ---------- */
@media (max-width: 1099px){
  .header-main{ gap:10px 18px; }
  .site-header.is-collapsible .nav{ order:3; flex:1 0 100%; max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .site-header.is-collapsible.is-open .nav{ max-height:640px; }
  .site-header.is-collapsible .nav__list{ flex-direction:column; align-items:stretch; gap:0; }
  .site-header.is-collapsible .nav__link{ padding:13px 8px; border-bottom:1px solid var(--line); border-radius:0; }
  .site-header.is-collapsible .nav__list > li:last-child .nav__link{ border-bottom:0; }
  .site-header.is-collapsible .nav__link.is-on::after{ display:none; }
  .site-header.is-collapsible .nav-toggle{ display:grid; grid-template-columns:1fr; place-items:center; order:2; margin-left:auto; }
  .site-header.is-collapsible .header-side{ order:2; }
  .site-header:not(.is-collapsible) .nav{ order:3; flex:1 0 100%; }
  .site-header:not(.is-collapsible) .nav__list{ flex-wrap:wrap; justify-content:flex-start; }
  .site-header:not(.is-collapsible) .nav-toggle{ display:none; }
  .hero__inner{ grid-template-columns:minmax(0,1fr); gap:38px; }
  .hero__deco{ display:none; }
  .hero__side{ max-width:560px; }
  .cat-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .thumb-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .method{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-bio{ grid-column:1/-1; }
  .consult{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .news-layout,.art-layout{ grid-template-columns:minmax(0,1fr) 292px; gap:32px; }
}
@media (max-width: 899px){
  .mobile-bar{ display:grid; }
  body{ padding-bottom:64px; }
  .to-top{ bottom:76px; }
  .sec__wrap{ padding-block:60px; }
  .sec--rel .sec__wrap{ padding-block:0 60px; }
  .sec--new .sec__wrap{ padding-block:60px; }
  .hero{ padding-top:44px; }
  .cat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .thumb-grid{ grid-template-columns:minmax(0,1fr); }
  .duo{ grid-template-columns:minmax(0,1fr); gap:0; }
  .tri{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .faq{ grid-template-columns:minmax(0,1fr); }
  .links{ grid-template-columns:minmax(0,1fr); }
  .leadrow{ grid-template-columns:minmax(0,1fr); }
  .leadrow__body{ padding:24px 22px; }
  .rowline__a{ grid-template-columns:154px minmax(0,1fr); gap:16px; }
  .news-layout,.art-layout{ grid-template-columns:minmax(0,1fr); }
  .art-side{ align-self:auto; }
  .prevnext{ grid-template-columns:minmax(0,1fr); }
  .page-banner__inner{ padding-right:var(--pad); }
  .page-banner__deco{ display:none; }
  .art-more__pn{ padding-bottom:38px; }
  .hero__stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero__stat:nth-child(3){ border-left:0; padding-left:0; }
}
@media (max-width: 620px){
  :root{ --pad:16px; }
  .topbar__list{ display:none; }
  .header-side{ display:none; }
  .brand__sub{ display:none; }
  .sec-head{ grid-template-columns:minmax(0,1fr); }
  .sec-head__more{ grid-column:1; grid-row:auto; justify-self:start; margin-top:14px; }
  .cat-grid{ grid-template-columns:minmax(0,1fr); }
  .thumb-grid{ grid-template-columns:minmax(0,1fr); }
  .tri{ grid-template-columns:minmax(0,1fr); }
  .method{ grid-template-columns:minmax(0,1fr); }
  .flow{ grid-template-columns:minmax(0,1fr); }
  .footer-main{ grid-template-columns:minmax(0,1fr); }
  .links__ul{ grid-template-columns:minmax(0,1fr); }
  .form-grid{ grid-template-columns:minmax(0,1fr); }
  .rowline__a{ grid-template-columns:minmax(0,1fr); }
  .art-body{ font-size:16px; }
  .hero__stat{ padding:16px 0 18px 16px; }
  .consult__calls{ padding-top:18px; }
  .art-table{ min-width:0; }
  .art-table thead{ display:none; }
  .art-table tbody tr{ display:block; padding:8px 0; border-bottom:1px solid var(--line); }
  .art-table tbody tr:nth-child(even) td{ background:transparent; }
  .art-table td{ display:grid; grid-template-columns:minmax(0,7.5em) minmax(0,1fr); gap:12px; padding:7px 0; border-bottom:0; }
  .art-table td::before{ content:attr(data-label); color:var(--muted); font-size:12.5px; }
}
@media (max-width: 559px){
  .header-cta{ display:none; }
  .nav__link{ font-size:14.5px; }
  .pager{ grid-template-columns:minmax(0,1fr); }
  .pager__list{ justify-content:flex-start; }
  .brand__mark{ width:34px; height:34px; font-size:17px; }
}

/* ---------- 22. 打印与动效降级 ---------- */
@media print{
  .topbar,.site-header,.mobile-bar,.to-top,.nav-toggle,.site-footer,.sec-head__more{ display:none !important; }
  html.js-reveal .reveal{ opacity:1 !important; transform:none !important; }
  body{ background:#fff; color:#000; padding-bottom:0; }
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  html.js-reveal .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  *{ transition:none !important; animation:none !important; }
}
