/* ============================================================================
   官网 v3 · site-v3.css
   ----------------------------------------------------------------------------
   与 v2 的分别不是配色，是**版式**：
     v2 = 左右分栏首屏 + 卡片网格（像一个 SaaS 官网）
     v3 = 全幅影像首屏 + 超大标题 + 大列表 + 无边框图墙 + 编辑式内容
   律所的"大气"来自四件事：满幅的图、够大的字、够宽的留白、够少的元素。

   一、骨架（四套风格共用）
   二、四套风格（data-style）：noir 墨黑 / ivory 象牙 / navy 深蓝 / mono 素黑
   三、导航与页脚（沉浸式：首屏透明，滚动后落成实底）
   四、内页跟随（复用 .sf-* 类，只换 tokens）

   本文件在 site.css / site-skins.css 之后加载。
   ========================================================================== */

/* ============================================================================
   一、骨架
   ========================================================================== */

:root{
  --lx-max:1360px;
  --lx-pad:clamp(20px, 4vw, 56px);
  /* 内页仍用 v2 的 .sf-wrap，版心必须和首页一致，否则导航比正文宽出一截 */
  --sf-max:1360px;
  --lx-serif:"Noto Serif SC","Songti SC","STSong","Source Han Serif SC","SimSun",serif;
  --lx-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --lx-ease:cubic-bezier(.3,.7,.2,1);

  /* 首屏与强调色由风格覆盖 */
  --lx-hero-bg:#0b0e12;
  --lx-hero-ink:#ffffff;
  --lx-hero-sub:rgba(255,255,255,.62);
  --lx-hero-line:rgba(255,255,255,.16);
  --lx-accent:#b08d57;
  --lx-accent-2:#e0c295;
  --lx-title:var(--lx-serif);
  --lx-title-weight:500;
  --lx-title-track:.04em;
  --lx-hero-align:flex-start;
  --lx-hero-shade:linear-gradient(180deg, rgba(8,10,13,.55) 0%, rgba(8,10,13,.72) 58%, rgba(8,10,13,.92) 100%);
  --lx-radius:0px;
}

/* 版心：与导航/页脚同宽（--sf-max 由 site-skins 设为 1360） */
.lx-wrap{max-width:var(--lx-max);margin:0 auto;padding:0 var(--lx-pad);width:100%}
.lx-sec{position:relative}

/* 板块标题：小字编号 + 大标题 + 右侧入口，一条通栏细线托底 */
.lx-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;
  padding-bottom:26px;border-bottom:1px solid var(--s-line);margin-bottom:0;flex-wrap:wrap}
.lx-hd .k{display:block;font-family:var(--lx-sans);font-size:11px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--s-meta);font-weight:600}
.lx-hd h2{font-family:var(--lx-title);font-weight:var(--lx-title-weight);
  font-size:clamp(30px,3.4vw,46px);line-height:1.24;letter-spacing:var(--lx-title-track);
  margin:14px 0 0;color:var(--s-ink)}
.lx-hd .more{font-size:12.5px;letter-spacing:.14em;color:var(--s-ink);
  border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}
.lx-hd .more:hover{color:var(--s-accent-text);border-color:currentColor}

/* 按钮：只有两种，实心与细线 */
.lx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:52px;padding:0 34px;font-size:13.5px;letter-spacing:.12em;
  border:1px solid transparent;transition:.28s var(--lx-ease);border-radius:var(--lx-radius)}
.lx-btn.solid{background:var(--s-accent-solid);color:var(--s-on-accent);border-color:var(--s-accent-solid)}
.lx-btn.solid:hover{background:var(--s-accent-hover);border-color:var(--s-accent-hover);color:var(--s-on-accent-hover)}
.lx-btn.ghost{background:transparent;border-color:currentColor;color:inherit;opacity:.86}
.lx-btn.ghost:hover{opacity:1}

/* ------------------------------------------------------------------ 首屏 */
.lx-hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  background:var(--lx-hero-bg);color:var(--lx-hero-ink);overflow:hidden;
}
.lx-hero-media{position:absolute;inset:0;z-index:1;background:var(--lx-hero-shade)}
.lx-hero.has-img .lx-hero-media{
  background-image:var(--lx-hero-shade),var(--lx-hero-img);
  background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;
}
/* 无图时的底子：一层斜向暖光 + 巨大衬线水印字，不放"假照片" */
.lx-hero:not(.has-img) .lx-hero-media{
  background:
    radial-gradient(1100px 720px at 78% 6%, rgba(255,255,255,.07), transparent 62%),
    radial-gradient(900px 620px at 6% 96%, rgba(255,255,255,.05), transparent 60%),
    var(--lx-hero-bg);
}
.lx-hero:not(.has-img) .lx-hero-media:after{
  content:"衡";position:absolute;right:-2%;bottom:-16%;
  font-family:var(--lx-serif);font-size:clamp(320px,46vw,720px);line-height:.8;
  color:rgba(255,255,255,.035);letter-spacing:0;pointer-events:none;
}
.lx-hero-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;
  justify-content:center;
  /* 用 padding-block，不能用 padding 简写：它同时带着 .lx-wrap，
     简写会把左右的版心内边距一起清成 0，手机上标题就贴到屏幕边上了 */
  padding-block:clamp(120px,16vh,200px) clamp(40px,6vh,72px)}
.lx-hero-txt{max-width:min(1000px,92%);display:flex;flex-direction:column;align-items:var(--lx-hero-align)}
.lx-eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--lx-sans);
  font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--lx-hero-sub);font-weight:600}
.lx-eyebrow:before{content:"";width:46px;height:1px;background:currentColor;opacity:.7}

.lx-hero h1{
  font-family:var(--lx-title);font-weight:var(--lx-title-weight);
  font-size:clamp(44px, 6.2vw, 96px);line-height:1.16;letter-spacing:var(--lx-title-track);
  margin:28px 0 30px;color:var(--lx-hero-ink);text-align:var(--lx-hero-text-align,left);text-wrap:balance;
}
.lx-hero h1 em{font-style:normal;color:var(--lx-accent-2)}
.lx-hero .lx-lead{
  font-size:clamp(14px,1.1vw,16.5px);line-height:2.1;color:var(--lx-hero-sub);
  max-width:640px;margin:0;text-align:var(--lx-hero-text-align,left);
}
.lx-hero-acts{display:flex;gap:14px;margin-top:clamp(32px,4vh,48px);flex-wrap:wrap}

/* 首屏底栏：四个数字 + 向下提示，压在同一条细线上 */
.lx-hero-foot{
  position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;
  gap:32px;padding-bottom:clamp(28px,4vh,44px);
}
.lx-nums{display:flex;gap:clamp(28px,4vw,72px);flex-wrap:wrap}
.lx-nums>div{display:flex;flex-direction:column;gap:6px;
  border-left:1px solid var(--lx-hero-line);padding-left:clamp(16px,1.6vw,24px)}
.lx-nums>div:first-child{border-left:0;padding-left:0}
.lx-nums b{font-family:var(--lx-title);font-weight:500;font-size:clamp(30px,3.2vw,46px);
  line-height:1;color:var(--lx-hero-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.lx-nums b small{font-size:.44em;margin-left:4px;color:var(--lx-accent-2);font-weight:600}
.lx-nums span{font-size:11.5px;letter-spacing:.18em;color:var(--lx-hero-sub)}
.lx-scroll{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.3em;
  color:var(--lx-hero-sub);text-transform:uppercase;white-space:nowrap}
.lx-scroll i{display:block;width:1px;height:38px;background:currentColor;opacity:.6;
  animation:lxDrop 2.4s var(--lx-ease) infinite}
@keyframes lxDrop{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.25}
  50%{transform:scaleY(1);transform-origin:top;opacity:.8}}

/* ------------------------------------------------------------------ 一句话主张 */
.lx-statement{padding:clamp(88px,11vw,168px) 0 clamp(56px,6vw,88px);background:var(--s-bg)}
.lx-statement .lx-wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.lx-statement .rule{width:56px;height:1px;background:var(--s-accent);margin-bottom:clamp(36px,4vw,56px)}
.lx-statement p{
  font-family:var(--lx-title);font-weight:400;color:var(--s-ink);
  font-size:clamp(21px,2.5vw,36px);line-height:1.9;letter-spacing:.03em;
  max-width:1000px;margin:0;
}
.lx-statement .sign{margin-top:clamp(28px,3vw,40px);font-size:12px;letter-spacing:.2em;
  color:var(--s-meta);display:flex;align-items:center;gap:12px}
.lx-statement .sign:before,.lx-statement .sign:after{content:"";width:24px;height:1px;background:var(--s-line)}

/* ------------------------------------------------------------------ 大列表（专业领域） */
.lx-practice{padding:clamp(72px,8vw,120px) 0;background:var(--s-bg)}
.lx-rows{margin-top:0;border-bottom:1px solid var(--s-line)}
.lx-row{display:block;border-top:1px solid var(--s-line);transition:.34s var(--lx-ease)}
.lx-row>a{
  display:grid;grid-template-columns:74px minmax(0,1fr) minmax(0,.9fr) 40px;
  align-items:center;gap:clamp(16px,2vw,32px);
  padding:clamp(24px,2.6vw,34px) clamp(12px,1.4vw,22px);
  color:var(--s-ink);transition:.34s var(--lx-ease);border-radius:var(--lx-radius);
}
.lx-row .no{font-family:var(--lx-title);font-size:13px;letter-spacing:.12em;color:var(--s-meta)}
.lx-row .nm{font-family:var(--lx-title);font-size:clamp(21px,2.1vw,29px);font-weight:500;
  letter-spacing:.02em;line-height:1.4}
.lx-row .ds{font-size:13.5px;line-height:1.85;color:var(--s-meta);max-width:520px}
.lx-row .arw{font-size:18px;color:var(--s-meta);justify-self:end;transition:.34s var(--lx-ease)}
@media (hover:hover) and (pointer:fine){
  .lx-row>a:hover{background:var(--s-ink);color:var(--s-bg);padding-left:clamp(22px,2.4vw,36px)}
  .lx-row>a:hover .nm{color:var(--s-bg)}
  .lx-row>a:hover .no,.lx-row>a:hover .ds{color:rgba(255,255,255,.55)}
  .lx-row>a:hover .arw{color:var(--s-bg);transform:translate(4px,-4px)}
}

/* ------------------------------------------------------------------ 图墙（团队） */
.lx-team{padding:clamp(72px,8vw,120px) 0;background:var(--s-paper)}
.lx-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.8vw,28px);margin-top:clamp(34px,3.4vw,52px)}
.lx-person{display:block;color:inherit}
.lx-person .ph{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--s-paper-2)}
.lx-person .ph img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--lx-ease),filter .5s}
.lx-person .ph .ini{position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--lx-title);font-size:clamp(44px,4vw,64px);color:var(--s-meta);opacity:.45}
.lx-person .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(10,12,15,.42) 100%);opacity:0;transition:.4s}
.lx-person .tag{position:absolute;left:0;bottom:0;z-index:2;padding:14px 18px;
  font-size:11px;letter-spacing:.2em;color:#fff;opacity:0;transform:translateY(8px);transition:.4s}
@media (hover:hover) and (pointer:fine){
  .lx-person:hover .ph img{transform:scale(1.045)}
  .lx-person:hover .ph:after{opacity:1}
  .lx-person:hover .tag{opacity:1;transform:none}
}
.lx-person .bd{padding-top:16px}
.lx-person h3{font-family:var(--lx-title);font-size:18px;font-weight:600;margin:0;letter-spacing:.03em;color:var(--s-ink)}
.lx-person .r{font-size:12px;color:var(--s-meta);margin-top:6px;letter-spacing:.04em}

/* ------------------------------------------------------------------ 编辑式（洞察） */
.lx-edit{padding:clamp(72px,8vw,120px) 0;background:var(--s-bg)}
.lx-edit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,4.5vw,72px);
  margin-top:clamp(34px,3.4vw,52px);align-items:start}
.lx-feature{display:block;color:inherit}
.lx-feature .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--s-paper-2)}
.lx-feature .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--lx-ease)}
.lx-feature .ph .ini{position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--lx-title);font-size:clamp(64px,7vw,110px);color:var(--s-meta);opacity:.22;
  letter-spacing:.1em}
/* 没有封面时的底子：细斜纹 + 内描边，让它看起来是"排好的封面"而不是"缺图" */
.lx-feature .ph.is-empty:before,
.lx-course .ph.is-empty:before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(21,28,36,.028) 14px 15px);
}
.lx-feature .ph.is-empty:after,
.lx-course .ph.is-empty:after{
  content:"";position:absolute;inset:18px;border:1px solid rgba(21,28,36,.07);
}
@media (hover:hover) and (pointer:fine){.lx-feature:hover .ph img{transform:scale(1.03)}}
.lx-feature .bd{padding-top:22px}
.lx-feature .meta{font-size:11px;letter-spacing:.24em;color:var(--s-meta);text-transform:uppercase}
.lx-feature h3{font-family:var(--lx-title);font-weight:600;font-size:clamp(20px,1.9vw,26px);
  line-height:1.55;margin:14px 0 0;color:var(--s-ink);letter-spacing:.02em}
.lx-feature p{font-size:13.5px;line-height:1.9;color:var(--s-meta);margin:12px 0 0}

.lx-index{border-top:1px solid var(--s-line)}
.lx-index a{display:grid;grid-template-columns:1fr 74px;gap:20px;align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--s-line);color:inherit;transition:.28s}
.lx-index .t{font-family:var(--lx-title);font-size:16.5px;line-height:1.6;color:var(--s-ink);
  letter-spacing:.01em;transition:.28s}
.lx-index .d{font-size:11.5px;color:var(--s-meta);text-align:right;letter-spacing:.06em}
@media (hover:hover) and (pointer:fine){
  .lx-index a:hover .t{color:var(--s-accent-text);transform:translateX(4px)}
}

/* ------------------------------------------------------------------ 案例编号列表 */
.lx-cases{padding:clamp(72px,8vw,120px) 0;background:var(--s-paper)}
.lx-case-row{display:grid;grid-template-columns:96px minmax(0,1fr) 180px 90px;
  gap:clamp(16px,2vw,32px);align-items:center;
  padding:clamp(22px,2.4vw,32px) 0;border-top:1px solid var(--s-line);color:inherit;transition:.3s}
.lx-case-row:last-of-type{border-bottom:1px solid var(--s-line)}
.lx-case-row .yr{font-family:var(--lx-title);font-size:15px;color:var(--s-accent-text);letter-spacing:.08em}
.lx-case-row .ti{font-family:var(--lx-title);font-size:clamp(17px,1.7vw,22px);line-height:1.55;color:var(--s-ink)}
.lx-case-row .tp{font-size:12px;color:var(--s-meta);letter-spacing:.08em}
.lx-case-row .go{justify-self:end;font-size:12px;letter-spacing:.16em;color:var(--s-meta)}
@media (hover:hover) and (pointer:fine){
  .lx-case-row:hover .ti{color:var(--s-accent-text)}
  .lx-case-row:hover .go{color:var(--s-ink)}
}

/* ------------------------------------------------------------------ 课程 */
.lx-courses{padding:clamp(72px,8vw,120px) 0;background:var(--s-bg)}
.lx-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);
  margin-top:clamp(34px,3.4vw,52px)}
.lx-course{display:block;color:inherit}
.lx-course .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--s-paper-2)}
.lx-course .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--lx-ease)}
.lx-course .ph .ini{position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--lx-title);font-size:52px;color:var(--s-meta);opacity:.4}
.lx-course .play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.lx-course .play i{width:52px;height:52px;border:1px solid rgba(255,255,255,.7);border-radius:50%;
  display:grid;place-items:center;color:#fff;font-style:normal;font-size:12px;
  background:rgba(10,12,15,.28);backdrop-filter:blur(2px)}
@media (hover:hover) and (pointer:fine){.lx-course:hover .ph img{transform:scale(1.04)}}
.lx-course h3{font-family:var(--lx-title);font-size:16px;font-weight:600;line-height:1.6;
  margin:16px 0 0;color:var(--s-ink)}
.lx-course .d{font-size:12px;color:var(--s-meta);margin-top:8px;letter-spacing:.04em}

/* ------------------------------------------------------------------ CTA */
.lx-cta{position:relative;background:var(--lx-hero-bg);color:var(--lx-hero-ink);overflow:hidden;
  padding:clamp(80px,10vw,148px) 0}
.lx-cta .glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 560px at 82% 112%, rgba(255,255,255,.09), transparent 62%)}
.lx-cta .lx-wrap{position:relative;z-index:2;display:grid;
  grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,90px);align-items:end}
.lx-cta h2{font-family:var(--lx-title);font-weight:var(--lx-title-weight);
  font-size:clamp(30px,4vw,58px);line-height:1.34;letter-spacing:.03em;margin:18px 0 0;color:var(--lx-hero-ink)}
.lx-cta .sub{font-size:14px;line-height:2;color:var(--lx-hero-sub);margin:22px 0 0;max-width:560px}
.lx-cta .acts{display:flex;flex-direction:column;align-items:flex-end;gap:20px;text-align:right}
.lx-cta .tel{font-family:var(--lx-title);font-size:clamp(26px,2.8vw,38px);font-weight:500;
  color:var(--lx-hero-ink);letter-spacing:.02em;line-height:1.2}
.lx-cta .tel small{display:block;font-family:var(--lx-sans);font-size:10.5px;letter-spacing:.3em;
  color:var(--lx-hero-sub);margin-bottom:12px;font-weight:400}
.lx-cta .lx-btn.solid{background:var(--lx-hero-ink);color:var(--lx-hero-bg);border-color:var(--lx-hero-ink)}
.lx-cta .lx-btn.solid:hover{opacity:.86}


/* ------------------------------------------------------------------ 三条看点 */
.lx-points{padding:0 0 clamp(80px,9vw,132px);background:var(--s-bg)}
.lx-points .lx-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,3vw,52px)}
.lx-points .pt{border-left:1px solid var(--s-line);padding-left:clamp(20px,2vw,34px)}
.lx-points .pt:first-child{border-left:0;padding-left:0}
.lx-points .no{font-family:var(--lx-title);font-size:12.5px;letter-spacing:.16em;color:var(--s-accent-text)}
.lx-points h3{font-family:var(--lx-title);font-size:clamp(17px,1.5vw,20px);font-weight:600;
  margin:14px 0 10px;color:var(--s-ink);letter-spacing:.02em}
.lx-points p{font-size:13.5px;line-height:1.95;color:var(--s-meta);margin:0}

/* ------------------------------------------------------------------ 到访（地图） */
.lx-visit{position:relative;overflow:hidden;min-height:clamp(460px,42vw,580px);
  display:flex;align-items:center;padding:clamp(36px,4vw,56px) 0;background:var(--s-paper)}
.lx-visit .lx-wrap{position:relative;z-index:3}
.lx-visit-card{max-width:560px;padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px);
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--s-line)}
.lx-visit-card .k{font-size:10.5px;letter-spacing:.32em;color:var(--s-accent-text);text-transform:uppercase;font-weight:600}
.lx-visit-card h2{font-family:var(--lx-title);font-weight:600;font-size:clamp(24px,2.4vw,32px);
  line-height:1.45;margin:14px 0 16px;color:var(--s-ink)}
.lx-visit-card p{font-size:13.5px;line-height:1.95;color:var(--s-body);margin:0}
.lx-visit-card .addr{display:flex;gap:10px;margin-top:20px;font-size:13px;line-height:1.7;color:var(--s-meta)}
.lx-visit-card .addr i{flex:none;width:6px;height:6px;margin-top:8px;background:var(--s-accent-solid);border-radius:50%}
.lx-visit-card .acts{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

/* ============================================================================
   二、四套风格
   ========================================================================== */

/* ---------------------------------------------------------------- 墨黑 noir */
[data-style="noir"]{
  --lx-hero-bg:#0a0c10;
  --lx-hero-ink:#fff;
  --lx-accent:#b08d57;
  --lx-accent-2:#dcbb8a;
  --lx-title:var(--lx-serif);
  --lx-title-weight:500;
  --lx-title-track:.05em;
  --lx-hero-shade:linear-gradient(178deg, rgba(8,10,13,.42) 0%, rgba(8,10,13,.66) 52%, rgba(8,10,13,.94) 100%);
  --s-paper:#f6f3ec;
  --s-paper-2:#eeeae2;
  --s-line:#e3ded3;
  --s-line-soft:#ece8df;
}
[data-style="noir"] .lx-nav.is-solid{background:rgba(8,10,13,.94);border-bottom-color:rgba(255,255,255,.08)}

/* ---------------------------------------------------------------- 象牙 ivory */
[data-style="ivory"]{
  --lx-hero-bg:#f3efe7;
  --lx-hero-ink:#14181d;
  --lx-hero-sub:#5c6470;
  --lx-hero-line:rgba(20,24,29,.16);
  --lx-accent:#8a6a3c;
  --lx-accent-2:#8a6a3c;
  --lx-title:var(--lx-serif);
  --lx-title-weight:500;
  --lx-title-track:.06em;
  --lx-hero-align:center;
  --lx-hero-text-align:center;
  --lx-hero-shade:linear-gradient(180deg, rgba(243,239,231,.42) 0%, rgba(243,239,231,.72) 56%, rgba(243,239,231,.96) 100%);
  --s-bg:#fff;
  --s-paper:#f7f4ed;
  --s-paper-2:#efece4;
  --s-line:#e5e0d5;
  --s-line-soft:#efece4;
}
[data-style="ivory"] .lx-hero.has-img .lx-hero-media{
  background-image:linear-gradient(180deg,rgba(243,239,231,.74) 0%,rgba(243,239,231,.9) 52%,rgba(243,239,231,.97) 100%),var(--lx-hero-img);
  filter:grayscale(.45) brightness(1.04);
}
[data-style="ivory"] .lx-hero:not(.has-img) .lx-hero-media{background:var(--lx-hero-bg)}
[data-style="ivory"] .lx-hero:not(.has-img) .lx-hero-media:after{color:rgba(20,24,29,.045)}
[data-style="ivory"] .lx-hero .lx-lead{margin-left:auto;margin-right:auto}
[data-style="ivory"] .lx-hero-acts{justify-content:center}
/* ivory 的首屏是浅底，按钮要用深色实心才看得见 */
[data-style="ivory"] .lx-btn.solid{background:#14181d;color:#fff;border-color:#14181d}
[data-style="ivory"] .lx-btn.solid:hover{background:#000;border-color:#000;color:#fff}

/* ---------------------------------------------------------------- 深蓝 navy */
[data-style="navy"]{
  --lx-hero-bg:#08192a;
  --lx-hero-ink:#fff;
  --lx-accent:#7fb0e0;
  --lx-accent-2:#a9cdf2;
  --lx-title:var(--lx-sans);
  --lx-title-weight:600;
  --lx-title-track:.01em;
  --lx-hero-shade:linear-gradient(178deg, rgba(6,19,32,.46) 0%, rgba(6,19,32,.7) 54%, rgba(6,19,32,.95) 100%);
  --s-bg:#fff;
  --s-paper:#f3f6fa;
  --s-paper-2:#e9eef5;
  --s-line:#dde3ec;
  --s-line-soft:#e9eef4;
}
[data-style="navy"] .lx-nav.is-solid{background:rgba(6,20,34,.94);border-bottom-color:rgba(255,255,255,.08)}
[data-style="navy"] .lx-hd h2,
[data-style="navy"] .lx-row .nm{letter-spacing:0}

/* ---------------------------------------------------------------- 素黑 mono */
[data-style="mono"]{
  --lx-hero-bg:#ffffff;
  --lx-hero-ink:#0a0a0a;
  --lx-hero-sub:#5f5f5f;
  --lx-hero-line:rgba(10,10,10,.16);
  --lx-accent:#0a0a0a;
  --lx-accent-2:#0a0a0a;
  --lx-title:var(--lx-sans);
  --lx-title-weight:700;
  --lx-title-track:-.01em;
  --lx-hero-align:flex-start;
  --lx-hero-shade:none;
  --s-accent:#0a0a0a;
  --s-accent-solid:#0a0a0a;
  --s-on-accent:#fff;
  --s-accent-hover:#000;
  --s-on-accent-hover:#fff;
  --s-accent-text:#0a0a0a;
  --s-accent-text-2:#333;
  --s-accent-text-deep:#000;
  --s-accent-soft:#f2f2f2;
  --s-bg:#fff;
  --s-paper:#fafafa;
  --s-paper-2:#f2f2f2;
  --s-ink:#0a0a0a;
  --s-body:#333;
  --s-meta:#6b6b6b;
  --s-line:#e6e6e6;
  --s-line-soft:#f0f0f0;
  --s-r:0px;
  --lx-radius:0px;
}
[data-style="mono"] .lx-hero-media{background:transparent}
/* 素黑：首屏那张图压成纸上的一点灰，只留结构，不留颜色 */
[data-style="mono"] .lx-hero.has-img .lx-hero-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.97) 100%),var(--lx-hero-img);
  filter:grayscale(1) contrast(1.06);
}
[data-style="mono"] .lx-person .ph img,
[data-style="mono"] .lx-feature .ph img,
[data-style="mono"] .lx-course .ph img{filter:grayscale(1)}
[data-style="mono"] .lx-hero h1{text-transform:none}
/* 素黑里连地图底纹也要去色，否则那块米黄是整页唯一的彩色 */
[data-style="mono"] .sf-mapbox-grid{filter:grayscale(1) contrast(.97)}
[data-style="mono"] .lx-visit-card{border-color:#e6e6e6}
[data-style="mono"] .lx-btn.solid{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
[data-style="mono"] .lx-cta{background:#0a0a0a}
[data-style="mono"] .lx-nav.is-solid{background:rgba(255,255,255,.95);border-bottom-color:#e6e6e6}

/* ============================================================================
   三、导航与页脚
   首屏是整幅影像，导航必须"浮"在上面：默认透明 + 白字，滚过首屏才落成实底。
   ========================================================================== */

.lx-nav{
  position:fixed;top:0;left:0;right:0;z-index:80;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .4s var(--lx-ease),border-color .4s,box-shadow .4s;
}
.lx-nav .lx-wrap{display:flex;align-items:center;gap:28px;height:88px;min-width:0}
.lx-nav .brand{display:flex;align-items:center;gap:14px;flex:none;color:#fff}
.lx-nav .brand img{max-height:40px;width:auto;display:block;filter:brightness(1.08) saturate(.95)}
.lx-nav .brand .seal{width:42px;height:42px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.32);color:#fff;font-family:var(--lx-serif);font-size:19px}
.lx-nav .brand b{display:block;font-family:var(--lx-serif);font-size:18px;letter-spacing:.16em;
  color:#fff;font-weight:500;line-height:1.2}
.lx-nav .brand span{display:block;font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.55);
  margin-top:5px;text-transform:uppercase}

.lx-nav menu{display:flex;align-items:center;gap:clamp(2px,.6vw,10px);margin-left:auto}
.lx-nav nav#sfMenu>a,.lx-nav nav#sfMenu .nav-drop>a{
  position:relative;padding:12px 10px;font-size:13px;letter-spacing:.1em;
  color:rgba(255,255,255,.86);white-space:nowrap;transition:color .25s}
.lx-nav menu>a:after,.lx-nav .nav-drop>a:after{
  content:"";position:absolute;left:10px;right:10px;bottom:6px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--lx-ease)}
@media (hover:hover) and (pointer:fine){
  .lx-nav nav#sfMenu>a:hover,.lx-nav nav#sfMenu .nav-drop>a:hover{color:#fff}
  .lx-nav nav#sfMenu>a:hover:after,.lx-nav nav#sfMenu .nav-drop>a:hover:after{transform:scaleX(1)}
}
.lx-nav nav#sfMenu>a.on,.lx-nav nav#sfMenu .nav-drop>a.on{color:#fff}
.lx-nav nav#sfMenu>a.on:after,.lx-nav nav#sfMenu .nav-drop>a.on:after{transform:scaleX(1)}
.lx-nav nav#sfMenu .mbr-link{padding:11px 16px;border:1px solid rgba(255,255,255,.3);
  background:transparent;font-size:12px;letter-spacing:.1em;color:#fff;border-radius:0}
@media (hover:hover) and (pointer:fine){
  .lx-nav nav#sfMenu .mbr-link:hover{background:#fff;border-color:#fff;color:#111}
}
.lx-nav .nav-cta{
  flex:none;margin-left:10px;height:42px;padding:0 24px;display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;letter-spacing:.12em;border:1px solid #fff;background:#fff;color:#0f1318;
  transition:.3s var(--lx-ease);
}
/* 深色首屏上唯一一个实心白按钮：它是这一屏唯一要人点的东西 */
.lx-nav .nav-cta:hover{background:var(--s-accent-solid);border-color:var(--s-accent-solid);color:var(--s-on-accent)}

/* 内页没有深色首屏，导航默认就得落成实底 —— 否则白字压在白页头上，等于没有导航。
   首页（.is-home）保持透明，滚过 40px 再由 JS 加 .is-solid。 */
.site-body:not(.is-home) .lx-nav{background:rgba(9,11,15,.97);border-bottom-color:rgba(255,255,255,.09)}
.site-body:not(.is-home) main{padding-top:88px}
[data-style="ivory"] .site-body:not(.is-home) .lx-nav,
[data-style="mono"] .site-body:not(.is-home) .lx-nav{background:rgba(255,255,255,.97);border-bottom-color:#e6e6e6}

/* 落成实底之后 */
.lx-nav.is-solid{background:rgba(9,11,15,.94);backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:rgba(255,255,255,.09)}
[data-style="ivory"] .lx-nav.is-solid,
[data-style="mono"] .lx-nav.is-solid{background:rgba(255,255,255,.95);border-bottom-color:#e6e6e6}
[data-style="ivory"] .lx-nav{color:#14181d}
[data-style="ivory"] .lx-nav .brand{color:#14181d}
[data-style="ivory"] .lx-nav .brand img{filter:brightness(0)}
[data-style="ivory"] .lx-nav .brand .seal{border-color:rgba(20,24,29,.22);color:#14181d}
[data-style="ivory"] .lx-nav .brand b{color:#14181d}
[data-style="ivory"] .lx-nav .brand span{color:#6b7280}
[data-style="ivory"] .lx-nav nav#sfMenu>a,
[data-style="ivory"] .lx-nav nav#sfMenu .nav-drop>a{color:#3f4854}
[data-style="ivory"] .lx-nav nav#sfMenu>a:hover,
[data-style="ivory"] .lx-nav nav#sfMenu>a.on,
[data-style="ivory"] .lx-nav nav#sfMenu .nav-drop>a:hover,
[data-style="ivory"] .lx-nav nav#sfMenu .nav-drop>a.on{color:#14181d}
[data-style="ivory"] .lx-nav nav#sfMenu .mbr-link{border-color:rgba(20,24,29,.22);color:#14181d}

[data-style="mono"] .lx-nav nav#sfMenu>a,
[data-style="mono"] .lx-nav nav#sfMenu .nav-drop>a{color:#4a4a4a}
[data-style="mono"] .lx-nav nav#sfMenu>a:hover,
[data-style="mono"] .lx-nav nav#sfMenu>a.on,
[data-style="mono"] .lx-nav nav#sfMenu .nav-drop>a:hover,
[data-style="mono"] .lx-nav nav#sfMenu .nav-drop>a.on{color:#0a0a0a}
[data-style="mono"] .lx-nav nav#sfMenu .mbr-link{border-color:rgba(10,10,10,.22);color:#0a0a0a}
[data-style="ivory"] .lx-nav .nav-cta{border-color:#14181d;background:#14181d;color:#fff}
[data-style="ivory"] .lx-nav .nav-cta:hover{background:#000;border-color:#000;color:#fff}

[data-style="mono"] .lx-nav .brand img{filter:brightness(0)}
[data-style="mono"] .lx-nav .brand,
[data-style="mono"] .lx-nav .brand b{color:#0a0a0a}
[data-style="mono"] .lx-nav .brand span{color:#6b6b6b}
[data-style="mono"] .lx-nav .brand .seal{border-color:rgba(10,10,10,.2);color:#0a0a0a}
[data-style="mono"] .lx-nav .nav-cta{border-color:#0a0a0a;background:#0a0a0a;color:#fff}
[data-style="mono"] .lx-nav .nav-cta:hover{opacity:.85}

/* 页脚：四栏改成"左边大字 + 右边三列"，与 v3 的编辑式语汇一致 */
.lx-foot{background:var(--lx-hero-bg);color:rgba(255,255,255,.55);padding:clamp(64px,7vw,104px) 0 0}
[data-style="ivory"] .lx-foot,
[data-style="mono"] .lx-foot{background:#111417;color:rgba(255,255,255,.55)}
.lx-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:clamp(28px,3.6vw,56px);
  padding-bottom:clamp(40px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.1)}
.lx-foot h4{margin:0 0 18px;font-family:var(--lx-sans);font-size:10.5px;letter-spacing:.26em;
  text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:600}
.lx-foot a{display:block;padding:6px 0;color:rgba(255,255,255,.55);font-size:13px;transition:color .2s}
.lx-foot a:hover{color:#fff}
.lx-foot p{margin:0;font-size:13px;line-height:2;color:rgba(255,255,255,.48);max-width:380px}
.lx-foot .brandline{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.lx-foot .brandline img{max-height:38px;filter:brightness(1.1) saturate(.95)}
.lx-foot .brandline b{font-family:var(--lx-serif);font-size:19px;letter-spacing:.14em;color:#fff;font-weight:500}
.lx-foot .cline{display:flex;gap:12px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.5)}
.lx-foot .cline b{flex:none;color:rgba(255,255,255,.35);font-weight:400;letter-spacing:.1em}
.lx-foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px 0 28px;font-size:11.5px;letter-spacing:.04em;color:rgba(255,255,255,.34);flex-wrap:wrap}
.lx-foot-bottom a{display:inline;color:rgba(255,255,255,.45)}


.lx-burger{display:none;margin-left:auto;width:42px;height:42px;flex:none;
  border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;
  align-items:center;justify-content:center;gap:5px;flex-direction:column;cursor:pointer}
.lx-burger i{display:block;width:18px;height:1px;background:currentColor;transition:.2s}
[data-style="ivory"] .lx-burger,
[data-style="mono"] .lx-burger{border-color:rgba(20,24,29,.22);color:#14181d}

/* 深色导航上的下拉与抽屉 */
.lx-nav .nav-drop>.nav-drop-menu{background:#12161c;border-color:rgba(255,255,255,.1)}
.lx-nav .nav-drop-menu a{color:rgba(255,255,255,.72)}
.lx-nav .nav-drop-menu a:hover{background:rgba(255,255,255,.07);color:#fff;border-left-color:var(--lx-accent)}
[data-style="ivory"] .lx-nav .nav-drop>.nav-drop-menu,
[data-style="mono"] .lx-nav .nav-drop>.nav-drop-menu{background:#fff;border-color:var(--s-line)}
[data-style="ivory"] .lx-nav .nav-drop-menu a,
[data-style="mono"] .lx-nav .nav-drop-menu a{color:#3f4854}
[data-style="ivory"] .lx-nav .nav-drop-menu a:hover,
[data-style="mono"] .lx-nav .nav-drop-menu a:hover{background:var(--s-paper);color:#14181d}

@media(max-width:1080px){
  .lx-burger{display:flex}
  .lx-nav .nav-cta{display:none}
  [data-style="noir"] .sf-nav nav.open,
  [data-style="navy"] .sf-nav nav.open{background:#0b0e12;border-bottom:1px solid rgba(255,255,255,.1)}
  [data-style="noir"] .sf-nav nav.open>a,
  [data-style="navy"] .sf-nav nav.open>a,
  [data-style="noir"] .sf-nav nav.open .nav-drop>a,
  [data-style="navy"] .sf-nav nav.open .nav-drop>a{
    color:rgba(255,255,255,.82);border-bottom:1px solid rgba(255,255,255,.07)}
}

/* ============================================================================
   四、内页跟随
   内页仍用 v2 的 .sf-* 结构，这里只把 tokens 与几个关键块换成 v3 的语汇，
   保证"首页和内页是同一家所"。
   ========================================================================== */

/* 内页页头：从灰米块改成"上留白 + 巨标题 + 细线" */
.sf-ph{background:var(--s-bg);border-bottom:1px solid var(--s-line);
  padding:clamp(56px,6vw,92px) 0 clamp(44px,5vw,68px)}
.sf-ph:before{display:none}
.sf-ph h1{font-family:var(--lx-title);font-weight:var(--lx-title-weight);
  font-size:clamp(34px,4.4vw,62px);line-height:1.22;letter-spacing:var(--lx-title-track);
  margin:18px 0 22px;color:var(--s-ink);max-width:1060px;text-wrap:balance}
/* 旧版给「带栏头图」的页头限了 620px，v3 的大标题在那个宽度里会被切成两行、
   末行只剩两三个字。放开它 —— 标题就该一口气读完。 */
.site-body[data-banner] .sf-ph h1{max-width:1060px}
.site-body[data-banner] .sf-ph p{max-width:760px}
.site-body[data-banner] .sf-ph{background:var(--s-bg)}
.sf-ph .crumb{font-size:11.5px;letter-spacing:.16em;color:var(--s-meta);text-transform:uppercase}
.sf-ph p{font-size:15px;line-height:2;color:var(--s-body);max-width:760px;margin:0}
.sf-ph .stats{display:flex;gap:clamp(28px,4vw,64px);margin-top:clamp(32px,4vw,48px);
  padding-top:26px;border-top:1px solid var(--s-line);flex-wrap:wrap}
.sf-ph .stats b{font-family:var(--lx-title);font-size:clamp(26px,2.6vw,36px);font-weight:500;
  color:var(--s-ink);display:block;line-height:1}
.sf-ph .stats span{font-size:11.5px;letter-spacing:.16em;color:var(--s-meta);display:block;margin-top:8px}

/* 通用间距与标题 */
.sf-sec{padding:clamp(64px,7vw,104px) 0}
.sf-hd h2{font-family:var(--lx-title);font-weight:var(--lx-title-weight);
  letter-spacing:var(--lx-title-track)}
.sf-hd .en{letter-spacing:.34em}

/* 团队卡、文章卡：去边框，改成"图 + 文字" */
.sf-lawyer{border:0;background:transparent}
.sf-lawyer .ph{border-radius:0}
.sf-lawyer .bd{background:transparent;padding:16px 0 0}
.sf-lawyer h3{font-family:var(--lx-title)}
@media (hover:hover) and (pointer:fine){
  .sf-lawyer:hover{transform:none;box-shadow:none;border-color:transparent}
  .sf-lawyer:hover .ph img{transform:scale(1.04)}
  .sf-lawyer .ph img{transition:transform .7s var(--lx-ease)}
}

/* 按钮：与首页同一套 */
.sf-btn{border-radius:var(--lx-radius);letter-spacing:.1em}

/* 表单控件跟随风格 */
.sf-input,.sf-select,.sf-textarea,input[type=text].form-control{border-radius:var(--lx-radius)}

/* ============================================================================
   五、小屏
   ========================================================================== */
@media(max-width:1080px){
  .lx-hero{min-height:auto}
  .lx-hero-inner{padding-block:150px 56px}
  .lx-hero h1{font-size:clamp(34px,7vw,52px)}
  .lx-hero-foot{flex-direction:column;align-items:flex-start;gap:26px}
  .lx-nums{gap:26px}
  .lx-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lx-edit-grid{grid-template-columns:1fr}
  .lx-course-grid{grid-template-columns:1fr}
  .lx-cta .lx-wrap{grid-template-columns:1fr;align-items:start;gap:36px}
  .lx-cta .acts{align-items:flex-start;text-align:left}
  .lx-foot-grid{grid-template-columns:1fr 1fr}
  .lx-row>a{grid-template-columns:44px minmax(0,1fr) 30px;row-gap:8px}
  .lx-row .ds{display:none}
  .lx-case-row{grid-template-columns:70px minmax(0,1fr);row-gap:6px}
  .lx-case-row .tp,.lx-case-row .go{display:none}
  .sf-nav nav{display:none}
  .lx-nav .nav-cta{display:none}
}
@media(max-width:640px){
  .lx-hero-acts{flex-direction:column;align-items:stretch;gap:10px}
  /* 手机底部有固定的咨询条（约 64px），首屏底栏要让开它 */
  .lx-hero-foot{padding-bottom:84px}
  .lx-hero-acts .lx-btn{width:100%}
  .lx-nums{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .lx-nums>div:nth-child(3){border-left:0;padding-left:0}
  .lx-statement p{font-size:clamp(18px,4.6vw,24px)}
  .lx-cta h2{font-size:clamp(26px,7vw,36px)}
  .lx-foot-grid{grid-template-columns:1fr}
}
