/* ============================================================
   扬州联环投资有限公司 · 官网样式
   设计参照 J.P. Morgan（jpmorgan.com）：白底 + 品牌深棕点缀 + 细分隔线
   + 编辑部式排版 + 近黑页脚；零依赖、无外部 CDN
   ------------------------------------------------------------
   设计令牌（唯一来源，禁止在组件里写魔法数字）
   · 字阶：两比例流式 —— 320px 基准 17px / 比例 1.2 ；1500px 基准 20px / 比例 1.333
     全部 clamp 含 rem 项（随浏览器根字号缩放），且 max ≤ 2.5×min（实测最大 1.990）
   · 正文固定不流式：--text-body 17px，行高 1.78
   · 间距：固定步进（3xs…m）+ 流式组件内边距（s-m / m-l）+ 流式区块间距（l / xl）
   · 动效：150–550ms；全部可被 prefers-reduced-motion 关闭（令牌降级，无需 !important）
   ============================================================ */
:root{
  /* ========== 配色 1:1 取自 J.P. Morgan 官网（jpmorgan.com/global 的 CSS 自定义属性） ========== */
  /* topaz 系（其主交互色） */
  --topaz-800:#033142; --topaz-700:#005075; --topaz-600:#12647e; --topaz-500:#1a7b99;
  --topaz-400:#4ca1c2; --topaz-200:#afe0ed; --topaz-100:#dbf5f7;
  /* brown 系（其 --cwm-color-brown-*） */
  --brown-800:#422407; --brown-700:#774400; --brown-600:#7d532f; --brown-500:#936846;
  --brown-400:#b88a67; --brown-200:#ede5d8; --brown-100:#f3eee8; --brown-jpm:#4b2c1d;
  /* 暖白 / 冷灰底（其 wheat / cream / gray） */
  --wheat-15:#faf8f6; --wheat-25:#f7f4f0; --section-warm:#faf8f2; --card-cool:#f5f7f8; --gray-5a:#f2f2f2;
  /* dove gray（其边框/次级灰） */
  --dove-600:#615654; --dove-500:#7d7473; --dove-400:#aba4a2; --dove-200:#e0dad9; --dove-100:#f0e9e8;
  /* 语义状态（其 categorical 色板） */
  --ok:#008259; --warn:#bd5b00; --danger:#a50034;

  /* ---------- 语义别名（既有令牌名全部保留，组件无需改名） ---------- */
  --ink:#31373d;          /* 主文字＝其 body 实测色（白底 11.5:1） */
  --ink-2:#595959;        /* 次级文字＝其 black-65a（白底 7.0:1） */
  --ink-3:#7f7f7f;        /* 其 black-50a：小字仅 4.00:1（不足 AA）→ 全站小字改用 --ink-2；本令牌保留给 ≥18px 大字或非文本装饰 */
  --brown:#936846;        /* 品牌棕＝其 brown-500（白底 5.0:1，用于眉标与棕色文字链接） */
  --brown-2:#7d532f;      /* brown-600 */
  --brown-3:#b88a67;      /* brown-400（装饰） */
  --cream:#fffbf3;        /* 其 --cwm-color-cream */
  --cream-2:#f7f4f0;      /* 其 wheat-25 */
  --line:#e0dad9;         /* dove-200：纯装饰分隔 */
  --line-2:#aba4a2;       /* dove-400：弱化边框（仅装饰，白底 2.3:1） */
  --line-3:#615654;       /* dove-600：控件边界（白底 7.2:1 ≥ 3:1） */
  --white:#fff;
  --navy:#033142;         /* 其 topaz-800：深色带与图形 */
  --gold:#b88a67;         /* 金色退役→改用其 brown-400（UI 中不再出现 logo 金） */
  --primary:#1a7b99;      /* 其主按钮/链接色 topaz-500（白底 4.9:1） */
  --primary-hover:#12647e;/* topaz-600 */
  --primary-active:#005075;/* topaz-700 */

  /* ---------- 流式字阶（clamp 全部含 rem 项；@1440 实测值见注释） ---------- */
  --step--1:clamp(0.8854rem, 0.0709vi + 0.8712rem, 0.9377rem);  /* 14.17→15.00px（@1440 15.0）微小标签 */
  --step-0:clamp(1.0625rem, 0.2542vi + 1.0117rem, 1.2500rem);   /* 17.00→20.00px（@1440 19.8）导语 / 卡片标题 */
  --step-1:clamp(1.2750rem, 0.5305vi + 1.1689rem, 1.6663rem);   /* 20.40→26.66px（@1440 26.3）条目标题 / 引述 */
  --step-2:clamp(1.5300rem, 0.9371vi + 1.3426rem, 2.2211rem);   /* 24.48→35.54px（@1440 35.0）区块标题 h2 */
  --step-3:clamp(1.8360rem, 1.5251vi + 1.5310rem, 2.9607rem);   /* 29.38→47.37px（@1440 46.5）内页 h1 */
  --step-4:clamp(2.2032rem, 2.3640vi + 1.7304rem, 3.9467rem);   /* 35.25→63.15px（@1440 61.7）数据带数字 */
  --step-5:clamp(2.6438rem, 3.5486vi + 1.9341rem, 5.2609rem);   /* 42.30→84.17px（@1440 82.0）首屏展示标题 */

  /* ---------- 固定字级（正文与元信息不做流式） ---------- */
  --text-body:1rem;       /* 16px 长文正文（其 body 基准 16px） */
  --text-m:0.9375rem;     /* 15px 卡片摘要 / 列表摘要 */
  --text-s:0.875rem;      /* 14px 次要正文 / 表单标签 */
  --text-xs:0.8125rem;    /* 13px 元信息 / 表格 / 页脚 */
  --text-2xs:0.75rem;     /* 12px 眉标 / 编号（配 letter-spacing .16–.18em） */
  --text-3xs:0.625rem;    /* 10px 品牌拉丁副名（仅窄屏压缩用） */
  --lh-display:calc(1.3em + .3vw);  /* 大标题行高 */
  --lh-body:1.78;                   /* 正文行高 1.75–1.8 */
  --lh-tight:1.4;                   /* 卡片/列表标题 */

  /* ---------- 间距令牌 ---------- */
  --space-3xs:0.25rem;    /* 4px  紧邻元素（图标与文字） */
  --space-2xs:0.5rem;     /* 8px  标签与值 */
  --space-xs:0.75rem;     /* 12px 标题与摘要、控件内边距 */
  --space-s:1rem;         /* 16px 段落之间 */
  --space-m:1.5rem;       /* 24px 区块内标题到内容 */
  --space-s-m:clamp(1.0000rem, 0.6780vi + 0.8644rem, 1.5000rem);  /* 16→24px 组件内边距（one-up） */
  --space-m-l:clamp(1.5000rem, 1.0169vi + 1.2966rem, 2.2500rem);  /* 24→36px 组件内边距（one-up） */
  --space-l:clamp(2.2500rem, 1.6949vi + 1.9110rem, 3.5000rem);    /* 36→56px（@1440 55.0）块间距 */
  --space-xl:clamp(4.0000rem, 2.0339vi + 3.5932rem, 5.5000rem);   /* 64→88px（@1440 86.8）区块垂直间距 */

  /* ---------- 时长与缓动（150–550ms） ---------- */
  --dur-fast:150ms;       /* 悬停：颜色 / 边框 */
  --dur-base:240ms;       /* 按钮 / 控件状态 */
  --dur-slow:380ms;       /* 图片微缩放 */
  --dur-reveal:550ms;     /* 滚动淡入 */
  --ease:cubic-bezier(.2,.7,.3,1);
  --ease-out:ease;

  /* ---------- 形与层级（编辑部风：直角为主，阴影只给浮层） ---------- */
  --radius:0;                                  /* 全站直角；胶囊仅标签可用 */
  --shadow-overlay:0 18px 40px rgba(0,0,0,.07);/* 仅移动端下拉浮层 */

  /* ---------- 版面 ---------- */
  --wrap:1220px;
  --sans:"Amplitude", Arial, Helvetica, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--white);color:var(--ink);
  font:1rem/var(--lh-body) var(--sans);-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;letter-spacing:-.01em}
h1,h2{line-height:var(--lh-display)}
h1{font-weight:700}   /* 其 h1 实测 w700 */
h2{font-weight:300}   /* 其 h2 实测 w300（细体，J.P. Morgan 的显著特征） */
h3,h4{font-weight:700}
h3,h4{line-height:var(--lh-tight)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
/* 键盘焦点：浅底用品牌棕（11.05:1），深色块用金（7.39:1） */
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.band :focus-visible,.cta-band :focus-visible,footer :focus-visible{outline-color:var(--gold)}

/* ---------- 顶部工具条 ---------- */

/* ---------- 主导航 ---------- */
header.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:78px;position:relative}
.logo{display:flex;align-items:center;gap:var(--space-s);flex:0 1 auto;min-width:0}
.logo img{height:46px;width:auto}
.logo .wm{min-width:0}
.logo .wm b{display:block;font-size:var(--text-body);font-weight:700;letter-spacing:.02em;line-height:1.25;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo .wm span{display:block;font-size:var(--text-2xs);letter-spacing:.2em;color:var(--ink-2);text-transform:uppercase;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
nav.main{display:flex;align-items:center;gap:2px}
nav.main a{padding:10px var(--space-s);font-size:var(--step--1);color:var(--ink-2);border-bottom:2px solid transparent;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
nav.main a:hover{color:var(--ink);border-bottom-color:var(--brown)}
nav.main a.act{color:var(--ink);border-bottom-color:var(--primary)}
.hdr .cta{display:flex;align-items:center;gap:var(--space-xs)}
.btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-m-l);font-size:var(--text-s);font-weight:700;border-radius:3px;border:1px solid var(--ink);transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease);cursor:pointer;background:none;font-family:inherit;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--white)}
.btn-brown{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-brown:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.btn-ghost{border-color:var(--line-3);color:var(--ink-2)}
.btn-ghost:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.mtoggle{display:none;width:44px;height:40px;border:1px solid var(--line-3);background:none;cursor:pointer;padding:11px 10px}
.mtoggle i{display:block;height:1.6px;background:var(--ink);margin:4px 0}
@media(max-width:1080px){
  nav.main{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:var(--space-2xs) 20px var(--space-s);display:none;box-shadow:var(--shadow-overlay)}
  nav.main.open{display:flex}
  nav.main a{padding:var(--space-s) var(--space-3xs);border-bottom:1px solid var(--line)}
  .mtoggle{display:block}
  .hdr .cta .btn{display:none}
}
/* 窄屏收敛品牌字标：原 .logo 为 flex:0 0 auto 不可收缩，390px 下头部内容宽 442px（横向溢出 52px） */
@media(max-width:560px){
  .hdr .wrap{gap:var(--space-s)}
  .logo{gap:var(--space-xs)}
  .logo img{height:36px}
  .logo .wm b{font-size:var(--text-s)}
  .logo .wm span{font-size:var(--text-3xs);letter-spacing:.08em}
}
@media(max-width:380px){.logo .wm span{display:none}}

/* ---------- 文字链接（下划线 + 箭头） ---------- */
.tlink{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--step--1);color:var(--primary);border-bottom:1px solid var(--topaz-400);padding-bottom:3px;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),gap var(--dur-fast) var(--ease)}
.tlink:hover{color:var(--ink);border-bottom-color:var(--ink);gap:var(--space-s)}
.eyebrow{font-size:var(--text-2xs);letter-spacing:.18em;text-transform:uppercase;color:var(--brown);font-weight:700}
.lead{font-size:var(--step-0);line-height:1.8;color:var(--ink-2)}

/* ---------- 首屏 ---------- */
.hero{padding:var(--space-xl) 0;border-bottom:1px solid var(--line)}

.hero h1{font-size:var(--step-5);line-height:var(--lh-display);letter-spacing:-.02em;margin-top:var(--space-s-m)}
.hero .lead{margin-top:var(--space-m);max-width:620px}
.hero .acts{margin-top:var(--space-l);display:flex;gap:var(--space-m);align-items:center;flex-wrap:wrap}

/* ---------- 通用区块 ---------- */
section.blk{padding:var(--space-xl) 0;border-bottom:1px solid var(--line)}
.blk-h{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-m-l);margin-bottom:var(--space-m-l);flex-wrap:wrap}
.blk-h h2{font-size:var(--step-2);margin-top:var(--space-xs)}
.blk-h .lead{margin-top:var(--space-s);max-width:720px}

/* ---------- 四大板块 ---------- */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.sectors .s{padding:var(--space-3xs) var(--space-m-l);border-left:1px solid var(--line)}
.sectors .s:first-child{border-left:0;padding-left:0}
@media(max-width:980px){
  .sectors{grid-template-columns:repeat(2,1fr);row-gap:var(--space-m-l)}
  .sectors .s:nth-child(odd){border-left:0;padding-left:0}
}
@media(max-width:560px){
  .sectors{grid-template-columns:1fr}
  .sectors .s{border-left:0;padding:var(--space-m-l) 0 0;border-top:1px solid var(--line)}
  .sectors .s:first-child{border-top:0;padding-top:0}
}
.sectors .no{font-size:var(--text-2xs);letter-spacing:.16em;color:var(--brown);font-weight:700;font-variant-numeric:tabular-nums}
.sectors h3{margin-top:var(--space-s);font-size:var(--step-0)}
.sectors p{margin-top:var(--space-xs);color:var(--ink-2);font-size:var(--text-m)}
.sectors .more{margin-top:var(--space-s);display:block}

/* ---------- 数据带 ---------- */
.band{background:var(--navy);color:#fff;padding:var(--space-xl) 0}
.band .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:860px){.band .grid{grid-template-columns:repeat(2,1fr);row-gap:var(--space-m-l)}}
.band .k{padding:var(--space-3xs) var(--space-m-l);border-left:1px solid rgba(255,255,255,.18)}
.band .k:first-child{border-left:0;padding-left:0}
@media(max-width:860px){.band .k:nth-child(odd){border-left:0;padding-left:0}}
.band .k b{display:block;font-size:var(--step-4);line-height:1.05;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.band .k span{display:block;margin-top:var(--space-2xs);color:rgba(255,255,255,.72);font-size:var(--step--1)}
.band .k em{display:block;font-style:normal;color:var(--topaz-200);font-size:var(--text-2xs);letter-spacing:.16em;margin-bottom:var(--space-xs);text-transform:uppercase}

/* ---------- 新闻卡 ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-m-l)}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.card{border-top:2px solid var(--ink);padding-top:var(--space-s-m);display:flex;flex-direction:column;transition:border-color var(--dur-base) var(--ease)}
.card:hover{border-top-color:var(--brown)}
.card .cover{aspect-ratio:16/9;background:var(--card-cool);overflow:hidden;margin-bottom:var(--space-s);display:grid;place-items:center;color:var(--ink-2);font-size:var(--text-2xs);letter-spacing:.2em}
.card .cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease)}
.card .cover.ph{background:var(--cream);display:grid;place-items:center}
.card .cover.ph img{width:34%;height:auto;object-fit:contain;opacity:.45;mix-blend-mode:multiply}
.item .thumb.ph img{width:46%;height:auto;object-fit:contain;opacity:.45;mix-blend-mode:multiply}
/* 悬停微缩放 1.5%：370px 封面约 5.5px 位移，在 16px 位移预算内 */
.card:hover .cover img{transform:scale(1.015)}
.card .cat{font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--brown);font-weight:700}
.card h3{margin-top:var(--space-xs);font-size:var(--step-0);line-height:var(--lh-tight)}
.card h3 a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.card .sm{margin-top:var(--space-xs);color:var(--ink-2);font-size:var(--text-m);flex:1}
.card .mt{margin-top:var(--space-s);padding-top:var(--space-xs);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--ink-2);font-size:var(--text-xs);letter-spacing:.04em}

/* ---------- 关于我们 ---------- */
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-xl);align-items:start}
@media(max-width:960px){.two{grid-template-columns:1fr;gap:var(--space-m-l)}}
.points{margin-top:var(--space-m-l);display:grid;gap:0}
.points .p{padding:var(--space-s-m) 0;border-top:1px solid var(--line)}
.points .p:last-child{border-bottom:1px solid var(--line)}
.points b{font-size:var(--step-0)}
.points p{color:var(--ink-2);margin-top:var(--space-2xs);font-size:var(--text-m)}
.facts{margin:0;border-top:1px solid var(--line)}
.facts .f{display:flex;justify-content:space-between;gap:var(--space-s-m);padding:var(--space-s) 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--ink-2);font-size:var(--text-s)}
.facts dd{margin:0;font-weight:600;font-size:var(--text-m);font-variant-numeric:tabular-nums}

/* ---------- 联系 ---------- */
.contact{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:980px){.contact{grid-template-columns:repeat(2,1fr);row-gap:var(--space-m-l)}}
@media(max-width:560px){.contact{grid-template-columns:1fr}}
.contact .c{padding:var(--space-3xs) var(--space-m-l);border-left:1px solid var(--line)}
.contact .c:first-child{border-left:0;padding-left:0}
@media(max-width:980px){.contact .c:nth-child(odd){border-left:0;padding-left:0}}
@media(max-width:560px){.contact .c{border-left:0;padding:var(--space-m-l) 0 0;border-top:1px solid var(--line)}.contact .c:first-child{border-top:0;padding-top:0}}
.contact .k{font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.contact .v{margin-top:var(--space-2xs);font-size:var(--step-0);font-weight:600;word-break:break-all}
.contact .v a:hover{color:var(--brown);text-decoration:underline}

/* ---------- 页脚 ---------- */
footer{background:var(--wheat-15);border-top:1px solid var(--line);color:var(--ink-2);padding:var(--space-xl) 0 var(--space-m)}
footer .top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:var(--space-l)}
@media(max-width:900px){footer .top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){footer .top{grid-template-columns:1fr}}
footer .chip{background:transparent;padding:var(--space-xs);display:inline-block;margin-bottom:var(--space-s-m)}
footer .chip img{height:50px;width:auto}
footer p.desc{color:var(--ink-2);font-size:var(--text-s);line-height:1.8}
footer h4{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:var(--space-s)}
footer ul{margin:0;padding:0;list-style:none}
footer li{margin-bottom:var(--space-xs);font-size:var(--text-s)}
footer a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
footer .legal{margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-s);flex-wrap:wrap;font-size:var(--text-xs);color:var(--ink-2)}

/* ---------- 列表页 ---------- */
.pagehead{padding:var(--space-l) 0 var(--space-m-l);border-bottom:1px solid var(--line)}
.crumb{font-size:var(--text-xs);color:var(--ink-2);margin-bottom:var(--space-m)}
.crumb a:hover{color:var(--primary);text-decoration:underline}
.pagehead h1{font-size:var(--step-3);margin-top:var(--space-s)}
.filters{display:flex;gap:var(--space-m);flex-wrap:wrap;margin-top:var(--space-m);border-bottom:1px solid var(--line)}
.filters button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 2px;font-size:var(--text-s);color:var(--ink-2);cursor:pointer;font-family:inherit;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.filters button:hover{color:var(--ink)}
.filters button.on{color:var(--ink);border-bottom-color:var(--primary);font-weight:700}
.list{margin-top:var(--space-l)}
.item{display:grid;grid-template-columns:340px 1fr;gap:var(--space-l);padding:var(--space-m-l) 0;border-bottom:1px solid var(--line)}
@media(max-width:1080px){.item{grid-template-columns:260px 1fr}}
@media(max-width:820px){.item{grid-template-columns:1fr;gap:var(--space-s-m)}.item .thumb{max-width:100%}}
.item .thumb{width:100%;aspect-ratio:16/10;background:var(--cream-2);overflow:hidden;display:grid;place-items:center;color:var(--ink-2);font-size:var(--text-2xs);letter-spacing:.18em;border:1px solid var(--line)}
.item .thumb img{width:100%;height:100%;object-fit:cover}
.item h3{font-size:var(--step-1);line-height:var(--lh-tight);margin-top:var(--space-2xs)}
.item h3 a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.item .sm{margin-top:var(--space-xs);color:var(--ink-2);font-size:var(--text-m)}
.item .meta{margin-top:var(--space-s);display:flex;gap:var(--space-s);color:var(--ink-2);font-size:var(--text-xs);letter-spacing:.04em}
.item .cat{font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--brown);font-weight:700}
.pager{display:flex;gap:var(--space-2xs);justify-content:center;margin-top:var(--space-l);flex-wrap:wrap}
.pager button{min-width:42px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--line-3);background:none;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:var(--text-s);transition:background-color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}
.pager button:hover{border-color:var(--ink);color:var(--ink)}
.pager button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.empty{padding:var(--space-xl) 0;text-align:center;color:var(--ink-2)}

/* ---------- 详情页 ---------- */
.article{max-width:min(780px,68ch);margin:0 auto;padding:var(--space-l) 0 var(--space-s)}
.article h1{font-size:var(--step-3);line-height:var(--lh-display);margin-top:var(--space-s)}
.article .ameta{display:flex;gap:var(--space-m);flex-wrap:wrap;color:var(--ink-2);font-size:var(--text-xs);margin-top:var(--space-m);padding-bottom:var(--space-m);border-bottom:1px solid var(--line);letter-spacing:.04em}
.article .cat{color:var(--brown);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:var(--text-2xs)}
.a-body{margin-top:var(--space-m-l);font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink)}
.a-body p{margin:0 0 var(--space-m)}
.a-cover{margin:var(--space-m-l) 0;border:1px solid var(--line)}
.pn{display:flex;justify-content:space-between;gap:var(--space-m);margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--line);font-size:var(--text-s);color:var(--ink-2);flex-wrap:wrap}
.pn a:hover{color:var(--brown);text-decoration:underline}
.share{display:flex;gap:var(--space-s);align-items:center;margin-top:var(--space-m-l);flex-wrap:wrap;font-size:var(--text-xs);color:var(--ink-2)}
.share a,.share button{border:1px solid var(--line-3);padding:var(--space-2xs) var(--space-s);background:none;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:var(--text-xs);transition:border-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}
.share a:hover,.share button:hover{border-color:var(--ink);color:var(--ink)}
.related{margin-top:var(--space-xl);padding-top:var(--space-l);border-top:1px solid var(--line)}
.related h3{font-size:var(--step-1);margin-bottom:var(--space-m-l)}

/* ---------- 后台 ---------- */
.adm{max-width:1160px;margin:0 auto;padding:var(--space-l) var(--space-m-l) var(--space-xl)}
.adm h1{font-size:var(--step-1)}
.adm .hint{color:var(--ink-2);font-size:var(--text-xs);margin-top:var(--space-2xs)}
.adm-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-s);flex-wrap:wrap;margin-bottom:var(--space-m)}
.tabs{display:flex;gap:var(--space-3xs);flex-wrap:wrap}
.tabs button{padding:var(--space-xs) var(--space-s);border:1px solid var(--line-3);background:none;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:var(--text-s);transition:background-color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}
.tabs button:hover{border-color:var(--ink);color:var(--ink)}
.tabs button.on{background:var(--primary);border-color:var(--primary);color:#fff}
.box{border:1px solid var(--line);padding:var(--space-m-l);background:#fff}
.fld{margin-bottom:var(--space-s-m)}
.fld label{display:block;font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-2);margin-bottom:var(--space-2xs)}
.fld input,.fld select,.fld textarea{width:100%;padding:var(--space-xs) var(--space-s);border:1px solid var(--line-3);background:#fff;color:var(--ink);font-family:inherit;font-size:var(--text-m);transition:border-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}
.fld textarea{min-height:250px;line-height:var(--lh-body);resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,123,153,.18)}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px;box-shadow:none}
.fld .tip{color:var(--ink-2);font-size:var(--text-xs);margin-top:var(--space-2xs)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-s-m)}
@media(max-width:720px){.row{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:var(--text-s);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:var(--space-s) var(--space-xs);border-bottom:1px solid var(--line)}
th{color:var(--ink-2);font-weight:600;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}
tbody tr:hover{background:var(--cream)}
.tag{display:inline-block;padding:var(--space-3xs) var(--space-xs);font-size:var(--text-2xs);border:1px solid var(--line-3);color:var(--ink-2)}
/* 状态标签：边框与文字同色，保证边界 ≥3:1（原 #9fc9b3/#e0cf9a 仅 1.71/1.47:1） */
.tag.pub{color:var(--ok);border-color:currentColor;background:#f0f7f4}
.tag.dft{color:var(--warn);border-color:currentColor;background:#fdf6ef}
.ops{display:flex;gap:var(--space-2xs);flex-wrap:wrap}
.ops button{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--line-3);background:none;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:var(--text-xs);transition:border-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}
.ops button:hover{border-color:var(--ink);color:var(--ink)}
.ops button.del:hover{border-color:var(--danger);color:var(--danger)}
.login{max-width:400px;margin:12vh auto;padding:var(--space-l)}
.msg{margin-top:var(--space-s);font-size:var(--text-xs);color:var(--brown);min-height:20px}
.msg.err{color:var(--danger)}
.msg.ok{color:var(--ok)}
.adm .thumb{width:76px;height:46px;object-fit:cover;border:1px solid var(--line)}

/* ---------- 动画（克制；仅有 JS 时淡入，无 JS 也完整可见） ---------- */
html.anim .rv{opacity:0;transform:translateY(14px);transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}
html.anim .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  /* 令牌降级：所有用到 --dur-* 的过渡一并关闭，无需 !important */
  :root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-reveal:1ms}
  html{scroll-behavior:auto}
  html.anim .rv{opacity:1;transform:none;transition:none}
  .card:hover .cover img{transform:none}
}
/* ---------- 独立内页：锚点 / 板块特写行 / 三栏战略 / CTA 带 / 引述 / 地图 ---------- */
.anchors{display:flex;gap:var(--space-m);flex-wrap:wrap;margin-top:var(--space-m)}
.anchors a{font-size:var(--text-s);color:var(--ink-2);border-bottom:1px solid transparent;padding-bottom:3px;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.anchors a:hover{color:var(--brown);border-bottom-color:var(--brown)}
section.feat{padding:var(--space-xl) 0;border-top:1px solid var(--line)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-l);align-items:center}
@media(max-width:1000px){.fr{grid-template-columns:1fr;gap:var(--space-m-l)}}
.fr.rev .fv{order:2}
@media(max-width:1000px){.fr.rev .fv{order:0}}
.fv{position:relative;border:1px solid var(--line);background:var(--wheat-15);overflow:hidden}
.fv img{width:100%;height:auto;display:block}
.fv .badge{position:absolute;left:0;top:0;background:var(--navy);color:#fff;font-size:var(--text-2xs);letter-spacing:.18em;padding:var(--space-2xs) var(--space-s)}
.fx .ico{width:46px;height:46px;display:block;margin-bottom:var(--space-s-m)}
.fx h2{font-size:var(--step-2);margin-top:var(--space-2xs)}
.fx .lead{margin-top:var(--space-s)}
.bullets{list-style:none;margin:var(--space-m) 0 0;padding:0}
.bullets li{position:relative;padding:var(--space-xs) 0 var(--space-xs) 22px;border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--text-m)}
.bullets li:last-child{border-bottom:1px solid var(--line)}
/* 方块与首行文字中线对齐：padding-top 12px + 半行高 .875em − 半方块 4px */
.bullets li::before{content:"";position:absolute;left:0;top:calc(var(--space-2xs) + .875em);width:var(--space-2xs);height:var(--space-2xs);background:var(--brown-500)}
.fx .tlink{margin-top:var(--space-m)}
.cta-band{background:var(--navy);color:#fff;padding:var(--space-xl) 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-m-l);flex-wrap:wrap}
.cta-band h2{font-size:var(--step-2);margin-top:var(--space-xs)}
.cta-band p{color:rgba(255,255,255,.72);margin-top:var(--space-xs);max-width:640px}
.cta-band .btn{border-color:#fff;background:#fff;color:var(--ink)}
.cta-band .btn:hover{background:var(--topaz-100);border-color:var(--topaz-100);color:var(--ink)}
.k3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@media(max-width:900px){.k3{grid-template-columns:1fr;row-gap:var(--space-m-l)}}
.k3 .k{padding:var(--space-3xs) var(--space-m-l);border-left:1px solid var(--line)}
.k3 .k:first-child{border-left:0;padding-left:0}
@media(max-width:900px){.k3 .k{border-left:0;padding:var(--space-m-l) 0 0;border-top:1px solid var(--line)}.k3 .k:first-child{border-top:0;padding-top:0}}
.k3 em{display:block;font-style:normal;color:var(--brown);font-size:var(--text-2xs);letter-spacing:.18em;font-weight:700}
.k3 h3{margin-top:var(--space-s);font-size:var(--step-1)}
.k3 p{margin-top:var(--space-xs);color:var(--ink-2);font-size:var(--text-m)}
.pquote{border-left:3px solid var(--brown-500);background:var(--wheat-25);padding:var(--space-l)}
.pquote p{font-size:var(--step-1);line-height:var(--lh-tight);font-weight:600;letter-spacing:-.01em}
.pquote span{display:block;margin-top:var(--space-s);color:var(--ink-2);font-size:var(--text-s)}
.mapbox{margin-top:var(--space-m);border:1px solid var(--line);background:var(--cream)}
.mapbox svg{width:100%;height:auto;display:block}
/* ---------- Lead 集成补充：交互状态三连（:active / :disabled / 键盘焦点） ---------- */
.btn:active,.filters button:active,.pager button:active,.tabs button:active,.ops button:active,.tlink:active{transform:translateY(1px)}
.btn:disabled,.btn[disabled],.filters button:disabled,.pager button:disabled,.tabs button:disabled,.ops button:disabled,.share button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
footer a:focus-visible,footer button:focus-visible{outline-color:var(--gold)}
@media(max-width:720px){.box table{display:block;overflow-x:auto;white-space:nowrap}}
/* ---------- 首屏：品牌定位（文左 + 大都会竖图右） ---------- */
.hero{padding:var(--space-l) 0 0}
.hero .grid{display:grid;grid-template-columns:1fr .66fr;gap:var(--space-xl);align-items:start}
.hero .eyebrow{margin-bottom:var(--space-s)}
.hero h1{font-size:var(--step-4);max-width:15em}
.hero .lead{margin-top:var(--space-m);max-width:34em}
.hero .acts{margin-top:var(--space-m-l)}
.hero-media{position:relative;overflow:hidden;background:var(--cream)}
.hero-media img{width:100%;height:auto;aspect-ratio:1/1.5;object-fit:cover;display:block}
/* CTA：全大写 + 字距（其 CTA 规格 14px / w700 / 3px 圆角） */
.btn-cta{letter-spacing:.14em;text-transform:uppercase;padding:var(--space-xs) var(--space-xl)}
@media(max-width:1000px){
  .hero .grid{grid-template-columns:1fr;gap:var(--space-l)}
  .hero-media img{aspect-ratio:4/3}
  .hero h1{max-width:none}
}
/* ============================================================
   首页版式（首页段落序列：首屏 → 公司简介 → 图标卡 4 栏 → 洞察 3 卡 → 大都会深色带 → 页脚）
   ============================================================ */
/* 3) 图标卡 4 栏（其「What problem can we solve together?」白卡 + 图标 + Learn more） */
.icsec{background:var(--card-cool);border-top:1px solid var(--line);padding:var(--space-xl) 0}
.icsec .blk-h{margin-bottom:var(--space-l)}
.icgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-s)}
@media(max-width:1040px){.icgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.icgrid{grid-template-columns:1fr}}
.iccard{background:#fff;border:1px solid var(--line);padding:var(--space-m-l) var(--space-m);display:flex;flex-direction:column;transition:box-shadow var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}
.iccard:hover{border-color:var(--line-3)}
.iccard img.ico{width:44px;height:44px;object-fit:contain;margin-bottom:var(--space-s)}
.iccard h3{font-size:var(--step--1);font-family:var(--sans);font-weight:700;letter-spacing:.01em}
.iccard p{margin-top:var(--space-2xs);font-size:var(--text-s);line-height:1.75;color:var(--ink-2);flex:1}
.iccard .lm{margin-top:var(--space-s);font-size:var(--text-s);color:var(--primary);display:inline-flex;align-items:center;gap:6px;transition:gap var(--dur-fast) var(--ease)}
.iccard:hover .lm{text-decoration:underline;text-underline-offset:4px}
/* 其卡片组下方的圆形翻页（移动端可横向滚动时才有意义） */
.icnav{display:flex;gap:10px;justify-content:center;margin-top:var(--space-l)}
.icdots{display:flex;gap:8px;align-items:center}
.icdots i{width:8px;height:8px;border-radius:50%;background:var(--line-2);display:block}
.icdots i.on{background:var(--primary)}
@media(max-width:1040px){.icgrid{overflow-x:auto;scroll-snap-type:x mandatory}.iccard{scroll-snap-align:start}}

/* 4) 图片深色带（其 podcast 带：照片背景 + 深色遮罩 + 文字与按钮） */
.bandphoto{position:relative;color:#fff;overflow:hidden;border-top:1px solid var(--line)}
.bandphoto img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bandphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,34,.88),rgba(3,20,34,.55))}
.bandphoto .wrap{position:relative;z-index:1;padding:var(--space-xl) 28px}
.bandphoto h2{font-size:var(--step-2);color:#fff}
.bandphoto p{margin-top:var(--space-s);color:rgba(255,255,255,.8);max-width:620px}
.bandphoto .btn{margin-top:var(--space-m-l)}
/* 待补充占位（客户待填信息：虚线标出，仍用 --ink-2 保证对比度） */
.tbd{font-style:normal;color:var(--ink-2);border-bottom:1px dashed var(--line-2);padding-bottom:1px}
/* 抓取入库的文章配图（正文中独立成段的 /uploads 图片） */
.a-img{margin:var(--space-m-l) 0}
.a-img img{width:100%;height:auto;display:block;border:1px solid var(--line)}
/* 窗口式分页：省略号与总数说明（条目多时不逐页出按钮） */
.pager .gap{align-self:center;color:var(--ink-2);padding:0 2px}
.pager .pginfo{align-self:center;margin-left:var(--space-s);color:var(--ink-2);font-size:var(--text-xs)}
/* 分页跳转（条目多时快速定位） */
.pager .pgjump{align-self:center;display:inline-flex;align-items:center;gap:6px;margin-left:var(--space-s);color:var(--ink-2);font-size:var(--text-xs)}
.pager .pgjump input{width:64px;padding:6px 8px;border:1px solid var(--line-3);background:#fff;color:var(--ink);font-family:inherit;font-size:var(--text-xs);text-align:center}
.pager .pgjump button{padding:6px 10px;border:1px solid var(--line-3);background:none;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:var(--text-xs)}
.pager .pgjump button:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:560px){
  .pager{gap:6px}
  .pager button{min-width:38px;padding:6px 8px}
  .pager .pgjump{margin-left:0;flex-basis:100%;justify-content:center;margin-top:var(--space-xs)}
  .pager .pgjump input{width:56px}
  .pager .pginfo{display:none}
}
/* 无图新闻的占位：投资图标（居中、不拉伸） */
.item .thumb.phico,.card .cover.phico{background:var(--wheat-25);display:grid;place-items:center}
.item .thumb.phico img,.card .cover.phico img{width:56px;height:56px;object-fit:contain}
@media(max-width:560px){.item .thumb.phico img,.card .cover.phico img{width:44px;height:44px}}
/* 页脚「母公司」署名：股份标识 + 名称（浅底用深色版标识） */
.stockmark{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-s);color:var(--ink-2);font-size:var(--text-s);line-height:1.5;max-width:34ch}
.stockmark img{flex:0 0 auto;display:block}
.stockmark b{font-weight:600;color:var(--ink)}
.stockmark:hover b{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.stockmark:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:560px){.stockmark{max-width:none}}
/* 竖版/方形封面（扫描件、通知、竖构图）：contain 展示全图，不裁切主体 */
.item .thumb.contain,.card .cover.contain{background:var(--wheat-25)}
.item .thumb.contain img,.card .cover.contain img{object-fit:contain}
.a-cover.contain{background:var(--wheat-25);display:grid;place-items:center}
.a-cover.contain img{object-fit:contain;max-height:74vh;width:auto;max-width:100%}
/* 高德地图入口卡（免密钥方案：跳转高德检索） */
.mapcard{display:flex;align-items:center;gap:var(--space-s);margin-top:var(--space-s);padding:var(--space-s-m) var(--space-m-l);border:1px solid var(--line-3);background:var(--wheat-25);text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.mapcard:hover{border-color:var(--primary);background:#fff}
.mapcard-ic{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-3);color:var(--primary);background:#fff}
.mapcard-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.mapcard-tx b{font-size:var(--text-m)}
.mapcard-tx span{color:var(--ink-2);font-size:var(--text-s)}
.mapcard-go{margin-left:auto;color:var(--primary);font-size:var(--text-s);white-space:nowrap}
.mapcard:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:560px){.mapcard{flex-wrap:wrap}.mapcard-go{margin-left:0;width:100%}}