/* ============================================================
   博瑞威斯顿 BORUI WISDOM — 企业官网改版
   设计系统：VI视觉识别系统 v1.0 + 企业官网开发文档（含GEO）
   风格：金融级严谨秩序 × 国际范艺术质感 · 深色模式优先
   原则：克制 · 沉稳 · 高端 · 专业可靠
   ============================================================ */

/* ============ Design Tokens ============ */
:root{
  /* 基底色 */
  --black:#000000;
  --rich-black:#0A0A0A;
  --ink:#1A1A1A;
  --white:#FFFFFF;
  --off-white:#F7F7F7;

  /* 高级灰阶（9级） */
  --g-950:#0A0A0A;
  --g-900:#111111;
  --g-850:#161616;
  --g-800:#1F1F1F;
  --g-700:#2C2C2C;   /* 深色边框/分割线 */
  --g-600:#374151;
  --g-500:#4B5563;
  --g-400:#6B7280;   /* 禁用/占位 */
  --g-300:#9CA3AF;   /* 浅色图标/次级文字 */
  --g-200:#D1D5DB;
  --g-100:#E5E7EB;

  /* 哑光金色阶（9级） */
  --gold-900:#8A6E2F;  /* 深暗金 · 链接/强调文本 */
  --gold-800:#8C7752;
  --gold-700:#9F8A60;  /* 激活/选中 */
  --gold-600:#C9B389;  /* 品牌主色 Champagne */
  --gold-500:#D4C3A5;  /* Satin · 成功/确认 */
  --gold-400:#E0D2B8;
  --gold-300:#E8D9BC;  /* 浅金 · 黑底标题 */
  --gold-200:#F0E4CD;  /* 警告/提示 */
  --gold-100:#FBF2DC;

  /* 交互金（组件级，VI 2.5/开发文档 4.2） */
  --brand:#C5A059;
  --brand-strong:#C9B389;

  /* 辅助色（极克制使用 2-4%） */
  --slate-deep:#3A4F6B;
  --slate-mid:#72849C;
  --rose:#A8646E;
  --burgundy:#6B2E38;
  --purple:#4A4059;

  /* 语义变量 */
  --bg:#000000;
  --bg-2:#0A0A0A;
  --surface:#0E0E0F;
  --surface-2:#141416;
  --border:#2C2C2C;
  --border-soft:#1F1F1F;
  --text:#FFFFFF;
  --text-2:#E5E5E5;
  --text-3:#9CA3AF;
  --text-4:#6B7280;

  /* 渐变（三段式微渐变） */
  --grad-gold:linear-gradient(135deg,#FFD700 0%,#C5A059 50%,#8A6E2F 100%);
  --grad-gold-soft:linear-gradient(135deg,rgba(201,179,137,.16),rgba(201,179,137,.04));
  /* 金属质感的香槟金：浅香槟高光 → 哑光金中段 → 深金暗部，模拟拉丝/抛光金属表面 */
  --grad-champagne:linear-gradient(145deg,#F6EAD0 0%,#E6D2A8 26%,#C9B389 58%,#A8895A 100%);

  /* 字体：阿里巴巴普惠体 3.0（免费商用，本地子集化，含拉丁与数字） */
  --font-sans:"Alibaba PuHuiTi 3.0","PingFang SC","Microsoft YaHei",-apple-system,sans-serif;

  /* 间距（4px 基准栅格） */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px; --s-5:20px;
  --s-6:24px; --s-7:32px; --s-8:40px; --s-9:48px; --s-10:64px; --s-11:80px; --s-12:100px;

  /* 圆角 */
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-pill:9999px;

  /* 阴影（深色模式无阴影，用边框区分；浅色/浮起用微光） */
  --shadow-gold:0 8px 30px rgba(197,160,89,.16);
  --shadow-soft:0 10px 40px rgba(0,0,0,.55);

  /* 动效（克制：150–400ms） */
  --ease:cubic-bezier(0.25,0.1,0.25,1.0);
  --t-fast:150ms;
  --t-base:250ms;
  --t-slow:400ms;

  --nav-h:64px;
  --maxw:1200px;
}

/* ============ Reset ============ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--text-2);
  line-height:1.82;
  font-size:16px;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}
::selection{background:rgba(197,160,89,.28);color:#fff}

/* 焦点样式：金色描边（VI 3.5 / 开发文档 无障碍） */
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}

/* 滚动条 */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#050505}
::-webkit-scrollbar-thumb{background:#262626;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-800)}

/* ============ Layout ============ */
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--s-6)}
section{position:relative}
.section{padding:var(--s-12) 0}
.section-head{max-width:760px;margin:0 auto var(--s-10);text-align:center}

/* 章节标签（点缀，非铺面） */
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--s-2);
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-600);font-weight:600;margin-bottom:var(--s-4);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold-700);display:inline-block}
.eyebrow.center::after{content:"";width:28px;height:1px;background:var(--gold-700);display:inline-block}

.h2{
  font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--text);
  letter-spacing:.02em;line-height:1.25;
}
.h3{font-size:clamp(22px,2.6vw,28px);font-weight:600;color:var(--text);line-height:1.3}
.lead{font-size:15px;color:var(--text-3);margin-top:var(--s-4);line-height:1.9}
.gold-text{
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--gold-600);
}

/* 细分隔线 */
.hr{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);border:0;margin:0}

/* ============ Icon (线性 · 1.5px · 描边金) ============ */
.icon{width:36px;height:36px;flex:0 0 auto;stroke:var(--brand);stroke-width:1.5;fill:none;
  stroke-linecap:round;stroke-linejoin:round;color:var(--brand)}
.icon-lg{width:32px;height:32px}
.icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:var(--r-md);
  background:var(--grad-gold-soft);border:1px solid rgba(197,160,89,.22);
  color:var(--gold-600);
  float: left;
}

/* ============ Navigation ============ */
.nav{
  position:fixed;top:0;left:0;width:100%;height:var(--nav-h);z-index:1000;
  background:rgba(0,0,0,.72);
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid transparent;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease);
}
.nav.scrolled{background:rgba(0,0,0,.92);border-bottom-color:var(--border)}
.nav-inner{max-width:var(--maxw);height:100%;margin:0 auto;padding:0 var(--s-6);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-6)}
.brand{display:flex;align-items:center;gap:var(--s-3);cursor:pointer}
.brand-mark{
  width:34px;height:34px;flex:0 0 auto;display:block;
}
/* 品牌文字：中文在上、英文在下（移动端/桌面端一致） */
.brand-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.brand-text .zh{display:block;font-size:17px;font-weight:700;color:var(--text);letter-spacing:.06em;line-height:1.15;white-space:nowrap}
.brand-text .en{display:block;font-size:10px;color:var(--gold-600);letter-spacing:.12em;text-transform:uppercase;margin-top:3px;line-height:1.2;white-space:nowrap;padding: 2px;}

.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{
  position:relative;font-size:14px;color:var(--text-3);padding:9px 13px;
  /* 透明边框占位：选中态加实体边框时不会撑动布局 */
  border:1px solid transparent;border-radius:var(--r-md);
  transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),
             border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
  white-space:nowrap;
}
/* hover 与选中态共用同一套背景框（与二级菜单面板同款：深色底 + 描边 + 圆角 + 投影）
   用子选择器 > 精确限定一级链接，避免误伤 .nav-sub 内的二级菜单项 */
.nav-links>a:hover,.nav-links>a.active{
  color:var(--brand);
  background:rgba(8,8,8,.95);
  border-color:var(--border);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
}
/* 背景框已足以表达状态，下划线不再显示 */
.nav-links>a:hover::after,.nav-links>a.active::after{display:none}
.nav-links a.active{color:var(--brand)}

/* 二级菜单（核心业务） */
.nav-item{
  position:relative;display:flex;align-items:center;
  border:1px solid transparent;border-radius:var(--r-md);
  transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),
             box-shadow var(--t-fast) var(--ease);
}
.nav-item>a{padding-right:4px}
.sub-toggle{
  display:flex;align-items:center;justify-content:center;
  width:22px;height:22px;margin-right:8px;padding:0;
  background:none;border:0;border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;
  transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease);
}
.sub-toggle:hover{color:var(--text);background:rgba(255,255,255,.06)}
.sub-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.sub-toggle .caret{width:12px;height:12px;transition:transform var(--t-base) var(--ease)}
.nav-item:hover>.sub-toggle,.nav-item.open>.sub-toggle{color:var(--brand)}
.nav-item:hover>.sub-toggle .caret,.nav-item.open>.sub-toggle .caret{transform:rotate(180deg)}

.nav-sub{
  position:absolute;top:calc(100% + 10px);left:50%;z-index:20;
  min-width:172px;padding:var(--s-2);display:flex;flex-direction:column;gap:2px;
  background:rgba(8,8,8,.97);
  backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);
  border:1px solid var(--border);border-radius:var(--r-md);
  box-shadow:0 18px 44px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateX(-50%) translateY(-8px);
  transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease),visibility var(--t-base) var(--ease);
}
.nav-item:hover>.nav-sub,
.nav-item:focus-within>.nav-sub,
.nav-item.open>.nav-sub{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)
}
.nav-sub::before{content:"";position:absolute;top:-11px;left:0;right:0;height:11px}
.nav-sub a{
  padding:9px 12px;font-size:13px;border-radius:var(--r-sm);
  color:var(--text-3);white-space:nowrap;
  transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease);
}
.nav-sub a::after{display:none}
.nav-sub a:hover{color:var(--text);background:rgba(197,160,89,.1)}
.nav-sub a.active{color:var(--brand);background:rgba(197,160,89,.08)}
/* 核心业务（带二级菜单）：hover 与选中时整个 item（文字 + 箭头）套同一个背景框，
   避免出现「文字一个框、外层再一个框」的双层框 */
.nav-item:hover,.nav-item:has(>a.active){
  background:rgba(8,8,8,.95);
  border-color:var(--border);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
}
/* 框由父级 .nav-item 统一绘制，子链接自身不再画框（特异性需与 .nav-links>a:hover 对齐才能覆盖） */
.nav-item>a:hover,.nav-item>a.active{background:none;border-color:transparent;box-shadow:none}
.nav-item>a.active{color:var(--brand)}
.nav-item>a.active::after,.nav-item>a:hover::after{display:none}

/* 与其余导航项完全同构：无背景、同内边距、下划线动效一致，仅以粗体区分 */
.nav-cta{
  margin-left:var(--s-3);padding:10px 14px;
  background:none;border:0;border-radius:0;
  color:var(--text-3);font-weight:700;font-size:14px;letter-spacing:.02em;
  transition:color var(--t-fast) var(--ease);
}
.nav-cta:hover{filter:none;transform:none;box-shadow:none;color:var(--text)}
.nav-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}

.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px}
.menu-toggle span{width:24px;height:2px;background:var(--text);transition:var(--t-fast) var(--ease);transform-origin:center}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  padding:13px 28px;border-radius:var(--r-sm);font-size:15px;font-weight:600;
  border:1px solid transparent;letter-spacing:.02em;
  transition:filter var(--t-fast) var(--ease),background var(--t-fast) var(--ease),
             color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),
             transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
}
.btn .icon{width:18px;height:18px}
.btn-primary{background:var(--brand);color:#0a0a0a}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:var(--shadow-gold)}
.btn-primary:active{filter:brightness(.96)}
.btn-secondary{background:transparent;color:var(--text);border-color:var(--g-600)}
.btn-secondary:hover{border-color:var(--brand);color:var(--gold-600)}
.btn-ghost{background:transparent;color:var(--gold-600);padding-left:0;padding-right:0}
.btn-ghost .u{display:inline-block;border-bottom:1px solid var(--gold-700);padding-bottom:2px;transition:border-color var(--t-fast) var(--ease),width var(--t-fast) var(--ease)}
.btn-ghost:hover .u{border-color:var(--gold-300)}
.btn[disabled]{opacity:.4;pointer-events:none;cursor:not-allowed}

/* ============ Hero ============ */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + var(--s-11)) 0 var(--s-11);overflow:hidden;
  background:
    radial-gradient(1100px 600px at 78% 12%,rgba(197,160,89,.12),transparent 60%),
    radial-gradient(900px 500px at 12% 90%,rgba(58,79,107,.10),transparent 60%),
    linear-gradient(180deg,#000 0%,#0A0A0A 100%);
}
#kline{position:absolute;inset:0;width:100%;height:100%;opacity:1;z-index:0;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(120% 85% at 50% 30%,transparent 55%,rgba(0,0,0,.32) 100%)}
.hero-inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 var(--s-6);width:100%}
.hero-badge{
  display:inline-flex;align-items:center;gap:var(--s-2);
  padding:7px 18px;border-radius:var(--r-pill);
  background:rgba(197,160,89,.10);border:1px solid rgba(197,160,89,.28);
  color:var(--gold-300);font-size:13px;letter-spacing:.04em;margin-top:var(--s-7);margin-bottom:var(--s-7);
}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);
  box-shadow:0 0 0 0 rgba(197,160,89,.6);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(197,160,89,.55)}70%{box-shadow:0 0 0 10px rgba(197,160,89,0)}100%{box-shadow:0 0 0 0 rgba(197,160,89,0)}}
.hero h1{
  font-size:clamp(44px,8vw,92px);font-weight:800;color:var(--text);
  letter-spacing:.04em;line-height:1.04;margin-bottom:var(--s-4);
}
.hero .en-name{
  font-size:clamp(14px,2.4vw,32px);color:var(--gold-600);font-weight:600;
  letter-spacing:.6em;text-transform:uppercase;margin-bottom:60px;padding-left:10px;
}
.hero-tagline{
  font-size:clamp(15px,2vw,20px);color:var(--text-3);letter-spacing:.02em;
  margin-bottom:var(--s-9);max-width:680px;line-height:1.9;
}
.hero-tagline b{color:var(--text);font-weight:600}
.hero-stats{display:flex;flex-wrap:wrap;gap:var(--s-9);border-top:1px solid var(--border);padding-top:var(--s-7);max-width:760px}
.stat .num{font-size:clamp(30px,4vw,44px);font-weight:800;color:var(--gold-600);line-height:1;font-variant-numeric:tabular-nums}
.stat .label{font-size:13px;color:var(--text-4);margin-top:var(--s-2);letter-spacing:.04em}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;
  color:var(--text-4);font-size:11px;letter-spacing:.3em;text-align:center}
.hero-scroll .line{width:1px;height:34px;background:linear-gradient(var(--gold-700),transparent);margin:10px auto 0;animation:scrollPulse 2s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ============ About ============ */
.about{background:var(--bg-2)}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-10);align-items:center}
.about-text p{font-size:15.5px;color:var(--text-2);line-height:2;margin-bottom:var(--s-5)}
.about-text p .hl{color:var(--gold-600);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
.tag{padding:8px 16px;border-radius:var(--r-pill);background:var(--surface);
  border:1px solid var(--border);font-size:13px;color:var(--text-2);
  transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.tag:hover{border-color:var(--gold-700);color:var(--gold-600);transform:translateY(-2px)}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.stat-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--s-7) var(--s-6);text-align:center;position:relative;overflow:hidden;
  transition:border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)
}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-gold);opacity:.0;transition:opacity var(--t-base) var(--ease)}
.stat-card:hover{transform:translateY(-5px);border-color:var(--gold-800)}
.stat-card:hover::before{opacity:1}
.stat-card .ic{font-size:26px;margin-bottom:var(--s-3)}
.stat-card .ic .icon{width:55px;height:55px;}
.stat-card .n{font-size:34px;font-weight:800;color:var(--text);line-height:1}
.stat-card .d{font-size:13px;color:var(--text-4);margin-top:var(--s-2)}

/* ============ Services ============ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
.svc-card{
  position:relative;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-md);padding:var(--s-7) var(--s-6);overflow:hidden;text-align:left;
  transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)
}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) var(--ease)}
.svc-card:hover{transform:translateY(-6px);border-color:var(--gold-800)}
.svc-card:hover::before{transform:scaleX(1)}
/* 图标 + 标题靠左成组，序号推到右侧 */
.svc-card .top{display:flex;align-items:center;gap:var(--s-3);justify-content:flex-start;margin-bottom:var(--s-5)}
.svc-card .top .icon{width:36px;height:36px;flex:0 0 auto}
.svc-card .num{flex:0 0 auto;margin-left:auto;text-align:right;font-size:20px;font-weight:700;letter-spacing:.18em;color:var(--gold-700)}
.svc-card .card-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:.01em;min-width:0}
.svc-card .card-desc{font-size:13.5px;color:var(--text-3);line-height:1.85}

/* ============ New Media ============ */
.newmedia{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.nm-intro{max-width:820px;margin:0 auto var(--s-9);text-align:center;font-size:15.5px;color:var(--text-2);line-height:2}
.nm-dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6);margin-bottom:var(--s-6)}
.nm-dim{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--s-7) var(--s-6);transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.nm-dim:hover{transform:translateY(-6px);border-color:var(--gold-800)}
.nm-dim .dim-title-box{display: block;float: left;margin-left:var(--s-4)}
.nm-dim .dim-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}
.nm-dim .dim-sub{font-size:13px;color:var(--gold-600);font-weight:600;}
.nm-dim ul li{font-size:13.5px;color:var(--text-2);padding:7px 0 7px 20px;position:relative;line-height:1.6}
.nm-dim ul li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.nm-dim-top{display: block;height: 60px;margin: 0 0 5px 0;}
.nm-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
.nm-feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--s-6) var(--s-5);transition:border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
.nm-feat:hover{border-color:var(--gold-800);transform:translateY(-4px)}
.nm-feat .ft{font-size:15px;font-weight:700;color:var(--text);margin:var(--s-3) 0 8px}
.nm-feat .fd{font-size:12.5px;color:var(--text-4);line-height:1.7;margin: 10px 0 0 0;}
.kol-block{margin-top:var(--s-9);background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-md);padding:var(--s-8);text-align:center}
.kol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin-top:var(--s-6)}
.kol{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-6) var(--s-4)}
.kol .kn{font-size:15px;font-weight:700;color:var(--text);margin:var(--s-3) 0 6px}
.kol .kd{font-size:12px;color:var(--text-4);line-height:1.6;margin: 10px 0 0 0;}

/* ============ PR & GEO ============ */
.prgeo{background:var(--rich-black);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.pr-flow{
  --pr-arrow:28px;                       /* 箭线长度 = 卡片间距 */
  display:flex;flex-wrap:wrap;
  gap:var(--s-6) var(--pr-arrow);        /* 行间距 / 列间距：换行时不再挤在一起 */
  margin-bottom:var(--s-9);
}
.pr-step{flex:1 1 150px;min-width:150px;position:relative;padding:var(--s-5) var(--s-4);text-align:center;
  background:rgba(255,255,255,.02);border:1px solid var(--border-soft);border-radius:var(--r-md);
  display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;
  column-gap:var(--s-2);row-gap:6px;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
.pr-step:hover{background:rgba(197,160,89,.08);border-color:rgba(197,160,89,.3);transform:translateY(-4px)}
/* 序号与标题同行：sn(1,1) · st(1,2) · 描述(2, 跨列) */
.pr-step .sn{grid-area:1 / 1 / 2 / 2;font-size:15px;font-weight:700;letter-spacing:.16em;color:var(--gold-700)}
.pr-step .st{grid-area:1 / 2 / 2 / 3;font-size:15px;font-weight:700;color:var(--text);margin:0}
.pr-step .sd{grid-area:2 / 1 / 3 / 3;font-size:12.5px;color:var(--text-4);line-height:1.6;margin-top:2px}
/* 连接线：起点贴本卡右边框、终点贴下卡左边框，长度 = 间距 */
.pr-step .arrow{
  position:absolute;left:calc(100% + 1px);top:50%;transform:translateY(-50%);
  width:var(--pr-arrow);height:1px;z-index:2;
  font-size:0;line-height:0;color:transparent;
  background:linear-gradient(90deg,rgba(197,160,89,.18),var(--gold-700));
}
.pr-step .arrow::after{
  content:"";position:absolute;right:1px;top:50%;width:5px;height:5px;
  border-top:1.5px solid var(--gold-700);border-right:1.5px solid var(--gold-700);
  transform:translateY(-50%) rotate(45deg);transform-origin:center;
}
.pr-step:last-child .arrow{display:none}
.pr-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin-bottom:var(--s-9)}
.pr-adv .pa{background:rgba(255,255,255,.02);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-6);transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.pr-adv .pa:hover{background:rgba(197,160,89,.06);border-color:rgba(197,160,89,.25)}
.pr-adv .pt{font-size:15px;font-weight:700;color:var(--text);margin:var(--s-3) 0 8px}
.pr-adv .pd{font-size:12.5px;color:var(--text-4);line-height:1.7;margin: 10px 0 0 0;}
.geo-card{background:rgba(255,255,255,.02);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-8)}
.geo-card h3{font-size:22px;font-weight:700;color:var(--text);margin-bottom:var(--s-4)}
.geo-card>p{font-size:14px;color:var(--text-3);line-height:2;margin-bottom:var(--s-7)}
.geo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.geo-item{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-6);transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.geo-item:hover{background:rgba(197,160,89,.06);border-color:rgba(197,160,89,.2)}
.geo-item .gt{font-size:14px;font-weight:700;color:var(--gold-300);margin:var(--s-3) 0 6px}
.geo-item .gd{font-size:12.5px;color:var(--text-4);line-height:1.7}

/* ============ Training ============ */
.training{background:linear-gradient(180deg,var(--bg),var(--bg-2))}
/* Training banner */
.tb{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:var(--s-10) var(--s-9);
  margin-bottom:var(--s-9);background:
   radial-gradient(700px 400px at 82% 30%,rgba(197,160,89,.16),transparent 60%),
   linear-gradient(135deg,#0A0A0A,#161616);
  border:1px solid var(--border)}
.tb-badge{display:inline-flex;align-items:center;gap:var(--s-2);padding:6px 16px;border-radius:var(--r-pill);
  background:rgba(197,160,89,.12);border:1px solid rgba(197,160,89,.3);color:var(--gold-300);font-size:12px;letter-spacing:.04em;margin-bottom:var(--s-5)}
.tb h3{font-size:clamp(24px,3vw,30px);font-weight:800;color:var(--text);margin-bottom:var(--s-4);letter-spacing:.02em}
.tb p{font-size:14.5px;color:var(--text-3);line-height:2;max-width:840px}
.tb-certs{display:flex;gap:var(--s-4);margin-top:var(--s-7);flex-wrap:wrap}
.cert{background:rgba(255,255,255,.04);border:1px solid rgba(197,160,89,.22);border-radius:var(--r-md);padding:var(--s-4) var(--s-6);text-align:center}
.cert .cn{font-size:15px;font-weight:700;color:var(--gold-300)}
.cert .co{font-size:11px;color:var(--text-4);margin-top:4px;letter-spacing:.04em}
.tc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-bottom:var(--s-9)}
.tc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.tc:hover{transform:translateY(-6px);border-color:var(--gold-800)}
.tc-head{padding:var(--s-7) var(--s-6) var(--s-5);border-bottom:1px solid var(--border)}
.tc-head .tt{font-size:17px;font-weight:700;color:var(--text);margin:var(--s-3) 0 8px}
.tc-head .ttag{display:inline-block;padding:3px 12px;border-radius:var(--r-pill);background:rgba(197,160,89,.12);color:var(--gold-600);font-size:11px;font-weight:600}
.tc-body{padding:var(--s-5) var(--s-6)}
.tc-body li{font-size:13.5px;color:var(--text-2);padding:8px 0 8px 18px;position:relative;line-height:1.6}
.tc-body li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.tp{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-9) var(--s-8)}
.tp h3{font-size:22px;font-weight:700;color:var(--text);text-align:center;margin-bottom:var(--s-8)}
/* 固定 6 等列：用 minmax(0,1fr) 而非 1fr，否则列宽会被内容 min-content 撑开而不等宽 */
.tp-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-4)}
.tp-step{min-width:0;text-align:center;position:relative}
.tp-step .c{width:60px;height:60px;border-radius:50%;margin:0 auto var(--s-4);display:grid;place-items:center;
  background:var(--grad-champagne);color:#2E2310;font-weight:800;font-size:20px;
  border:1px solid rgba(168,137,90,.65);
  /* 金属光泽：顶部白色高光 + 底部暗金阴影 + 外圈淡金光晕 */
  box-shadow:inset 0 2px 4px rgba(255,255,255,.55),inset 0 -4px 8px rgba(120,90,40,.4),0 0 0 6px rgba(201,179,137,.08);
  position:relative;z-index:1}
.tp-step .ts{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.tp-step .td{font-size:12px;color:var(--text-4);line-height:1.5}
/* 序号圆居中后连接线连接两圆心：起点=本列中心50%，终点=下一列中心(50%+列宽100%+列间距) */
.tp-step:not(:last-child)::after{content:"";position:absolute;top:29px;left:50%;width:calc(50% + 100% + var(--s-4));height:2px;
  background:linear-gradient(90deg,var(--gold-700),transparent);z-index:0}

/* ============ FAQ（GEO 模块） ============ */
.faq .faq-list{display:grid;gap:var(--s-4)}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-5) var(--s-6);transition:border-color var(--t-base) var(--ease),background var(--t-base) var(--ease)}
.faq-item:hover,.faq-item:focus-within{border-color:var(--gold-800);background:var(--surface-2)}
.faq-q{font-size:16px;font-weight:700;color:var(--text);margin:0 0 10px;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.faq-q::before{content:"Q";flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--grad-champagne);border:1px solid rgba(168,137,90,.65);color:#2E2310;font-size:13px;font-weight:800;margin-top:1px}
.faq-a{font-size:14px;color:var(--text-2);line-height:1.85;margin:0;padding-left:34px}
.faq-a strong{color:var(--gold-300);font-weight:700}

/* ============ KOS ============ */
.kos{background:var(--bg)}
.kos-intro{max-width:820px;margin:0 auto var(--s-9);text-align:center;font-size:15.5px;color:var(--text-2);line-height:2}
.kos-plats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-bottom:var(--s-9)}
.kos-plat{border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-base) var(--ease)}
.kos-plat:hover{transform:translateY(-8px)}
.kos-plat .ph{padding:var(--s-8) var(--s-6);color:#fff;text-align:center}
.kos-plat .ph .pn{font-size:20px;font-weight:800}
.kos-plat .ph .pe{font-size:11px;opacity:.72;margin-top:4px;letter-spacing:.22em}
.kos-plat .pb{padding:var(--s-7) var(--s-6);background:var(--surface);border:1px solid var(--border);border-top:0}
.kos-plat .pb li{font-size:13.5px;color:var(--text-2);padding:8px 0 8px 20px;position:relative;line-height:1.6}
.kos-plat .pb li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%}
/* 克制辅助色（VI 2.1.5，低饱和） */
.kos-plat:nth-child(1) .ph{background:linear-gradient(135deg,var(--rose),#7d4a52)}
.kos-plat:nth-child(1) .pb li::before{background:var(--rose)}
.kos-plat:nth-child(2) .ph{background:linear-gradient(135deg,#161616,#2A2A2A)}
.kos-plat:nth-child(2) .pb li::before{background:var(--g-300)}
.kos-plat:nth-child(3) .ph{background:linear-gradient(135deg,var(--slate-deep),#2c3e56)}
.kos-plat:nth-child(3) .pb li::before{background:var(--slate-mid)}
.kos-serv{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
.ks{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6) var(--s-5);text-align:center;transition:background var(--t-base) var(--ease),transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.ks:hover{background:var(--surface-2);transform:translateY(-4px);border-color:var(--gold-800)}
.ks .kt{font-size:15px;font-weight:700;color:var(--text);margin:var(--s-3) 0 8px}
.ks .kd{font-size:12.5px;color:var(--text-4);line-height:1.7;margin: 10px 0 0 0;}

/* ============ Crisis ============ */
.crisis{background:linear-gradient(180deg,var(--rich-black),#0A0A0A);border-top:1px solid var(--border)}
.crisis-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-bottom:var(--s-9)}
.cp{background:rgba(255,255,255,.02);border:1px solid var(--border-soft);border-radius:var(--r-md);overflow:hidden;transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
.cp:hover{background:rgba(197,160,89,.06);border-color:rgba(197,160,89,.25);transform:translateY(-6px)}
.cp .ch{padding:var(--s-7) var(--s-6) var(--s-4);position:relative}
.cp .cb{display:inline-block;padding:4px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:var(--s-3)}
.cp:nth-child(1) .cb{background:rgba(58,79,107,.25);color:#9db4cf}
.cp:nth-child(2) .cb{background:rgba(197,160,89,.2);color:var(--gold-300)}
.cp:nth-child(3) .cb{background:rgba(168,100,110,.2);color:#d7a3ab}
.cp .ch h4{font-size:19px;font-weight:700;color:var(--text)}
.cp .ch p{font-size:13px;color:var(--text-4);margin-top:6px}
.cp .cbdy{padding:0 var(--s-6) var(--s-7)}
.cp .cbdy li{font-size:13.5px;color:var(--text-3);padding:9px 0 9px 20px;position:relative;line-height:1.6;border-bottom:1px solid rgba(255,255,255,.05)}
.cp .cbdy li:last-child{border-bottom:0}
.cp .cbdy li::before{content:"";position:absolute;left:0;top:16px;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.cr-card{background:rgba(255,255,255,.02);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-8)}
.cr-card h3{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:var(--s-6)}
.cr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
.cr{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-6);text-align:center;transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.cr:hover{background:rgba(197,160,89,.06);border-color:rgba(197,160,89,.2)}
.cr .ct{font-size:14px;font-weight:700;color:var(--gold-300);margin:var(--s-3) 0 6px}
.cr .cd{font-size:12.5px;color:var(--text-4);line-height:1.6;margin: 10px;}

/* ============ Events ============ */
.events{background:var(--bg-2)}
.ev-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);margin-bottom:var(--s-9)}
.ev-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.ev-card:hover{transform:translateY(-6px);border-color:var(--gold-800)}
.ev-card .eh{padding:var(--s-8) var(--s-7) var(--s-5)}
.ev-card .eh h3{font-size:18px;font-weight:700;color:var(--text);margin:0;}
.ev-card .eh p{font-size:13px;color:var(--text-4);line-height:1.8;margin:0;}
.ev-card .eb{padding:0 var(--s-7) var(--s-7)}
.ev-card .elb{font-size:13px;font-weight:700;color:var(--gold-600);margin:var(--s-2) 0 var(--s-3)}
.ev-card .eb li{font-size:13.5px;color:var(--text-2);padding:7px 0 7px 20px;position:relative;line-height:1.6}
.ev-card .eb li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.ev-flow{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-8)}
.ev-flow h3{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:var(--s-7)}
/* 固定 6 列栅格：flex+space-between 换行后末行会被拉伸/两端分散，改 grid 后 6 步始终严格等宽且整组靠左排列 */
.ef{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:start;align-items:start;gap:var(--s-4)}
.ef-step{min-width:0;text-align:center}
.ef-step .c{width:52px;height:52px;border-radius:50%;margin:0 auto var(--s-3);display:grid;place-items:center;background:var(--rich-black);border:1px solid var(--gold-800);color:var(--gold-600);font-weight:800;font-size:16px}
.ef-step .es{font-size:13px;font-weight:700;color:var(--text)}
.ef-step .ed{font-size:11px;color:var(--text-4);margin-top:4px;line-height:1.5}
/* 活动卡片：标题+副标题打包进 .evtt-wrap，整体与 .icon-wrap 同处第 1 行，
   依靠容器组的 align-items:center 与图标垂直居中对齐 */
.ev-card .eh>.evtt-wrap{grid-column:2;grid-row:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:6px}

/* ============ Tech & Team ============ */
.tech{background:var(--bg)}
.tech-intro{max-width:820px;margin:0 auto var(--s-9);text-align:center;font-size:15.5px;color:var(--text-2);line-height:2}
.cm{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-4);margin-bottom:var(--s-9)}
.cm-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6) var(--s-4);text-align:center;transition:background var(--t-base) var(--ease),transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.cm-item:hover{background:var(--rich-black);border-color:var(--gold-800);transform:translateY(-6px)}
.cm-item:hover .ct,.cm-item:hover .cd{color:#fff}
.cm-item:hover .ct{color:var(--gold-300)}
.cm-item .ct{font-size:14px;font-weight:700;color:var(--text);margin:var(--s-3) 0 6px;transition:color var(--t-base) var(--ease)}
.cm-item .cd{font-size:11.5px;color:var(--text-4);line-height:1.5;transition:color var(--t-base) var(--ease);margin: 10px 0 0 0;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-bottom:var(--s-9)}
.team{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-7) var(--s-6);transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.team:hover{transform:translateY(-6px);border-color:var(--gold-800)}
.team .tt{font-size:17px;font-weight:700;color:var(--text);margin:var(--s-3) 0 8px}
.team .td{font-size:13.5px;color:var(--text-4);line-height:1.7}
.dt{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-8)}
.dt h3{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:var(--s-7)}
.dt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-4);margin-bottom:var(--s-6)}
.dt-item{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-5) var(--s-3);text-align:center;transition:border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
.dt-item:hover{border-color:var(--gold-800);transform:translateY(-4px)}
.dt-item .dn{font-size:14px;font-weight:700;color:var(--text)}
.dt-item .dd{font-size:11px;color:var(--text-4);margin:10px 0 0 0;}
.dt-reports{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
.dt-r{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:var(--s-5);text-align:center;transition:border-color var(--t-base) var(--ease)}
.dt-r:hover{border-color:var(--gold-800)}
.dt-r .rn{font-size:14px;font-weight:700;color:var(--text)}
.dt-r .rd{font-size:11px;color:var(--text-4);margin-top:4px;line-height:1.5;margin: 10px 0 0 0;}

/* ============ CTA ============ */
.cta{position:relative;overflow:hidden;padding:var(--s-11) 0;text-align:center;
  background:radial-gradient(800px 400px at 50% 50%,rgba(197,160,89,.14),transparent 65%),linear-gradient(135deg,#0A0A0A,#161616)}
.cta::before{content:"";position:absolute;inset:0;background:
  linear-gradient(transparent 0,transparent calc(100% - 1px),var(--border) 100%),
  linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),var(--border) 100%);
  background-size:48px 48px;opacity:.25;pointer-events:none}
.cta-inner{position:relative;z-index:2;max-width:840px;margin:0 auto;padding:0 var(--s-6)}
.cta h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:var(--text);letter-spacing:.02em;margin-bottom:var(--s-4)}
.cta p{font-size:15px;color:var(--text-3);line-height:2;margin-bottom:var(--s-7)}
.cta-tags{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-8)}
.cta-tags span{padding:8px 18px;border-radius:var(--r-pill);background:rgba(255,255,255,.04);border:1px solid rgba(197,160,89,.22);color:var(--gold-300);font-size:13px}

/* ============ Clients ============ */
.clients{background:var(--bg-2)}
.clients-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);max-width:1100px;margin:0 auto}
.client{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);
  min-height:120px;display:flex;align-items:center;justify-content:center;padding:var(--s-5);
  transition:border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
.client:hover{border-color:var(--gold-800);transform:translateY(-4px)}
.client .cn{font-size:16px;font-weight:700;color:var(--text-3);letter-spacing:.04em;text-align:center;transition:color var(--t-base) var(--ease)}
.client:hover .cn{color:var(--gold-600)}

/* ============ Footer ============ */
.footer{background:var(--rich-black);border-top:1px solid var(--border);padding:var(--s-10) 0 var(--s-7);color:var(--text-4)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-8);padding-bottom:var(--s-8);border-bottom:1px solid var(--border)}
.footer .fb .zn{font-size:22px;font-weight:800;color:var(--text);letter-spacing:.06em}
.footer .fb .en{font-size:11px;color:var(--gold-600);letter-spacing:.32em;margin-top:4px}
.footer .fb p{font-size:13px;margin-top:var(--s-4);line-height:1.9;max-width:340px}
.footer .fc h4{font-size:14px;color:var(--text-2);margin-bottom:var(--s-4);font-weight:600;letter-spacing:.04em}
.footer .fc ul li{font-size:13px;padding:6px 0}
.footer .fc a{transition:color var(--t-fast) var(--ease)}
.footer .fc a:hover{color:var(--gold-600)}
.footer-bottom{text-align:center;padding-top:var(--s-6);font-size:12px;color:var(--text-4);letter-spacing:.02em}

/* ============ Reveal Animations ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:80ms}
.reveal[data-d="2"]{transition-delay:160ms}
.reveal[data-d="3"]{transition-delay:240ms}
.reveal[data-d="4"]{transition-delay:320ms}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *{animation:none!important;scroll-behavior:auto!important}
}

/* ============ 图标与标题同行（对齐 nm-dim-top 的横向排布）============
   统一为两列网格：图标(1,1) · 标题(1,2) · 描述/副标题(2, 跨列)
   居中类卡片改为 auto auto + justify-content:center，保持整体居中观感
   ================================================================== */
.nm-feat,.kol,.pr-adv .pa,.geo-item,.tc-head,.ks,.ev-card .eh,.team,.dt-r,.cm-item,.cr{
  display:grid;grid-template-columns:auto 1fr;column-gap:var(--s-4);align-items:center;
}
/* 居中卡片：图标+标题作为整体居中 */
.kol{grid-template-columns:auto auto;justify-content:center}

.nm-feat>.icon-wrap,.kol>.icon-wrap,.pr-adv .pa>.icon-wrap,.tc-head>.icon-wrap,
.ks>.icon-wrap,.ev-card .eh>.icon-wrap,.team>.icon-wrap,
.geo-item>svg.icon,.dt-r>svg.icon,.cm-item>svg.icon,.cr>svg.icon{grid-column:1;grid-row:1}

.nm-feat .ft,.kol .kn,.pr-adv .pt,.geo-item .gt,.ks .kt,
.team .tt,.dt-r .rn,.cm-item .ct{grid-column:2;grid-row:1;margin:0 0 4px}

.nm-feat .fd,.kol .kd,.pr-adv .pd,.geo-item .gd,.ks .kd,
.team .td,.dt-r .rd,.cm-item .cd,.cr .cd{grid-column:1 / -1;grid-row:2}

.team .td{margin: 10px 0 0 0;}

/* 危机公关报告卡：图标+标题靠左成组，标题显式左对齐，与下方内联左对齐的描述同一基线。
   用 auto 1fr（而非 auto auto）：列 2 吃掉剩余宽度，描述 .cd 才能占满卡宽，
   否则它被限制在「图标+标题」那一小段里提前换行。column-gap 保持 20px（--s-5）。 */
.cr{grid-template-columns:auto 1fr;justify-content:flex-start;column-gap:var(--s-5)}
.cr .ct{grid-column:2;grid-row:1;margin:0 0 4px;text-align:left}
/* 内容形态卡：要求 .ct 居左——原为 auto auto + 整体居中，标题紧贴图标且自身盒子等于文字宽，
   text-align 改了也看不出效果；故改为图标+标题靠左成组（1fr 让描述仍可占满卡宽） */
/* 数据报告卡：要求 .rn 居左——同为 auto auto 居中卡片，标题盒子等于文字宽，
   只加 text-align 无效；改整组靠左，1fr 让左对齐的描述仍能占满卡宽 */
.dt-r{grid-template-columns:auto 1fr;justify-content:flex-start}
.dt-r .rn{text-align:left}
/* KOS 陪跑服务卡：.kt 居左——同理改整组靠左 + 1fr，让描述占满卡宽 */
.ks{grid-template-columns:auto 1fr;justify-content:flex-start}
.ks .kt{text-align:left}
.ks .kd{text-align:left}
.cm-item{grid-template-columns:auto 1fr;justify-content:flex-start}
.cm-item .ct{text-align:left}
.cm-item .cd{text-align:left}
/* 培训课程卡：标题+标签打包进 .tt-wrap，整体与 .icon-wrap 同处第 1 行，
   依靠容器组的 align-items:center 与图标垂直居中对齐 */
.tc-head>.tt-wrap{grid-column:2;grid-row:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.tc-head .tt{margin:0}
.tc-head .ttag{margin:0}

/* 四列密集栅格中的图标略作收缩，避免与标题争空间 */
.nm-feats .icon-wrap,.kol-grid .icon-wrap,.pr-adv .icon-wrap,.kos-serv .icon-wrap{
  width:48px;height:48px;
}

/* ============ Responsive ============ */
@media (max-width:1100px){
  .svc-grid,.tc-grid,.kos-plats,.crisis-phases,.team-grid{grid-template-columns:repeat(2,1fr)}
  .nm-feats,.kos-serv,.cr-grid,.pr-adv,.dt-reports,.clients-wall{grid-template-columns:repeat(2,1fr)}
  .cm{grid-template-columns:repeat(3,1fr)}
  .dt-grid{grid-template-columns:repeat(3,1fr)}
  .geo-grid{grid-template-columns:repeat(2,1fr)}
  /* 三个维度卡片数量固定为 3，中等屏仍保持 3 列：收窄间距与内边距避免换行 */
  .nm-dims{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
  .nm-dim{padding:var(--s-6) var(--s-4)}
  .nm-dim .dim-title{font-size:16px}
  .nm-dim ul li{font-size:13px;padding-left:16px}
  /* 培训流程：6 列改 3 列（仍严格等宽），行末第 3/6 步不画连接线（否则指向空处） */
  .tp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6) var(--s-4)}
  .tp-step:nth-child(3n)::after{display:none}
  /* 活动执行流程：6 列改 3 列（严格等宽，换行后末行不会拉伸） */
  .ef{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6) var(--s-4)}
  /* 公关流程：收窄卡片与箭线，保证 5 步仍在单行内（换行会导致行末箭头悬空） */
  .pr-flow{--pr-arrow:20px}
  .pr-step{flex-basis:128px;min-width:128px;padding:var(--s-4) var(--s-3)}
  .pr-step .st{font-size:14px}
}
@media (max-width:860px){
  .about-grid,.ev-split{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(0,0,0,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);
    padding:var(--s-4);gap:2px;transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease)}
  .nav-links.open{transform:none;opacity:1;pointer-events:auto}
  .nav-links a{padding:14px 12px;font-size:15px}
  .nav-links a::after{display:none}
  .nav-links a:hover,.nav-links a.active{background:rgba(197,160,89,.08)}
  /* 移动端菜单为整行铺满，hover/active 用淡金底即可；触屏 hover 会粘滞，故显式清掉边框与投影 */
  .nav-links>a:hover,.nav-links>a.active{border-color:transparent;box-shadow:none}
  .nav-item:hover,.nav-item:has(>a.active){background:none;border-color:transparent;box-shadow:none}
  .nav-item>a:hover,.nav-item>a.active{
    background:rgba(197,160,89,.08);border-color:transparent;box-shadow:none;
  }
  /* 移动端：二级菜单改为手风琴内联展开 */
  .nav-item{position:static;flex-wrap:wrap}
  .nav-item>a{flex:1 1 auto;padding-right:12px}
  .sub-toggle{width:36px;height:36px;margin-right:0}
  .nav-item:hover>.nav-sub,.nav-item:focus-within>.nav-sub,.nav-item.open>.nav-sub{transform:none}
  .nav-sub{
    position:static;left:auto;top:auto;min-width:0;width:100%;
    display:block;margin-left:14px;padding:0;
    max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:auto;
    background:transparent;border:0;border-left:1px solid var(--border);border-radius:0;box-shadow:none;
    transition:max-height var(--t-base) var(--ease);
  }
  .nav-item.open>.nav-sub{max-height:340px;padding:2px 0 6px}
  .nav-sub::before{display:none}
  .nav-sub a{padding:11px 14px;font-size:14px}
  .nav-sub a:hover,.nav-sub a.active{background:rgba(197,160,89,.08)}
  .nav-cta{margin:var(--s-2) 0 0;font-weight:700}
  .menu-toggle{display:flex}
  .section{padding:var(--s-10) 0}
  .hero{padding-top:calc(var(--nav-h) + var(--s-9))}
  .hero-stats{gap:var(--s-6)}
  .svc-grid,.tc-grid,.kos-plats,.crisis-phases,.team-grid,.nm-dims,.nm-feats,.kos-serv,.cr-grid,.pr-adv,.clients-wall,.cm,.dt-grid,.dt-reports,.geo-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr}
  .pr-flow{flex-direction:column}
  .pr-step{flex:0 0 auto}
  .pr-step .arrow{display:none}
  /* 培训流程：单列纵向，连接线全部隐藏 */
  .tp-steps{grid-template-columns:1fr}
  .tp-step:not(:last-child)::after{display:none}
  /* 活动执行流程：2 列仍保持等宽（3×2），比单列更紧凑也避免高度参差 */
  .ef{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6) var(--s-4)}
  .tb,.tp,.dt,.geo-card,.ev-flow{padding:var(--s-6) var(--s-5)}
  .footer-top{grid-template-columns:1fr;gap:var(--s-6)}
  .kol-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .container{padding:0 var(--s-5)}
  .kol-grid{grid-template-columns:1fr}
  /* 小屏收窄品牌文字，保证英文始终完整排在第二行不换行 */
  .brand-text .zh{font-size:15px;letter-spacing:.03em;}
  .brand-text .en{font-size:9px;letter-spacing:.24em;}
}
