/* ══════════════════════════════════════════════════════════════
   虾球球 · 云天筑梦 — 官网 v7「灯下工作室」（2026-08-04 重新设计）
   暖炭棕底 + 纸温中性色 + 琥珀灯笼光（界面唯一的颜色，只给行动）
   04 段 = 全页唯一冷室（表面温度偏移讲"机器的部分"，不用霓虹）
   色彩之外全部让给美术资产。对比度实算见 docs/design-v7/_contrast.py
   v8（2026-08-04）：文字密度治理——六维六边形图谱（01）/ 五层堆叠剖面（04）/
   16 周比例时间轨（05），纯 CSS，不动色彩不动文案
   v10（2026-08-04）：pillars 同源分叉图——共享主干分两叉落进两条线，
   替换大陈述句（创始人：原句不 make sense），纯 CSS + 内联 SVG，不动色彩
   ══════════════════════════════════════════════════════════════ */

:root{
  /* ── 中性层（暖炭棕，纸温度；底退后，让位给美术资产）── */
  --bg:#0F0D0A;           /* 页面底 · ink 对其 16.22:1 */
  --bg2:#181310;          /* 交替段表面 · 对 --bg 亮度比 1.70x · ink 对其 15.40:1 */
  --bg-cool:#0C1219;      /* 冷室（仅 04 段）：机器/管线的温度 · ink 对其 15.72:1 */
  --ink:#F0EAE0;          /* 纸白标题 */
  --lede:#CFC6B7;         /* 正文 · 对 --bg 11.47:1 / --bg2 10.89:1 / --bg-cool 11.12:1 */
  --mut:#A79B8A;          /* 次级 · 7.11 / 6.76 / 6.90（≥4.5 达标，勿再浅） */
  --line:rgba(240,234,224,.11);
  --card:rgba(240,234,224,.04);     /* 卡片面：叠在任何底上都成立 */
  --card-line:rgba(240,234,224,.12);

  /* ── 琥珀信号（H28–30，自 logo 推导；界面唯一的颜色，只给行动）── */
  --acc:#F2B27A;          /* 信号文字：hero 强调字/行动链接/focus ring/live 点 · 对 --bg 10.56:1 */
  --acc-hover:#F4BB8A;    /* 信号文字 hover（向白提亮） */
  --acc-strong:#EAA054;   /* 实心 CTA 填充 · 压 --on-acc 文字 8.41:1 */
  --acc-strong-hover:#EDAD6C;  /* CTA hover 填充 */
  --acc-strong-active:#CF8E4C; /* CTA 按下态 */
  --on-acc:#1F1206;       /* 压在琥珀实心上的文字（同族深棕，不用纯黑） */
  --acc-dim:rgba(242,178,122,.45);  /* 琥珀描边（装饰） */
  --acc-glow:rgba(234,160,84,.30);  /* CTA 辉光（装饰，克制） */
  --acc-t20:#F5C195;      /* 大号展示数字渐变终点 · 对 --bg 11.96:1 */
  --acc-s15:#CF996A;      /* 次要标签级暖色（语录条/hot 履历点/人才线与组织线装饰 chrome）· 对 --bg 7.78:1 */
  --acc-s15-dim:rgba(207,153,106,.45);  /* acc-s15 的描边/辉光级（装饰） */

  /* ── 冷室钢色（仅 04 段 chrome：编号/图框/标签；退火钢，不用霓虹青）── */
  --steel:#8FA9BD;        /* 对 --bg-cool 7.69:1 */
  --steel-dim:rgba(143,169,189,.4);

  /* ── type / space / motion tokens ── */
  --sans:"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --r:6px;
  --ease:cubic-bezier(.16,1,.3,1);
  --dur:.22s;

  /* ════════════════════════════════════════════════════════════
     换代表作改这里：哪款游戏火了当门面，就把下面这一张图换掉。
     压字暗角与渐变在 .hero-shade 里，与图片完全解耦——
     换任何一张图，文字一侧的对比度都保持 ≥ 4.5:1。
     ════════════════════════════════════════════════════════════ */
  --hero-art:url("img/qimen-keyart.webp");
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:96px 0 104px;border-top:1px solid var(--line)}
section.alt{background:var(--bg2)}
/* v7 节奏：由温度与密度承担，不靠段距算术。
   温度序列：hero 美术 → pillars 暖底 → 01 暖 alt → 02 暖底 → 03 暖 alt
   → 04 冷室（全页唯一温度偏移）→ 05 暖底 → 06 暖 alt → 07 暖底 */
#lineup{background:var(--bg2)}
/* 冷室取消（A梦 2026-08-04）：六库图重出为暖调后，"图冷+框冷+语义冷"的支点消失，
   整段换温度只剩突兀。节奏改由内容与留白提供，地面保持连续。 */
#how{background:var(--bg2)}
@media (min-width:901px){
  #pillars{padding:88px 0 96px}
  #team{padding:120px 0 128px}
  #how{padding:120px 0 128px}
  #contact{padding:120px 0 132px}
}

/* ── a11y ── */
.skip{
  position:absolute;left:16px;top:-48px;z-index:100;
  background:var(--acc-strong);color:var(--on-acc);font-weight:700;font-size:13px;
  padding:10px 18px;border-radius:var(--r);
  transition:top var(--dur) var(--ease);
}
.skip:focus{top:12px}
:focus-visible{
  outline:2px solid var(--acc);
  outline-offset:3px;
  border-radius:2px;
}

/* ── nav (glass) ── */
nav{
  position:sticky;top:0;z-index:10;
  background:rgba(15,13,10,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
nav .row{display:flex;align-items:center;justify-content:space-between;height:60px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.04em;flex:none}
/* 品牌标不发光：发光的 logo = 可点击暗示，且要与 CTA 同族色相做形态分离 */
.brand-mark{width:30px;height:30px;flex:none}
.brand small{color:var(--mut);font-weight:400;font-size:11px;letter-spacing:.18em;margin-left:8px}
.navlinks{display:flex;gap:24px;font-size:13px;color:var(--mut)}
.navlinks a{transition:color var(--dur) var(--ease)}
.navlinks a:hover{color:var(--acc)}
.navtools{display:flex;align-items:center;gap:14px;flex:none}
.navcta{
  font-size:12.5px;font-weight:600;letter-spacing:.06em;
  border:1px solid var(--acc-dim);color:var(--acc);
  padding:8px 18px;border-radius:var(--r);white-space:nowrap;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.navcta:hover{background:var(--acc-strong);border-color:var(--acc-strong);color:var(--on-acc)}
.navtoggle{position:absolute;opacity:0;pointer-events:none}
.mbtn{display:none;cursor:pointer;padding:10px}
.bars{display:flex;flex-direction:column;gap:5px;width:20px}
.bars i{height:2px;background:var(--ink);border-radius:1px;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}

/* ── shared type ── */
h2{font-size:48px;font-weight:700;line-height:1.24;letter-spacing:0}
h2 .en{display:inline;font-size:14px;font-weight:400;color:var(--mut);letter-spacing:.22em;margin-left:14px}
h3{font-size:17px;font-weight:650;line-height:1.5;letter-spacing:.02em}
/* lede 行长收束：44em→36em（CJK 舒适行长 30–40 字），行高放宽 */
.lede{font-size:17px;max-width:36em;line-height:1.85;color:var(--lede);margin-top:18px}
.eyebrow{
  font-size:11.5px;letter-spacing:.32em;color:var(--mut);
  display:flex;align-items:center;gap:12px;font-weight:600;
}
.live{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc-glow);flex:none}
.kick{
  display:flex;align-items:baseline;gap:14px;margin-bottom:22px;
  font-size:12px;letter-spacing:.3em;color:var(--mut);
}
/* 章节号：不再装盒，粗体纸白数字本身就是章节标记 */
.kick .no{
  font-size:15px;font-weight:700;color:var(--ink);letter-spacing:.08em;
}
.sec-note{font-size:12.5px;color:var(--mut);letter-spacing:.04em;margin-top:28px}
.tail-line{
  margin-top:48px;font-size:18px;font-weight:650;letter-spacing:.02em;
  color:var(--ink);
}
.tail-line::before{
  content:"";display:block;width:44px;height:2px;background:var(--mut);
  margin-bottom:18px;
}

/* ── 业务线归属标记退出色彩语义：文案本身已写明归属，装饰点隐藏 ── */
.ldot{display:none}

/* ── buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;letter-spacing:.04em;
  padding:14px 28px;border-radius:var(--r);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),
             background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.btn.p{background:var(--acc-strong);color:var(--on-acc);box-shadow:0 0 24px var(--acc-glow)}
.btn.p:hover{background:var(--acc-strong-hover);transform:translateY(-2px);box-shadow:0 0 36px rgba(234,160,84,.5)}
.btn.p:active{background:var(--acc-strong-active)}
.btn.s{border:1px solid var(--line);color:var(--ink);background:var(--card)}
.btn.s:hover{border-color:var(--acc);color:var(--acc)}
.cta{display:flex;gap:14px;margin:36px 0 40px;flex-wrap:wrap}

/* ── 卡片（v7：玻璃拟态退场。实暖面 + 纸描边，hover 只提亮描边与投影，
   不上信号色。卡片只留给真正的"内容物件"：游戏、库、步骤、门）── */
.card,.lu{
  background:var(--card);
  border:1px solid var(--card-line);
  border-radius:var(--r);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.card:hover,.lu:hover{
  border-color:rgba(240,234,224,.24);
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.card{padding:26px 24px}
.card h3{margin-bottom:10px}
.card p{font-size:14.5px;color:var(--lede)}
.cnum{
  font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--mut);
  margin-bottom:14px;font-variant-numeric:tabular-nums;
}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.cards3.stats{margin-top:18px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}

/* ── figure（边框中性化，美术自己带色；基建/人才段另有段级规则）── */
.glowfig{position:relative}
.glowfig img{
  width:100%;
  border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.glowfig figcaption{
  font-size:12.5px;letter-spacing:.06em;color:var(--mut);
  display:flex;align-items:center;gap:10px;margin-top:14px;
}
.glowfig figcaption::before{content:"";width:22px;height:1px;background:var(--mut);flex:none}

/* ── tags ── */
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tags span{
  font-size:12px;letter-spacing:.05em;color:var(--mut);
  background:var(--card);border:1px solid var(--line);
  padding:6px 14px;border-radius:999px;
}
.tags .hot{color:var(--ink);font-weight:650;border-color:rgba(240,234,224,.28)}

/* ══════════ HERO · 满版代表作压场 ══════════ */
.hero{
  position:relative;overflow:hidden;
  background:var(--bg2);
}
.hero-art{
  position:absolute;inset:0;
  background-image:var(--hero-art);
  background-size:cover;
  background-position:72% 42%;
}
/* 压字层：独立于图片。左重右轻暗角 + 底部融入页面底色，
   文字全部落在左侧深色区，任何代表作图都保对比度。 */
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,
      rgba(15,13,10,.97) 20%,
      rgba(15,13,10,.92) 46%,
      rgba(15,13,10,.60) 70%,
      rgba(15,13,10,.42) 100%),
    linear-gradient(0deg,var(--bg) 0%,transparent 24%);
}
.hero .wrap{position:relative;padding-top:132px;padding-bottom:112px}
.hero h1{
  font-size:76px;line-height:1.18;font-weight:700;letter-spacing:.01em;
  margin:30px 0 28px;
}
/* 琥珀与 keyart 同族（H30），同温界面上不需要辉光往外跳 */
.hero h1 .nb{color:var(--acc)}
.hero .lede{font-size:17px;max-width:34em}
.signals{
  display:flex;gap:28px;flex-wrap:wrap;
  font-size:12.5px;letter-spacing:.06em;color:var(--mut);
}
.signals span{display:flex;align-items:center;gap:9px}
.signals span::before{content:"";width:5px;height:5px;background:var(--mut);flex:none}

/* hero 入场：仅透明度与位移，reduced-motion 时整体关闭 */
@media (prefers-reduced-motion:no-preference){
  .hero .eyebrow,.hero h1,.hero .lede,.hero .cta,.hero .signals{
    animation:rise .9s var(--ease) both;
  }
  .hero h1{animation-delay:.08s}
  .hero .lede{animation-delay:.16s}
  .hero .cta{animation-delay:.24s}
  .hero .signals{animation-delay:.32s}
  @keyframes rise{
    from{opacity:0;transform:translateY(22px)}
    to{opacity:1;transform:none}
  }
}

/* ══════════ pillars · 两条线总览（v10：同源分叉图——
   共享主干（真实文字，非图形独占信息）向下分两叉，落进两条顶线条目。
   桌面横叉 fork-h 叉尖对齐两栏中心；≤900px 换竖向小图 fork-v（自带标签））══════════ */
#pillars{border-top:none}
.trunk{text-align:center}
.trunk-name{
  font-size:15px;font-weight:700;letter-spacing:.22em;color:var(--ink);
}
.trunk-name::before{
  content:"";display:block;width:44px;height:2px;background:var(--mut);
  margin:0 auto 20px;
}
.trunk-items{margin-top:10px;font-size:13px;letter-spacing:.08em;color:var(--mut)}
.fork{display:block;width:100%;height:auto}
.fork-h{margin:18px 0 -1px}          /* 底边压进条目顶线，叉尖落在栏中心 */
.fork-v{display:none}
.fork-l{
  fill:none;stroke:var(--card-line);stroke-width:1.5;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.fork-d{fill:var(--ink)}
.fork-t{fill:var(--lede);font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.pillar{
  display:block;padding:28px 0 0;
  border-top:1px solid var(--line);
  transition:border-color var(--dur) var(--ease);
}
.pillar:hover{border-top-color:rgba(240,234,224,.35)}
.pl-name{font-size:24px;font-weight:700;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:12px}
.pl-name::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink);flex:none}
.pl-sub{
  display:block;margin-top:12px;font-size:13px;font-weight:700;
  letter-spacing:.16em;color:var(--mut);
}
.pillar p{font-size:15px;color:var(--lede);margin-top:14px;max-width:32em}
.pl-go{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13.5px;font-weight:650;letter-spacing:.06em;color:var(--acc);transition:color var(--dur) var(--ease)}
.pl-go:hover{color:var(--acc-hover)}

/* ══════════ 01 qimen ══════════ */
.sec-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:32px;margin-bottom:44px;flex-wrap:wrap;
}
.sec-line{font-size:19px;margin-top:12px;color:var(--lede);font-weight:650;letter-spacing:.04em}
.sec-cta{flex:none}
/* QQ 群没有能直接跳转的公开链接（qm.qq.com/q/<号> 实测 404，官方加群链接要 key），
   所以只给号不做成按钮——套按钮样式却点不动，比给一行小字更糟。 */
.qq{margin-top:14px;font-size:14px;color:var(--lede);letter-spacing:.04em;text-align:center}
.qq b{color:var(--acc);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.pitch{
  display:grid;grid-template-columns:1fr 1fr;gap:44px;
  max-width:1040px;margin-bottom:52px;font-size:16px;color:var(--lede);
}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:56px}
/* v6：事实数字退出玻璃卡，改为"顶线统计条"——数字本身是主角，不需要容器 */
.qf{padding:22px 4px 0;border-top:1px solid var(--line)}
.qfv{
  font-size:40px;font-weight:650;line-height:1.15;letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,var(--ink),var(--acc-t20));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.qfv .pl{font-size:26px}
.qfk{font-size:12.5px;color:var(--mut);margin-top:8px;letter-spacing:.03em}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.shots .wide{grid-column:1/-1}

/* ══════════ 04 how · 冷室（全页唯一温度偏移：机器/管线在这里干活）══════════ */

/* ══════════ 03 lineup ══════════ */
.lineup{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.lu{padding:28px 26px}
.lu h3{font-size:19px;margin-bottom:8px}
.lu-hook{
  font-size:14.5px;font-weight:650;color:var(--ink);
  letter-spacing:.02em;margin-bottom:12px;
}
.lu p{font-size:14.5px;color:var(--lede)}
.lu .tags{margin-top:18px}
/* v10：官宣纪律——在研只露代号，卡片无实机图 */
.lu-cn{font-size:10.5px;font-weight:700;letter-spacing:.24em;color:var(--mut);margin-bottom:10px}
.lu h3 .en{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--mut);margin-left:10px}
.sec-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ══════════ 04 how · 能力层 ══════════ */
/* v8：五层基建从"五列清单"改为"堆叠剖面"——层与层贴合无间距、左边线 01→05 渐进高亮，
   层的上下叠放关系本身就是信息（与 org-grid / steps 同一渐进语法） */
.layers{display:flex;flex-direction:column;margin-top:52px}
.layer{
  display:grid;grid-template-columns:150px 200px 1fr;gap:6px 28px;align-items:center;
  padding:18px 26px;background:var(--card);
  border:1px solid var(--card-line);border-bottom:none;
  border-left:2px solid rgba(207,153,106,.18);
}
.layer:first-child{border-radius:var(--r) var(--r) 0 0}
.layer:last-child{border-bottom:1px solid var(--card-line);border-radius:0 0 var(--r) var(--r)}
.layer:nth-child(1){border-left-color:rgba(207,153,106,.10)}
.layer:nth-child(2){border-left-color:rgba(207,153,106,.16)}
.layer:nth-child(3){border-left-color:rgba(207,153,106,.23)}
.layer:nth-child(4){border-left-color:rgba(207,153,106,.31)}
.layer:nth-child(5){border-left-color:rgba(207,153,106,.40)}
.ln{
  font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--mut);
}
.layer h3{font-size:15.5px}
.layer p{font-size:13.5px;color:var(--lede)}
@media (max-width:900px){
  .layer{grid-template-columns:130px 1fr}
  .layer p{grid-column:2}
}
@media (max-width:600px){
  .layer{grid-template-columns:1fr;padding:16px 20px}
  .layer p{grid-column:auto}
}

/* 04 段 = 全页唯一冷室：整段 chrome（编号/图框/hover 光/引条）用退火钢，图与框同温 */
#how .cnum,#how .ln{color:var(--acc-s15)}
#how .card:hover{
  border-color:var(--acc-s15-dim);
  box-shadow:0 0 40px rgba(143,169,189,.08),0 18px 40px rgba(0,0,0,.4);
}
#how .glowfig img{
  border-color:rgba(143,169,189,.28);
  box-shadow:0 0 60px rgba(143,169,189,.12),0 24px 60px rgba(0,0,0,.5);
}
#how .glowfig figcaption::before{background:var(--acc-s15)}

/* ══════════ 05 edu ══════════ */
.steps .cnum{font-variant-numeric:tabular-nums}

/* ══════════ 01 team ══════════ */
/* v9 角色卡：自家《棋门遁甲》的卡面语言——标题带 → 立绘框 → 词缀+属性图 →
   标语带 → 战绩列表 → 卡底职责带。chrome 全中性线（双线框、立绘内框），
   暖色只给卡名的 ×（acc-s15，与 hot 履历点同族）；不发光、不渐变、不金字 */
.people{display:flex;flex-direction:column;gap:24px;margin-top:48px}
.person{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  width:100%;max-width:720px;margin:0 auto;
  background:var(--card);border:1px solid var(--card-line);border-radius:var(--r);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.person:hover{
  border-color:rgba(240,234,224,.24);
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
/* 双线框：qimen 卡面的"外框 + 内细线"结构 */
.person::after{
  content:"";position:absolute;inset:5px;pointer-events:none;
  border:1px solid var(--line);border-radius:3px;
}
/* 标题带：人 × Agent 卡名；× 是全卡唯一的暖色，给"搭档"叙事分量 */
.pc-name{
  justify-content:center;gap:12px;
  padding:16px 24px 14px;border-bottom:1px solid var(--card-line);
  font-size:19px;letter-spacing:.06em;
}
.pc-name .x{color:var(--acc-s15);font-size:1.2em;font-weight:700}
/* 立绘框：qimen 的满幅卡图 + 内框细线 + 暗角；素材是 320×320 方图，
   展示区按方形走——不裁脸 */
.pc-art{margin:14px 14px 0;border:1px solid var(--card-line);position:relative}
.pc-art::after{
  content:"";position:absolute;inset:4px;border:1px solid var(--line);pointer-events:none;
  box-shadow:inset 0 0 56px rgba(0,0,0,.42);
}
.pc-art img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.person-b{padding:20px 24px 24px;flex:1}
/* 搭档头像：人是立绘、Agent 是右下角嵌章——"人 × Agent"这对关系落到眼睛上 */
.pc-art img.pc-agent{
  position:absolute;right:10px;bottom:10px;z-index:2;
  width:31%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;
  border:2px solid var(--bg2);
  box-shadow:0 4px 14px rgba(0,0,0,.55);
}
@media (max-width:1080px){.pc-art img.pc-agent{width:24%;max-width:104px}}

/* 词缀 + 卡内六维图：图升级为信息载体（带标签），纵向排——词缀行在上、图居中在下。
   三卡 1280 下并排，卡与卡的并排本身就是横向对照，卡下不再设对照图 */
.pc-stats{display:flex;flex-direction:column;gap:16px}
.pc-stats .person-dim{margin-top:0}
.pc-hex{width:min(100%,240px);height:auto;display:block;align-self:center}
/* ≥1081：三张牌横向摊开（手牌位），卡高等齐、职责带沉底 */
@media (min-width:1081px){
  .people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
  .person{max-width:none;margin:0}
}
/* 六维定位（高亮承重维度：ink 文字 + 亮描边，不上信号色） */
.person-dim{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dim{
  font-size:11px;font-weight:700;letter-spacing:.14em;
  padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--mut);
}
.dim.on{color:var(--ink);border-color:rgba(240,234,224,.28);background:var(--card)}
/* v8/v9：六维六边形图谱——三人共用同一朝向的固定六顶点坐标系（才可比较）。
   承重顶点到满半径、点亮并连成三角形；不承重顶点在 84% 基线位置画空心小点，
   不塌陷到中心——塌陷会把"面积"读成"强弱"，而这组数据是二元的，没有量级。
   与 .dim.on 同一语法（纸白承重、描边空位，不上信号色）；
   图不是信息唯一载体：每人卡片上的 .person-dim 文字行保留 */
.hx-frame,.hx-spoke{fill:none;stroke:var(--line);stroke-width:1}
.hx-shape{
  fill:rgba(240,234,224,.07);stroke:var(--ink);
  stroke-width:1.5;stroke-linejoin:round;
}
.hx-v{fill:none;stroke:var(--card-line);stroke-width:1.2}
.hx-v.on{fill:var(--ink);stroke:none}
.hx-t{fill:var(--mut);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em}
.hx-t.on{fill:var(--lede)}
/* 亮点标签 v6：hot 维持药丸（重点），普通履历降级为"点+文字"——
   9–10 个描边盒子是一堵墙，两行文字才是履历 */
.chips{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;line-height:1.6;padding:2px 0;
  color:var(--mut);
}
.chip::before{content:"";width:4px;height:4px;flex:none;background:var(--mut);opacity:.55}
.chip.hot{
  color:var(--ink);font-weight:650;
  border:1px solid rgba(240,234,224,.28);background:var(--card);
  padding:6px 12px;border-radius:var(--r);
}
.chip.hot::before{width:5px;height:5px;opacity:1}
/* AI Native 超级组织 */
.org{margin-top:56px;padding-top:48px;border-top:1px solid var(--line)}
.org-intro h3{font-size:24px;margin-bottom:12px}
.org-intro p{font-size:15.5px;color:var(--lede);max-width:52em}
.org-grid{display:grid;grid-template-columns:repeat(5,1fr);column-gap:20px;row-gap:44px;margin-top:32px}
.org-item{
  position:relative;
  padding:24px 22px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.org-item:hover{border-color:rgba(240,234,224,.25);transform:translateY(-3px)}
.oi-n{
  font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--mut);
  font-variant-numeric:tabular-nums;
}
.org-item h4{font-size:16.5px;margin:10px 0 8px}
.org-item p{font-size:14px;color:var(--lede)}
/* 飞轮收口：01–05 五列经一条横向干线汇流，中央落入这一整行（暖族 acc-s15，全页单族色） */
.org-item.flywheel{
  grid-column:1/-1;
  padding:30px 34px;
  border-color:var(--acc-s15);
  background:
    radial-gradient(70% 140% at 50% 0%,rgba(207,153,106,.12),transparent 70%),
    linear-gradient(180deg,rgba(207,153,106,.07),rgba(207,153,106,.015));
  box-shadow:0 0 60px rgba(207,153,106,.1),inset 0 1px 0 rgba(207,153,106,.35),inset 0 0 60px rgba(207,153,106,.05);
}
.org-item.flywheel:hover{border-color:var(--acc-s15)}
.org-item.flywheel .oi-n{font-size:15px;color:var(--acc-s15);text-shadow:0 0 14px var(--acc-s15-dim)}
.org-item.flywheel h4{font-size:19px}
.org-item.flywheel p{max-width:62em}
/* 汇流结构（仅桌面五列）：每格竖直下落 → 横向干线 → 中央单点落入飞轮；
   01→05 边框渐进高亮。窄屏收起装饰，靠编号与顺序叙事 */
@media (min-width:1081px){
  .org-grid{position:relative}
  .org-item:nth-child(1){border-color:rgba(207,153,106,.10)}
  .org-item:nth-child(2){border-color:rgba(207,153,106,.15)}
  .org-item:nth-child(3){border-color:rgba(207,153,106,.20)}
  .org-item:nth-child(4){border-color:rgba(207,153,106,.27)}
  .org-item:nth-child(5){border-color:rgba(207,153,106,.34)}
  .org-item:not(.flywheel)::before{
    content:"";position:absolute;top:100%;left:50%;width:1px;height:22px;
    background:linear-gradient(180deg,var(--acc-s15-dim),rgba(207,153,106,.2));
  }
  .org-item.flywheel::before{
    content:"";position:absolute;top:-22px;left:calc(10% - 8px);right:calc(10% - 8px);height:1px;
    background:linear-gradient(90deg,transparent,var(--acc-s15-dim) 12%,var(--acc-s15-dim) 88%,transparent);
  }
  .org-item.flywheel::after{
    content:"";position:absolute;top:-22px;left:50%;width:1px;height:22px;
    background:linear-gradient(180deg,var(--acc-s15-dim),var(--acc-s15));
    box-shadow:0 0 8px var(--acc-s15-dim);
  }
}
/* 窄屏单列：格间竖线接续，阅读顺序即流向 */
@media (max-width:600px){
  .org-grid{row-gap:26px}
  .org-item:not(:first-child)::before{
    content:"";position:absolute;bottom:100%;left:50%;width:1px;height:26px;
    background:linear-gradient(180deg,transparent,var(--acc-s15-dim));
  }
}
/* 标语带：上下细线夹出一条"卡面 flavor 位"，内容是正经定位 */
.person-line{
  font-size:15px;color:var(--ink);font-weight:650;line-height:1.7;
  margin-top:16px;padding:12px 2px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.person-list{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px}
.person-list li{
  font-size:14.5px;color:var(--lede);padding-left:18px;position:relative;line-height:1.8;
}
.person-list li::before{
  content:"";position:absolute;left:0;top:.85em;
  width:6px;height:1px;background:var(--mut);
}
/* 卡底职责带：满幅沉底（flex margin-top:auto），与标题带首尾呼应 */
.person-now{
  margin-top:auto;padding:16px 24px;
  border-top:1px solid var(--card-line);
  background:rgba(240,234,224,.03);
  font-size:13.5px;color:var(--mut);letter-spacing:.02em;
}
.pn-k{
  display:inline-block;margin-right:12px;
  font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--mut);
}
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.creds.one{grid-template-columns:1fr;margin-top:18px}
.cred{overflow:hidden}
.cred:not(.wide){padding-bottom:24px}
.cred:not(.wide) h3,.cred:not(.wide) p,.cred:not(.wide) .ck{padding:0 22px}
.cred-em{margin-bottom:18px}
.cred-em img{
  width:100%;aspect-ratio:16/10;object-fit:cover;
  border-bottom:1px solid var(--line);
}
.ck{
  font-size:11.5px;font-weight:700;letter-spacing:.2em;color:var(--mut);
  margin-bottom:8px;
}
.cred h3{margin-bottom:8px}
.cred p{font-size:14px;color:var(--lede)}
.cred.wide{
  padding:28px 26px;
  display:flex;flex-direction:column;justify-content:center;
  border-color:rgba(240,234,224,.22);
}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.member{padding:24px 24px}
.pair{font-size:18px;font-weight:700;letter-spacing:.02em;display:flex;align-items:baseline;gap:8px}
.pair .x{color:var(--mut);font-weight:400;font-size:14px}
.pair .agent{color:var(--lede)}
.role{font-size:13.5px;color:var(--lede);margin-top:10px}

/* ══════════ 08 contact ══════════ */
.contact-card{
  max-width:760px;margin:0 auto;text-align:center;
  background:var(--card);border:1px solid rgba(240,234,224,.22);border-radius:var(--r);
  padding:56px 48px;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.contact-card .kick{justify-content:center}
.contact-card .lede{margin:16px auto 0;max-width:36em}
.contact-card .cta{justify-content:center;margin:36px 0 0}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;text-align:left}
/* v6：door 退出"卡中卡"（contact-card 已是容器），降级为顶线条目，hover 用色彩与位移表意 */
.door{
  display:flex;flex-direction:column;padding:22px 8px 0;
  border-top:1px solid var(--line);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.door:hover{border-top-color:var(--acc-dim);transform:translateY(-2px)}
.dk{font-size:11.5px;font-weight:700;letter-spacing:.2em;color:var(--acc)}
.dt{font-size:17px;font-weight:650;color:var(--ink);margin-top:10px}
.door p{font-size:14px;color:var(--lede);margin-top:12px;flex:1}
.dgo{
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;
  font-size:13px;font-weight:650;letter-spacing:.06em;color:var(--acc);
  transition:color var(--dur) var(--ease);
}
.dgo:hover{color:var(--acc-hover)}

/* ── footer ── */
footer{
  border-top:1px solid var(--line);
  padding:26px 0;font-size:12px;letter-spacing:.08em;color:var(--mut);
}
footer .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a:hover{color:var(--ink)}

/* ── 滚动入场（渐进增强：不支持的浏览器直接显示，无 JS）── */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline: view()){
    .card,.lu,.layer,.cred,.member,.qf,.glowfig,.pillar,.person,.door,.wktrack{
      animation:fade-up .7s var(--ease) both;
      animation-timeline:view();
      animation-range:entry 0% entry 40%;
    }
    @keyframes fade-up{
      from{opacity:0;transform:translateY(26px)}
      to{opacity:1;transform:none}
    }
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* ══════════ 响应式 ══════════ */
@media (max-width:1080px){
  .cards4{grid-template-columns:1fr 1fr}
  .creds{grid-template-columns:1fr 1fr}
  .org-grid{grid-template-columns:repeat(3,1fr);row-gap:20px}
  /* 单列档卡面更宽，方图等比限宽居中——不裁脸，也避免全宽巨幕 */
  .pc-art img{max-width:320px;margin:0 auto}
}
@media (max-width:900px){
  section{padding:68px 0 76px}
  h2{font-size:32px}
  .hero h1{font-size:42px}
  .hero .wrap{padding-top:96px;padding-bottom:88px}
  .pitch{grid-template-columns:1fr;gap:20px}
  .pillars{grid-template-columns:1fr;margin-top:44px}
  .fork-h{display:none}
  .fork-v{display:block;width:300px;margin:22px auto 0}
  .facts{grid-template-columns:1fr 1fr}
  .cards3{grid-template-columns:1fr}
  .ip-wrap{grid-template-columns:1fr;gap:32px}
  .team{grid-template-columns:1fr}
  .person-b{padding:26px 24px}
  .org-grid{grid-template-columns:1fr 1fr}
  .doors{grid-template-columns:1fr}

  /* 移动端导航：checkbox 展开，纯 CSS 无 JS */
  .mbtn{display:block}
  .navlinks{
    position:absolute;top:60px;left:0;right:0;
    flex-direction:column;gap:0;
    background:rgba(7,11,18,.96);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    padding:8px 28px 16px;
    display:none;
  }
  .navlinks a{padding:13px 0;border-top:1px solid var(--line);font-size:14px}
  .navtoggle:checked ~ .navlinks{display:flex}
  .navtoggle:checked ~ .navtools .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle:checked ~ .navtools .bars i:nth-child(2){opacity:0}
  .navtoggle:checked ~ .navtools .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .fork-v{width:min(300px,100%)}
  .pl-name{font-size:22px}
  .hero h1{font-size:34px}
  .hero .lede{font-size:15.5px}
  .shots{grid-template-columns:1fr}
  .cards4{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .org-grid{grid-template-columns:1fr}
  .lineup{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr;gap:12px}
  .qfv{font-size:32px}
  .contact-card{padding:44px 24px}
  .btn{padding:13px 20px;font-size:13.5px}
  .brand small{display:none}
  .sec-head{flex-direction:column;align-items:flex-start;gap:20px}
}

/* ── edu 增强块（2026-08-02）── */
.edu-quote,.how-quote{margin:64px 0 8px;padding:34px 38px;border-left:2px solid var(--acc-s15);background:var(--card);border-radius:0 var(--r) var(--r) 0;max-width:880px}
.how-quote{border-left-color:var(--acc-s15);margin:56px 0 44px}
.edu-quote .eq-main,.how-quote .eq-main{font-size:24px;font-weight:700;color:var(--ink);margin:0 0 10px;line-height:1.5}
.edu-quote .eq-sub,.how-quote .eq-sub{color:var(--mut);margin:0;line-height:1.9}
.mini-h{margin:64px 0 -22px;font-size:20px;color:var(--ink)}
@media (max-width:640px){
  .edu-quote,.how-quote{padding:24px 22px}
  .edu-quote .eq-main,.how-quote .eq-main{font-size:20px}
}

/* ── lineup 卡图 + how 飞轮图 + edu 双图（2026-08-02 图文扩容）── */
/* 圆角收进 --r（与卡片一致，不再是 14px 异类）；暖色配图轻降饱和融进暗底，hover 还原本色 */
.lu-art{margin:-28px -26px 18px;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.lu-art img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.86);transition:filter var(--dur) var(--ease)}
.lu:hover .lu-art img{filter:none}
.how-art{margin:56px 0 8px}
.lib-art{margin:-26px -24px 16px;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
/* 六库图整体偏暗，轻提亮拉开卡片层级 */
.lib-art img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(1.08)}
.edu-figs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
@media (max-width:760px){.edu-figs{grid-template-columns:1fr}}

/* ── edu 视觉重排（2026-08-04 v2；v7 收进暖族）：四段式时间轨主干 + 六能力降级 + 暖线统一（acc-s15 族）── */

/* 四段式 = 主干轨道：脉冲节点串在一根时间轨上，01→04 渐进高亮（与 01 段同一语法），W16 终点格高亮 */
.steps{position:relative}
.steps .card{position:relative}
.steps .cnum{display:flex;align-items:center;gap:10px;color:var(--acc-s15);font-size:12.5px}
.steps .cnum::before{
  content:"";width:8px;height:8px;border-radius:50%;flex:none;
  background:var(--acc-s15);box-shadow:0 0 10px var(--acc-s15);
}
@media (min-width:1081px){
  /* 时间轨：从首格节点拉到末格节点，穿过半透明卡身 */
  .steps::before{
    content:"";position:absolute;top:36px;left:28px;right:calc(25% - 42px);height:1px;
    background:linear-gradient(90deg,var(--acc-s15),var(--acc-s15-dim) 75%,transparent);
  }
  .steps .card:nth-child(1){border-color:rgba(207,153,106,.10)}
  .steps .card:nth-child(2){border-color:rgba(207,153,106,.16)}
  .steps .card:nth-child(3){border-color:rgba(207,153,106,.23)}
}
.steps .card:last-child{
  border-color:var(--acc-s15-dim);
  box-shadow:inset 0 0 40px rgba(207,153,106,.07),0 0 30px rgba(207,153,106,.06);
}
@media (max-width:600px){
  /* 单列时轨道转竖向：节点上下相接 */
  .steps .card:not(:first-child)::before{
    content:"";position:absolute;bottom:100%;left:28px;width:1px;height:18px;
    background:linear-gradient(180deg,transparent,var(--acc-s15-dim));
  }
}

/* v8：16 周比例时间轨——段长按周数等比（5/8/2/1），一眼看出分轨专精占半程。
   卡片保留作细节层；轨道只复用已有 W 编号，不新增文案 */
.wktrack{
  position:relative;display:grid;grid-template-columns:repeat(16,1fr);gap:2px;
  margin-top:44px;height:42px;padding-bottom:14px;
}
.wk{
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--acc-s15);
  font-variant-numeric:tabular-nums;white-space:nowrap;
  background:var(--card);border:1px solid rgba(207,153,106,.10);border-radius:3px;
}
.wk.s1{grid-column:span 5}
.wk.s2{grid-column:span 8;border-color:rgba(207,153,106,.20)}
.wk.s3{grid-column:span 2;border-color:rgba(207,153,106,.28)}
.wk.s4{
  grid-column:span 1;border-color:var(--acc-s15-dim);
  background:rgba(207,153,106,.10);
}
/* 周刻度：16 等分 tick，把"16 周"落成可数的东西 */
.wktrack::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background-image:linear-gradient(90deg,var(--acc-s15-dim) 1px,transparent 1px);
  background-size:calc(100%/16) 100%;opacity:.55;
}
.wktrack + .steps{margin-top:22px}
@media (max-width:600px){
  /* 窄屏转竖向时间轴：段高仍按周数等比，标签留在段内 */
  .wktrack{
    grid-template-columns:none;grid-template-rows:repeat(16,1fr);
    height:240px;padding-bottom:0;padding-left:14px;
  }
  .wk.s1{grid-column:auto;grid-row:span 5}
  .wk.s2{grid-column:auto;grid-row:span 8}
  .wk.s3{grid-column:auto;grid-row:span 2}
  .wk.s4{grid-column:auto;grid-row:span 1;font-size:11px}
  .wktrack::after{
    left:0;right:auto;top:0;bottom:0;width:6px;height:auto;
    background-image:linear-gradient(180deg,var(--acc-s15-dim) 1px,transparent 1px);
    background-size:100% calc(100%/16);
  }
}

/* 六能力：与 01 段六维同一套"编号+短语"语法，降级为轻卡、走暖线 */
.abilities{counter-reset:ab;gap:14px}
.abilities .card{padding:20px}
.abilities .card h3{display:flex;align-items:baseline;gap:10px;font-size:15px;margin-bottom:8px}
.abilities .card h3::before{
  counter-increment:ab;content:counter(ab,decimal-leading-zero);
  font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--acc-s15);
  font-variant-numeric:tabular-nums;
}
.abilities .card p{font-size:13.5px;color:var(--mut)}

/* 人才线统一：hover 与图光全部收进暖族（acc-s15） */
#edu .card:hover{
  border-color:var(--acc-s15-dim);
  box-shadow:0 0 40px rgba(207,153,106,.08),0 18px 40px rgba(0,0,0,.4);
}
#edu .steps .card:last-child:hover{border-color:var(--acc-s15)}
#edu .glowfig img{
  border-color:rgba(207,153,106,.3);
  box-shadow:0 0 60px rgba(207,153,106,.12),0 24px 60px rgba(0,0,0,.5);
}
#edu .glowfig figcaption::before{background:var(--acc-s15)}
#edu .tail-line::before{background:var(--acc-s15);box-shadow:0 0 12px var(--acc-s15-dim)}

/* 签约段同属人才线：hover 光与收尾线收进暖族（同 edu 语法） */
#signing .card:hover{
  border-color:var(--acc-s15-dim);
  box-shadow:0 0 40px rgba(207,153,106,.08),0 18px 40px rgba(0,0,0,.4);
}
#signing .tail-line::before{background:var(--acc-s15);box-shadow:0 0 12px var(--acc-s15-dim)}

/* edu-why：右侧事实条已删（与 lede 重复），剩下的正文单栏收窄保阅读行长 */
.edu-why{display:block;margin-top:56px;padding-top:48px;border-top:1px solid var(--line)}
.ew-t{max-width:52em}
.ew-t h3{font-size:22px;margin-bottom:14px}
.ew-t p{font-size:15.5px;color:var(--lede)}
.ew-t .tail-line{margin-top:28px;font-size:16px}

/* 首屏底部：七个公开仓——地址写出来，一句话说清楚是什么。
   进门第一屏就摆可点开验证的东西，比放到联系段有用 */
.hero-oss{margin-top:38px;max-width:none}
.oss-h{font-size:13.5px;color:var(--mut);letter-spacing:.02em;margin-bottom:14px}
.oss-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;max-width:820px}
.oss-i{
  display:flex;flex-direction:column;gap:2px;padding:7px 0;
  border-bottom:1px solid rgba(240,234,224,.07);
  transition:border-color var(--dur) var(--ease);
}
.oss-i:hover{border-bottom-color:var(--acc-dim)}
.oss-n{font-size:13px;font-weight:650;color:var(--acc);letter-spacing:.01em}
.oss-i:hover .oss-n{color:var(--acc-hover)}
.oss-d{font-size:12.5px;color:var(--mut);line-height:1.6}
@media (max-width:900px){.oss-grid{grid-template-columns:1fr;gap:0 0;max-width:520px}}
