
:root { --ink:#14202b; --body:#3d4a57; --muted:#68747f; --line:#dfe4e8; --bg:#fff; --soft:#f4f6f8; --accent:#0f4c81; --accent-soft:#e8f0f7; --dark:#0e1b26; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { margin:0; background:var(--bg); color:var(--body); font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { display:block; max-width:100%; }
h1,h2,h3,p,ul { margin:0; }
.wrap { width:min(1120px,100%); margin:0 auto; padding:0 32px; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px; }
.brand { color:var(--ink); font-weight:700; font-size:18px; text-decoration:none; white-space:nowrap; }
.site-nav { display:flex; align-items:center; gap:24px; font-size:15px; }
.site-nav a { color:var(--body); text-decoration:none; white-space:nowrap; }
.site-nav a:hover { color:var(--accent); }
.site-nav a.cta { color:#fff; background:var(--accent); padding:7px 14px; border-radius:6px; font-weight:600; }
.hero { padding:88px 0 72px; }
.eyebrow { color:var(--accent); font-size:14px; font-weight:600; letter-spacing:.04em; }
.hero h1 { color:var(--ink); font-size:clamp(36px,5.6vw,60px); line-height:1.2; letter-spacing:-.01em; margin:14px 0 22px; max-width:15em; }
.hero .lead { max-width:44em; font-size:18px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.btn { display:inline-block; padding:11px 22px; border-radius:6px; border:1px solid var(--line); color:var(--ink); font-weight:600; text-decoration:none; }
.btn:hover { border-color:var(--accent); color:var(--accent); }
.btn.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.btn.primary:hover { background:#0b3d68; color:#fff; }
.metrics { background:var(--dark); color:#fff; }
.metrics .wrap { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; padding-top:36px; padding-bottom:36px; }
.metrics b { display:block; font-size:clamp(26px,3.2vw,38px); line-height:1.25; font-weight:700; }
.metrics span { color:#aebbc6; font-size:14px; }
section.block { padding:80px 0; }
section.block.alt { background:var(--soft); }
.sec-head { margin-bottom:40px; max-width:46em; }
.sec-head h2 { color:var(--ink); font-size:clamp(26px,3.4vw,36px); line-height:1.3; margin:8px 0 10px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.track h3 { color:var(--ink); font-size:21px; }
.track .count { color:var(--accent); font-weight:700; }
.track p { margin:6px 0 16px; }
.covers { display:grid; gap:12px; }
.covers img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:6px; border:1px solid var(--line); }
.covers.row { grid-template-columns:repeat(3,1fr); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:48px; border-top:2px solid var(--accent); list-style:none; padding:0; counter-reset:s; }
.steps li { padding:18px 20px 0 0; counter-increment:s; }
.steps li::before { content:"0" counter(s); color:var(--accent); font-weight:700; font-size:14px; }
.steps b { display:block; color:var(--ink); font-size:17px; }
.steps span { font-size:15px; }
.note { margin-top:32px; padding:18px 22px; background:var(--accent-soft); border-radius:6px; color:var(--ink); }
.job { display:grid; grid-template-columns:170px 1fr; gap:24px; padding:36px 0; border-top:1px solid var(--line); }
.job:first-of-type { border-top:0; padding-top:0; }
.job .date { color:var(--muted); font-size:15px; }
.job h3 { color:var(--ink); font-size:21px; line-height:1.4; margin-bottom:8px; }
.job ul { padding-left:20px; margin:10px 0 14px; }
.job li { margin-bottom:4px; }
.job li b, .label { color:var(--ink); font-weight:600; }
.result { padding:12px 16px; background:var(--accent-soft); border-left:3px solid var(--accent); color:var(--ink); }
.early { color:var(--muted); font-size:15px; border-top:1px solid var(--line); padding-top:20px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; }
.card h3 { color:var(--ink); font-size:18px; line-height:1.45; }
.card small { display:block; color:var(--muted); font-size:14px; margin-bottom:8px; }
.card .num { color:var(--accent); font-weight:700; }
.card a { color:var(--accent); }
.skills { display:grid; grid-template-columns:110px 1fr; gap:10px 20px; margin-top:0; }
.skills dt { color:var(--ink); font-weight:600; }
.skills dd { margin:0; }
.product { display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:start; }
.product img { width:96px; height:96px; object-fit:contain; }
.map { border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.contact { background:var(--dark); color:#d3dbe2; padding:72px 0; }
.contact .wrap { display:flex; justify-content:space-between; gap:40px; align-items:center; flex-wrap:wrap; }
.contact h2 { color:#fff; font-size:clamp(26px,3.4vw,36px); line-height:1.3; margin-bottom:14px; }
.contact a { color:#fff; }
.contact img { width:128px; border-radius:6px; }
.contact figcaption { font-size:13px; text-align:center; margin-top:6px; }
.contact figure { margin:0; }
footer.site { padding:20px 0; color:var(--muted); font-size:14px; }
.lesson-group { padding:40px 0; border-top:1px solid var(--line); }
.lesson-group h2 { color:var(--ink); font-size:24px; }
.lesson-group h3 { color:var(--ink); font-size:16px; margin:20px 0 8px; }
.lessons { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px 24px; margin-top:14px; }
.lessons a { text-decoration:none; }
.lessons a:hover { color:var(--accent); text-decoration:underline; }
.lessons span { color:var(--muted); font-size:13px; margin-right:6px; }
.jump { display:flex; flex-wrap:wrap; gap:8px; }
.jump a { padding:5px 12px; border:1px solid var(--line); border-radius:6px; text-decoration:none; font-size:14px; }
@media (max-width:860px) {
  .wrap { padding:0 16px; }
  .site-nav { gap:14px; font-size:14px; }
  .site-nav .hide-sm { display:none; }
  .hero { padding:56px 0 48px; }
  .metrics .wrap { grid-template-columns:repeat(2,1fr); }
  section.block { padding:56px 0; }
  .two, .cards, .lessons { grid-template-columns:1fr; }
  .lessons { grid-template-columns:1fr !important; }
  .steps { grid-template-columns:1fr 1fr; }
  .job { grid-template-columns:1fr; gap:4px; }
  .skills { grid-template-columns:1fr; gap:2px; }
  .skills dd { margin-bottom:10px; }
}

.hero-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; }
.hero-grid h1 { font-size:clamp(30px,4.2vw,46px); line-height:1.3; }
.updated { color:var(--muted); font-size:14px; margin-top:16px; }
.id-card { border:1px solid var(--line); border-radius:8px; padding:28px; }
.id-card h2 { color:var(--ink); font-size:28px; line-height:1.3; }
.id-card h2 span { color:var(--muted); font-size:15px; font-weight:400; }
.id-card ul { padding-left:18px; margin-top:12px; }
.metrics small { display:block; color:#8b9aa7; font-size:13px; line-height:1.5; margin-top:2px; }
.metrics span { display:block; }
.big-quote { color:var(--ink); font-size:clamp(24px,3vw,32px); line-height:1.4; margin:8px 0 12px; }
.num.big { font-size:32px; line-height:1.3; }
.num { color:var(--accent); font-weight:700; }
.facts { color:var(--muted); }
.card { display:block; text-decoration:none; }
a.card:hover { border-color:var(--accent); }
.product { display:grid; }
.timeline { font-size:15px; }
.tl-row, .tl-years { display:grid; grid-template-columns:230px 1fr; gap:16px; align-items:center; text-decoration:none; padding:8px 0; }
.tl-row { border-top:1px solid var(--line); }
.tl-row:hover .tl-name { color:var(--accent); }
.tl-track { position:relative; height:12px; background:var(--soft); border-radius:6px; }
.tl-track i { position:absolute; top:0; bottom:0; background:var(--accent); border-radius:6px; }
.tl-track-years { display:grid; grid-template-columns:repeat(9,1fr); color:var(--muted); font-size:13px; }
.caps { display:grid; gap:16px; }
.cap { background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px; }
.cap h3 { color:var(--ink); font-size:21px; }
.cap-sub { color:var(--accent); font-size:15px; margin-bottom:8px; }
.cap-nums, .stat-row { display:flex; flex-wrap:wrap; gap:32px; margin-top:14px; }
.stat-row { margin:0 0 32px; }
.cap-nums b, .stat-row b { display:block; color:var(--accent); font-size:24px; line-height:1.3; }
.cap-nums span, .stat-row span { font-size:14px; color:var(--muted); }
.mini { padding-left:18px; margin:8px 0; font-size:15px; }
.tags { color:var(--muted); font-size:14px; margin-bottom:6px; }
.steps.five { grid-template-columns:repeat(5,1fr); }
.sub { color:var(--ink); font-size:15px; margin-bottom:4px; }
.plain { color:var(--ink); font-size:26px; margin-bottom:16px; }
section.block .actions { margin-top:20px; }
.stack { display:grid; gap:48px; }
.case-hero { padding-bottom:48px; }
.case-block { padding:72px 0; border-top:1px solid var(--line); }
.case-block.alt { background:var(--soft); }
.case-head { display:flex; gap:24px; align-items:flex-start; margin-bottom:36px; }
.case-no { flex:none; color:var(--accent-soft); font-size:72px; font-weight:800; line-height:1; -webkit-text-stroke:1px var(--accent); }
.case-head h2 { color:var(--ink); font-size:clamp(26px,3.4vw,36px); line-height:1.3; margin:6px 0 8px; }
.case-intro { font-size:17px; max-width:44em; }
.case-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); background:var(--dark); border-radius:10px; margin-bottom:24px; }
.case-stat { padding:22px 24px; border-left:1px solid rgba(255,255,255,.12); }
.case-stat:first-child { border-left:0; }
.case-stat b { display:block; color:#fff; font-size:26px; line-height:1.3; white-space:nowrap; }
.case-stat span { color:#aebbc6; font-size:14px; }
.case-think { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.case-think small { color:var(--accent); font-weight:600; }
.case-think h3 { margin-bottom:8px; font-size:19px; }
.case-sub { color:var(--ink); font-size:20px; margin:40px 0 16px; }
.path { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.path-step { position:relative; background:#fff; border:1px solid var(--line); border-radius:8px; padding:18px 16px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.path-step:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(15,76,129,.14); border-color:var(--accent); }
.path-step i { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; margin-bottom:10px; border-radius:50%; background:var(--accent); color:#fff; font-size:14px; font-style:normal; font-weight:700; }
.path-step h4 { margin:0 0 6px; color:var(--ink); font-size:16px; line-height:1.4; }
.path-step p { font-size:14px; line-height:1.65; }
.proof { margin-top:24px; padding:22px 26px; background:var(--accent-soft); border-left:4px solid var(--accent); border-radius:0 8px 8px 0; color:var(--ink); }
.proof small { display:block; color:var(--accent); font-weight:600; margin-bottom:4px; }
.case-links .case-sub { margin-bottom:6px; }
.case-next { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.case-next h2 { color:var(--ink); font-size:26px; line-height:1.3; margin:6px 0; }
.stack .skills { max-width:820px; }
.card, .cap, .id-card, .map, .btn, .jump a, .lessons a { transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card:hover, .cap:hover, .id-card:hover, .map:hover, .btn:hover, .jump a:hover, .lessons a:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(15,76,129,.14); border-color:var(--accent); }
.lesson-group { padding:48px 0; }
.lesson-group h3 { display:flex; align-items:center; gap:10px; margin:28px 0 12px; padding-left:12px; border-left:3px solid var(--accent); }
.lesson-group h3 em { color:var(--muted); font-size:13px; font-style:normal; font-weight:400; }
.lessons { gap:12px; margin-top:16px; }
.lessons li { display:flex; }
.lessons a { display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:8px; color:var(--ink); }
.lessons a:hover { color:var(--accent); text-decoration:none; }
.lessons a span { flex:none; min-width:36px; margin:0; padding:2px 6px; background:var(--accent-soft); border-radius:4px; color:var(--accent); font-size:13px; font-weight:600; line-height:1.6; text-align:center; }
.lessons a b { font-size:15px; font-weight:400; line-height:1.5; }
@media (prefers-reduced-motion:reduce) { .card, .cap, .id-card, .map, .btn, .jump a, .lessons a { transition:none; } .card:hover, .cap:hover, .id-card:hover, .map:hover, .btn:hover, .jump a:hover, .lessons a:hover { transform:none; } }
@media (max-width:860px) {
  .hero-grid { grid-template-columns:1fr; }
  .steps.five { grid-template-columns:1fr 1fr; }
  .case-block { padding:48px 0; }
  .case-head { gap:14px; }
  .case-no { font-size:44px; }
  .case-think, .path { grid-template-columns:1fr; }
  .case-stats { grid-template-columns:1fr 1fr; }
  .case-stat { border-left:0; padding:14px 16px; }
  .case-stat b { font-size:21px; }
  .tl-row, .tl-years { grid-template-columns:1fr; gap:4px; }
  .tl-years .tl-name { display:none; }
}

/* ===== 全站设计系统 ===== */
:root { --ink:#101c27; --body:#46525e; --muted:#74808b; --line:#e3e7eb; --soft:#f6f7f9; --accent:#0f4c81; --accent-soft:#eaf1f8; --dark:#0c1924; --shadow:0 14px 32px rgba(16,28,39,.1); }
body { font-size:16px; line-height:1.75; }
.wrap { width:min(1200px,100%); padding:0 40px; }
a { text-underline-offset:3px; }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.eyebrow { font-size:13px; letter-spacing:.08em; }
.site-header .wrap { height:68px; }
.brand { font-size:19px; letter-spacing:.02em; }
.site-nav { gap:28px; }
.site-nav a { position:relative; padding:6px 0; }
.site-nav a[aria-current="page"] { color:var(--accent); font-weight:600; }
.site-nav a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--accent); }
.site-nav a.cta { padding:8px 16px; }
.btn { border-radius:8px; font-size:15px; padding:11px 22px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.card, .cap { border-radius:12px; border-color:var(--line); }
.card:hover, .cap:hover, .id-card:hover, .map:hover, .btn:hover, .jump a:hover, .lessons a:hover { box-shadow:var(--shadow); }
.card h3, .cap h3 { font-weight:650; }
.hero { padding:72px 0 56px; background:var(--soft); border-bottom:1px solid var(--line); }
.hero h1 { font-size:clamp(32px,4.4vw,50px); line-height:1.25; font-weight:700; }
.hero .lead { font-size:17px; color:var(--body); }
section.block { padding:96px 0; }
.sec-head h2 { font-size:clamp(26px,3vw,34px); font-weight:700; letter-spacing:-.005em; }
.stat-row b, .cap-nums b { font-weight:700; }

h1, h2, h3 { text-wrap:balance; }
.sub-group { color:var(--ink); font-size:18px; margin:32px 0 14px; }
.sub-group:first-of-type { margin-top:0; }
/* 首页首屏 */
.home-hero { background:var(--dark); color:#c9d3dc; }
.home-hero .wrap.top { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr); gap:72px; align-items:center; padding-top:96px; padding-bottom:72px; }
.home-hero .eyebrow { color:#8fb6d9; }
.home-hero h1 { color:#fff; font-size:clamp(28px,3.1vw,42px); line-height:1.3; font-weight:700; margin:16px 0 0; }
.home-hero .actions { margin-top:36px; }
.home-hero .btn { background:transparent; border-color:rgba(255,255,255,.28); color:#fff; }
.home-hero .btn:hover { border-color:#fff; color:#fff; }
.home-hero .btn.primary { background:#fff; border-color:#fff; color:var(--dark); }
.home-hero .btn.primary:hover { background:#e8eef4; color:var(--dark); }
.home-hero .updated { color:#7f8d99; }
.id-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:32px; color:#c9d3dc; transition:border-color .18s ease; }
.id-card:hover { transform:none; box-shadow:none; border-color:rgba(255,255,255,.34); }
.id-card h2 { color:#fff; font-size:30px; }
.id-card h2 span { color:#8b9aa7; }
.id-card ul { list-style:none; padding:0; margin-top:18px; }
.id-card li { padding:10px 0; border-top:1px solid rgba(255,255,255,.1); font-size:15px; line-height:1.6; }
.home-metrics { border-top:1px solid rgba(255,255,255,.12); }
.home-metrics .wrap { display:grid; grid-template-columns:repeat(5,1fr); }
.home-metrics .wrap > div { padding:32px 24px; border-left:1px solid rgba(255,255,255,.12); }
.home-metrics .wrap > div:first-child { border-left:0; padding-left:0; }
.home-metrics b { display:block; color:#fff; font-size:clamp(26px,2.8vw,36px); line-height:1.25; font-weight:700; white-space:nowrap; }
.home-metrics span { display:block; color:#dbe3ea; font-size:14px; margin-top:6px; }
.home-metrics small { display:block; color:#7f8d99; font-size:13px; line-height:1.5; margin-top:2px; }

/* 左标题、右内容的分栏 */
.split { display:grid; grid-template-columns:300px minmax(0,1fr); gap:72px; align-items:start; }
.split-side { position:sticky; top:108px; }
.split-side h2 { color:var(--ink); font-size:clamp(24px,2.6vw,30px); line-height:1.35; font-weight:700; margin:10px 0 12px; }
.split-side p:not(.eyebrow) { font-size:15px; }

/* AI 视频 */
.track { min-width:0; }
.track h3 { font-size:22px; font-weight:700; }
.covers.feature { grid-template-columns:1fr 1fr; gap:12px; }
.covers.feature img:first-child { grid-column:1 / -1; }
.covers img { border-radius:10px; transition:transform .18s ease, box-shadow .18s ease; }
.covers img:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.flow { list-style:none; margin:56px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:f; border-top:1px solid var(--line); }
.flow li { padding:24px 28px 0 0; counter-increment:f; }
.flow li::before { content:"0" counter(f); display:block; color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.06em; margin-bottom:8px; }
.flow b { display:block; color:var(--ink); font-size:17px; margin-bottom:4px; }
.flow span { font-size:15px; line-height:1.65; display:block; }
.note { border-radius:10px; }

/* 关于我 */
.big-quote { font-size:clamp(24px,2.8vw,32px); font-weight:700; line-height:1.45; margin:0 0 14px; }
.about-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:32px; align-items:stretch; margin-bottom:24px; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.pillars > div { padding:20px 24px 0 0; }
.pillars h3 { color:var(--ink); font-size:17px; margin:0 0 4px; }
.pillars p { font-size:15px; line-height:1.65; }

/* 时间线 */
.timeline { border-bottom:1px solid var(--line); }
.tl-row, .tl-years { grid-template-columns:220px 1fr; padding:11px 0; }
.tl-track { height:10px; background:#edf0f3; }
.tl-row:hover .tl-track i { background:#0a3a64; }

/* 能力体系 */
.caps { gap:16px; }
.cap { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(170px,.7fr); gap:8px 40px; padding:28px; }
.cap > h3, .cap > .cap-sub, .cap > p { grid-column:1; }
.cap > p + p { margin-top:6px; }
.cap-nums { grid-column:2; grid-row:1 / span 4; flex-direction:column; gap:14px; margin:0; padding-left:28px; border-left:1px solid var(--line); justify-content:center; }

/* 方法体系 */
.grid-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px; counter-reset:g; }
.grid-steps li { counter-increment:g; background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.grid-steps li:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--accent); }
.grid-steps li::before { content:"0" counter(g); display:block; color:var(--accent); font-size:13px; font-weight:700; margin-bottom:8px; }
.grid-steps b { display:block; color:var(--ink); font-size:17px; margin-bottom:6px; }
.grid-steps span { font-size:15px; line-height:1.65; display:block; }
.map { border-radius:12px; }
.map img { width:100%; max-height:520px; object-fit:cover; object-position:top; }

/* 案例、账号 */
.case-card { display:flex; flex-direction:column; }
.case-card .big { font-size:40px; line-height:1.2; }
.case-card h3 { margin:10px 0 6px; font-size:19px; }
.case-card p:last-child { margin-top:auto; padding-top:12px; color:var(--ink); font-size:15px; }
.rows { border-top:1px solid var(--line); }
.row-link { display:grid; grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) 20px; gap:16px; align-items:center; padding:18px 8px; border-bottom:1px solid var(--line); text-decoration:none; transition:background .18s ease, padding .18s ease; }
.row-link:hover { background:var(--soft); padding-left:16px; }
.row-link small { color:var(--muted); font-size:14px; }
.row-link b { color:var(--ink); font-size:16px; font-weight:600; }
.row-link span { font-size:15px; }
.row-link i { color:var(--accent); font-style:normal; }

/* 详细简历 */
.resume-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:64px; align-items:start; padding-top:56px; padding-bottom:96px; }
.resume-side { position:sticky; top:96px; }
.resume-side h1 { color:var(--ink); font-size:36px; line-height:1.25; margin:8px 0 4px; }
.resume-side .role-line { color:var(--ink); font-weight:600; font-size:15px; }
.resume-side .contact-list { list-style:none; padding:0; margin:16px 0; font-size:14px; line-height:1.9; }
.resume-side .btn { display:block; text-align:center; margin-top:8px; font-size:14px; padding:9px 12px; }
.side-nav { display:grid; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.side-nav a { padding:6px 0; color:var(--body); text-decoration:none; font-size:15px; }
.side-nav a:hover { color:var(--accent); }
.side-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.side-stats b { display:block; color:var(--accent); font-size:21px; line-height:1.25; }
.side-stats span { color:var(--muted); font-size:12px; }
.resume-main > section { padding:0 0 56px; }
.resume-main h2 { color:var(--ink); font-size:26px; margin:0 0 20px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.resume-main .lead { font-size:16px; margin-bottom:12px; }
.job { display:block; padding:28px 0; border-top:1px solid var(--line); scroll-margin-top:84px; }
.job:first-of-type { border-top:0; padding-top:4px; }
.job-head { display:flex; justify-content:space-between; gap:20px; align-items:baseline; margin-bottom:8px; }
.job-head h3 { margin:0; font-size:18px; line-height:1.45; }
.job-head span { flex:none; color:var(--muted); font-size:14px; }
.job ul { margin:10px 0 0; }
.job-results { list-style:none; margin:14px 0 0 !important; padding:14px 18px; background:var(--accent-soft); border-radius:10px; color:var(--ink); }
.job-results li { font-size:15px; line-height:1.7; margin:0; }
.job-results li + li { margin-top:6px; }
.resume-main .cards { grid-template-columns:repeat(2,1fr); }
.resume-main .skills { grid-template-columns:90px 1fr; }

/* 子导航 */
.subnav { position:sticky; top:68px; z-index:5; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.subnav .wrap { display:flex; gap:28px; overflow-x:auto; scrollbar-width:none; }
.subnav a { flex:none; padding:14px 0; color:var(--body); text-decoration:none; font-size:15px; }
.subnav a:hover { color:var(--accent); }
html { scroll-padding-top:130px; }

/* 页脚 */
.contact { padding:88px 0; }
.contact h2 { font-size:clamp(26px,3vw,34px); font-weight:700; }
footer.site { background:var(--dark); color:#7f8d99; border-top:1px solid rgba(255,255,255,.1); padding:22px 0; }

@media (max-width:1000px) {
  .home-hero .wrap.top { grid-template-columns:1fr; gap:40px; padding-top:64px; padding-bottom:48px; }
  .split, .resume-layout { grid-template-columns:1fr; gap:32px; }
  .split-side, .resume-side { position:static; }
  .home-metrics .wrap { grid-template-columns:repeat(3,1fr); }
  .home-metrics .wrap > div { padding:22px 16px; border-left:0; padding-left:0; }
}
@media (max-width:860px) {
  .wrap { padding:0 16px; }
  section.block { padding:64px 0; }
  .hero { padding:48px 0 40px; }
  .site-nav { gap:14px; }
  .home-metrics .wrap { grid-template-columns:1fr 1fr; }
  .flow, .pillars, .grid-steps, .about-grid, .cap { grid-template-columns:1fr; }
  .flow li, .pillars > div { padding-right:0; }
  .cap-nums { grid-column:1; grid-row:auto; flex-direction:row; flex-wrap:wrap; padding:16px 0 0; border-left:0; border-top:1px solid var(--line); margin-top:10px; }
  .row-link { grid-template-columns:1fr 20px; gap:2px 12px; }
  .row-link small, .row-link b, .row-link span { grid-column:1; }
  .row-link i { grid-column:2; grid-row:1 / span 3; }
  .resume-main .cards { grid-template-columns:1fr; }
  .resume-main .skills { grid-template-columns:1fr; }
  .job-head { flex-direction:column; gap:2px; }
  .resume-layout { padding-top:32px; padding-bottom:48px; }
  .tl-row, .tl-years { grid-template-columns:1fr; }
}

/* ===== 高端居中通栏 ===== */
:root { --gold:#c8a56a; --gold-deep:#9a7a43; --serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","Microsoft YaHei",serif; }
h1, h2, .big-quote { font-family:var(--serif); font-weight:700; letter-spacing:.01em; }
.eyebrow { color:var(--gold-deep); letter-spacing:.2em; font-size:12px; font-weight:600; }
section.block { padding:120px 0; }
.center-head, .sec-head { max-width:980px; margin:0 auto 64px; text-align:center; }
.center-head p:not(.eyebrow), .sec-head p:not(.eyebrow) { max-width:760px; margin-left:auto; margin-right:auto; }
.center-head h2, .sec-head h2 { color:var(--ink); font-size:clamp(28px,3.6vw,44px); line-height:1.3; margin:16px 0 18px; }
.center-head p:not(.eyebrow), .sec-head p:not(.eyebrow) { font-size:17px; color:var(--body); }
.center-head::after, .sec-head::after { content:""; display:block; width:48px; height:2px; margin:28px auto 0; background:var(--gold); }
.block.dark { background:var(--dark); color:#b9c4ce; }
.block.dark .center-head h2 { color:#fff; }
.block.dark .center-head p:not(.eyebrow) { color:#b9c4ce; }
.block.dark .eyebrow { color:var(--gold); }

/* 数据图表 */
.chart-box { margin:6px 0 24px; padding:20px; background:rgba(255,255,255,.05); border-radius:12px; }
.chart-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.stat-big b { display:block; color:#fff; font-family:var(--serif); font-size:34px; line-height:1.2; white-space:nowrap; }
.stat-big span { color:#9fadb9; font-size:13px; line-height:1.5; display:block; }
.chart-box > .stat-big { margin-bottom:16px; }
.hbars { display:grid; gap:12px; }
.hbar-text { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:13px; line-height:1.5; margin-bottom:5px; }
.hbar-text b { flex:none; font-size:14px; font-weight:700; color:var(--ink); }
.hbar-track { height:8px; background:#e9edf0; border-radius:4px; overflow:hidden; }
.hbar-track i { display:block; height:100%; background:var(--accent); border-radius:4px; }
.cap .hbar-text { color:#b9c4ce; }
.cap .hbar-text b { color:#fff; }
.cap .hbar-track { background:rgba(255,255,255,.12); }
.cap .hbar-track i { background:var(--gold); }
.ring { flex:none; width:96px; text-align:center; }
.ring svg { display:block; width:84px; height:84px; margin:0 auto 2px; }
.ring-bg, .ring-fg { fill:none; stroke-width:9; }
.ring-bg { stroke:#e9edf0; }
.ring-fg { stroke:var(--accent); stroke-linecap:round; }
.ring text { fill:var(--ink); font-size:16px; font-weight:700; }
.ring span { color:var(--muted); font-size:13px; }
.cap .ring-bg { stroke:rgba(255,255,255,.14); }
.cap .ring-fg { stroke:var(--gold); }
.cap .ring text { fill:#fff; }
.cap .ring span { color:#9fadb9; }
.chart-note { margin-top:10px; color:var(--muted); font-size:13px; line-height:1.5; }
.case-card { text-align:left !important; align-items:stretch !important; }
.case-card .big { font-size:48px !important; margin:4px 0; }
.case-desc { font-size:15px; }
.case-chart { margin:18px 0; padding-top:18px; border-top:1px solid var(--line); display:grid; gap:14px; }
.case-chart .ring { margin:0 auto; }
.case-more { margin-top:auto; color:var(--accent); font-size:14px; font-weight:600; }
.video-dash { max-width:900px; margin:0 auto 40px; text-align:center; }
.video-total b { display:block; color:var(--accent); font-family:var(--serif); font-size:clamp(56px,8vw,88px); line-height:1.1; }
.video-total span { color:var(--body); font-size:16px; }
.video-split { display:flex; gap:2px; height:16px; margin:24px 0 12px; }
.video-split i { display:block; }
.video-split .seg-a { background:#1a6fb5; border-radius:6px 0 0 6px; }
.video-split .seg-b { background:#c98a1e; border-radius:0 6px 6px 0; }
.video-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 28px; font-size:14px; color:var(--ink); }
.video-legend i { display:inline-block; width:10px; height:10px; margin-right:6px; border-radius:3px; }
.video-legend .seg-a { background:#1a6fb5; }
.video-legend .seg-b { background:#c98a1e; }
.video-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.video-grid h3 { margin:0 0 18px; font-size:18px; }
.video-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.video-facts b { display:block; color:var(--accent); font-family:var(--serif); font-size:32px; line-height:1.25; }
.video-facts span { font-size:14px; line-height:1.5; display:block; }
.course-card { display:flex; flex-direction:column; padding:30px 28px; }
.course-card header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.course-card header b { color:var(--accent); font-family:var(--serif); font-size:32px; line-height:1.1; }
.course-card header small { margin:0; color:var(--muted); font-size:13px; }
.course-card h3 { margin:0 0 8px; font-size:20px; }
.course-card > p { font-size:15px; line-height:1.7; }
.chips { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:18px 0; padding:0; }
.chips li { padding:4px 10px; background:var(--soft); border-radius:6px; color:var(--ink); font-size:13px; line-height:1.5; }
#course-library .chips li { background:#f1f4f7; }
.course-card .tags { margin:0 0 18px; font-size:13px; }
.course-link { margin-top:auto; color:var(--accent); font-size:14px; font-weight:600; text-decoration:none; }
.course-link:hover { text-decoration:underline; }
.cards:has(.course-card) { gap:24px; }
.caps { align-items:stretch; }
.cap > p:not(.cap-sub) { order:0; }
.cap > .cap-sub { order:0; margin-bottom:18px; }

.work-card { display:flex; flex-direction:column; align-items:center; text-align:center; }
.work-card small { margin-bottom:6px; }
.work-card b { color:var(--accent); font-family:var(--serif); font-size:40px; line-height:1.2; white-space:nowrap; }
.work-card > span { color:var(--muted); font-size:13px; margin-bottom:10px; }
.work-card p { font-size:14px; line-height:1.65; }
#works .cards { grid-template-columns:repeat(4,1fr); }
.product-dash { max-width:760px; margin:0 auto 48px; padding:28px 32px; background:var(--soft); border-radius:14px; text-align:center; }
.product-dash .stat-big b { color:var(--accent); font-size:44px; }
.product-dash .stat-big span { color:var(--muted); margin-bottom:18px; }
.product-dash .hbars { text-align:left; }

/* 详细简历 */
.resume-single { max-width:1040px; }
.resume-single .lead { max-width:820px; margin-left:auto; margin-right:auto; text-align:center; color:var(--body); }
.resume-single > section { padding-bottom:96px; }
.job { padding:40px; margin-bottom:28px; border-radius:18px; box-shadow:0 2px 12px rgba(16,28,39,.04); }
.job:first-of-type { padding-top:40px; }
.job-head { align-items:center; margin-bottom:6px; }
.job-head h3 { font-family:var(--serif); font-size:24px; font-weight:700; }
.job-head span { padding:4px 12px; background:var(--soft); border-radius:99px; font-size:13px; }
.job-intro { color:var(--body); font-size:16px; }
.job-viz { margin:24px 0 28px; padding:24px; background:#f8f9fb; border-radius:14px; display:grid; gap:22px; }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:18px; }
.tiles b { display:block; color:var(--accent); font-family:var(--serif); font-size:32px; line-height:1.2; white-space:nowrap; }
.tiles span { color:var(--muted); font-size:13px; line-height:1.5; display:block; margin-top:4px; }
.viz-row { display:grid; grid-template-columns:140px minmax(0,1fr); gap:28px; align-items:center; }
.viz-row > div:last-child { display:grid; gap:22px; }
.viz-side .ring { margin:0 auto; }
.account-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.account-grid.two-up { grid-template-columns:1fr 1fr; }
.account-card { padding:22px; background:#fff; border:1px solid var(--line); border-radius:12px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.account-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--gold); }
.account-card h4 { margin:0 0 12px; color:var(--ink); font-size:16px; }
.account-hero { color:var(--accent); font-family:var(--serif); font-size:38px; line-height:1.15; white-space:nowrap; }
.account-label { color:var(--muted); font-size:13px; margin:4px 0 14px; }
.account-card ul { list-style:none; margin:0; padding:0; }
.account-card li { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--line); font-size:14px; line-height:1.5; }
.account-card li b { flex:none; color:var(--ink); max-width:60%; text-align:right; }
.act-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 32px; }
.act-grid h4 { margin:0 0 6px; color:var(--ink); font-size:15px; padding-left:10px; border-left:3px solid var(--gold); line-height:1.4; }
.act-grid p { font-size:15px; line-height:1.75; }
.act-list { margin:0 !important; padding-left:20px; display:grid; gap:10px; }
.act-list li { font-size:15px; line-height:1.75; margin:0; }
.early-card { padding:12px 40px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.early-card .job-head { padding:14px 0; margin:0; }
.early-card .job-head + .job-head { border-top:1px solid var(--line); }
.early-card .job-head h3 { font-family:inherit; font-size:16px; font-weight:600; }

/* 文字内容一律上下排列 */
.act-grid { grid-template-columns:1fr; gap:20px; }
.resume-single .skills-grid { grid-template-columns:1fr; }
.case-think { grid-template-columns:1fr; }
.video-grid { grid-template-columns:1fr; }
.viz-row { grid-template-columns:1fr; justify-items:center; }
.viz-row > div:last-child { width:100%; }
.resume-single .cards { grid-template-columns:repeat(3,1fr); }
.two { grid-template-columns:1fr; }
.contact .wrap, .case-next { display:block; }
.contact figure { margin-top:28px; }
.contact img { margin:0 auto; }

/* 案例卡：先说是什么 */
.case-card h3 { margin:6px 0 12px !important; font-family:var(--serif); font-size:24px !important; }
.case-card small { color:var(--gold-deep); font-weight:600; letter-spacing:.06em; }
.case-big { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin-bottom:10px; }
.case-big b { color:var(--accent); font-family:var(--serif); font-size:44px; line-height:1.15; white-space:nowrap; }
.case-big span { color:var(--ink); font-size:15px; font-weight:600; }
.chart-title { margin:0; color:var(--ink); font-size:15px; }
.caps { grid-template-columns:repeat(2,1fr) !important; }

/* AI 实践 */
.ai-entry { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:880px; margin:0 auto 72px; }
.ai-entry a { display:block; padding:26px 28px; background:var(--dark); border:2px solid transparent; border-radius:14px; color:#b9c4ce; text-align:center; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ai-entry a:hover { transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow); }
.ai-entry small { display:block; color:var(--gold); font-size:13px; letter-spacing:.08em; }
.ai-entry b { display:block; margin:6px 0; color:#fff; font-family:var(--serif); font-size:26px; line-height:1.3; }
.ai-entry span { font-size:14px; }
.ai-sub { color:var(--ink); font-family:var(--serif); font-size:clamp(23px,2.8vw,32px); line-height:1.35; text-align:center; margin:0 0 10px; scroll-margin-top:90px; }
.ai-sub-lead { max-width:760px; margin:0 auto 32px; text-align:center; }
#ai-products { margin-top:88px; padding-top:72px; border-top:1px solid var(--line); }
.ai-dash { display:grid; gap:24px; max-width:900px; margin-bottom:0; text-align:left; }

/* 首屏：先回答你是谁 */
.hero-role { color:#fff !important; font-size:18px !important; margin-top:16px !important; }
.hero-proof { margin-top:10px; color:#b9c4ce; font-size:16px; }
.hero-contact-line { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 12px; margin-top:20px; color:#8b9aa7; font-size:15px; }
.hero-contact-line a { color:#dbe3ea; text-decoration:none; }
.hero-contact-line a:hover { color:var(--gold); }
.hero-motto { margin:0; padding:14px 16px; border-top:1px solid rgba(255,255,255,.12); color:#8b9aa7; font-family:var(--serif); font-size:15px; text-align:center; }
.hero-motto span { margin-left:16px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; font-size:13px; }
.about-points { display:grid; grid-template-columns:repeat(2,minmax(0,max-content)); justify-content:center; gap:8px 40px; list-style:none; margin:0 auto 40px; padding:0; color:var(--ink); font-size:16px; }
.about-points li::before { content:"✓"; margin-right:8px; color:var(--gold-deep); font-weight:700; }
/* 首屏 */
.home-hero { background:radial-gradient(1000px 520px at 50% -10%, #1c3550 0%, var(--dark) 70%); }
.hero-center { max-width:980px; margin:0 auto; padding:72px 0 48px; text-align:center; }
.home-hero .eyebrow { color:var(--gold); }
.hero-name { color:#fff; font-family:var(--serif); font-size:20px; letter-spacing:.14em; margin:22px 0 0; }
.hero-name span { color:#8b9aa7; font-family:inherit; font-size:15px; letter-spacing:.06em; margin-left:10px; }
.home-hero h1 { font-size:clamp(34px,5vw,64px); line-height:1.25; margin:18px 0 0; }
.hero-role { margin-top:22px; color:#b9c4ce; font-size:17px; }
.home-hero .actions { justify-content:center; margin-top:28px; }
.home-hero .btn.primary { background:var(--gold); border-color:var(--gold); color:#101c27; }
.home-hero .btn.primary:hover { background:#d8b87f; border-color:#d8b87f; color:#101c27; }
.home-hero .updated { margin-top:22px; }
.hero-points { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid rgba(255,255,255,.12); }
.hero-points div { padding:26px 22px; border-left:1px solid rgba(255,255,255,.12); color:#c9d3dc; font-size:15px; line-height:1.65; text-align:center; }
.hero-points div:first-child { border-left:0; }
.home-metrics .wrap { grid-template-columns:repeat(5,1fr); }
.home-metrics .wrap > div, .home-metrics .wrap > div:first-child { padding:28px 12px; text-align:center; }
.home-metrics b { color:var(--gold); font-family:var(--serif); font-size:clamp(28px,3.2vw,42px); }

/* AI 流程 */
.flow { text-align:center; border-top:0; gap:16px; margin-top:64px; }
.flow li { padding:28px 22px; background:var(--soft); border-radius:14px; transition:transform .2s ease, box-shadow .2s ease; }
.flow li:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.flow li::before { color:var(--gold-deep); }
.note { margin:24px auto 0; text-align:center; background:transparent; color:var(--body); padding:0; max-width:760px; }

/* 关于我 */
.about-quote { max-width:920px; margin:0 auto 56px; text-align:center; }
.big-quote { font-size:clamp(26px,3.4vw,42px); line-height:1.5; margin:0 0 18px; color:var(--ink); }
.about-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.about-cards .card { display:flex; flex-direction:column; justify-content:center; text-align:center; padding:32px 24px; }
.about-cards h3 { font-size:19px; margin:0 0 8px; }
.about-cards .num.big { font-family:var(--serif); font-size:30px; margin:4px 0; }

/* 时间线 */
.timeline { max-width:1040px; margin:0 auto; border-bottom:0; }
.tl-years { display:block; padding:0 0 10px; }
.tl-years .tl-name { display:none; }
.tl-row { display:block; padding:14px 0; border-top:1px solid var(--line); }
.tl-row .tl-name { display:block; color:var(--ink); font-size:15px; font-weight:600; margin-bottom:8px; }
.tl-track { display:block; height:12px; }
.tl-track i { background:linear-gradient(90deg,var(--accent),#2b7ab8); }

/* 能力体系 */
.caps { grid-template-columns:repeat(3,1fr); gap:20px; }
.cap { display:flex; flex-direction:column; padding:36px 30px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); color:#b9c4ce; }
.cap:hover { background:rgba(255,255,255,.07); border-color:var(--gold); box-shadow:none; }
.cap > h3 { order:0; color:#fff; font-family:var(--serif); font-size:24px; margin:0 0 6px; }
.cap > .cap-sub { order:0; color:var(--gold); margin-bottom:18px; }
.cap-nums { min-height:152px; align-content:flex-start; order:2; grid-column:auto; grid-row:auto; flex-direction:row; flex-wrap:wrap; gap:18px 28px; padding:0 0 24px; margin:0 0 24px; border-left:0; border-bottom:1px solid rgba(255,255,255,.12); justify-content:flex-start; }
.cap-nums b { color:#fff; font-family:var(--serif); font-size:26px; white-space:nowrap; }
.cap-nums span { color:#8b9aa7; display:block; }
.cap > p:not(.cap-sub) { order:3; font-size:15px; line-height:1.75; }
.cap > p + p { margin-top:12px; }
.cap .label { color:#fff; }

/* 方法体系 */
.grid-steps { grid-template-columns:repeat(4,1fr); }
.grid-steps li { text-align:center; padding:32px 24px; border-radius:14px; }
.grid-steps li::before { color:var(--gold-deep); font-size:15px; }
.map { border-radius:14px; }
.map img { max-height:620px; }

/* 课程、案例、阵地 */
#community .stat-row, #course-library .stat-row, #courses .stat-row, .course-hero .stat-row { justify-content:center; gap:64px; text-align:center; }
.stat-row b { font-family:var(--serif); font-size:34px; }
.card { padding:32px 28px; border-radius:14px; }
.case-card { text-align:center; align-items:center; }
.case-card .big { font-family:var(--serif); font-size:52px; }
.case-card p:last-child { color:var(--body); }
.channel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.channel-grid .card { text-align:center; padding:30px 18px; }
.channel-grid h3 { font-size:17px; margin:4px 0 6px; }
.channel-grid p { font-size:14px; line-height:1.6; }

/* 内页页头 */
.hero { padding:104px 0 80px; text-align:center; background:radial-gradient(900px 460px at 50% -20%, #1c3550 0%, var(--dark) 72%); border-bottom:0; color:#b9c4ce; }
.hero h1 { color:#fff; font-size:clamp(30px,4.4vw,54px); max-width:none; margin:16px auto 20px; }
.hero .eyebrow { color:var(--gold); }
.hero .lead { color:#b9c4ce; margin:0 auto; max-width:760px; }
.hero .actions, .hero .jump { justify-content:center; }
.hero .updated { color:#7f8d99; }
.hero .btn { background:transparent; border-color:rgba(255,255,255,.28); color:#fff; }
.hero .btn:hover { border-color:#fff; color:#fff; }
.hero .btn.primary { background:var(--gold); border-color:var(--gold); color:#101c27; }
.hero .btn.primary:hover { background:#d8b87f; border-color:#d8b87f; color:#101c27; }
.hero .jump a { border-color:rgba(255,255,255,.24); color:#fff; }
.hero .jump a:hover { border-color:var(--gold); color:var(--gold); }
.hero .stat-row { justify-content:center; gap:64px; text-align:center; }
.hero .stat-row b { color:var(--gold); }
.hero .stat-row span { color:#b9c4ce; }
.hero-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 24px; margin-top:20px; font-size:15px; }
.hero-contact a { color:#fff; text-decoration:none; }
.subnav .wrap { justify-content:center; }
.subnav a[href]:hover { color:var(--gold-deep); }

/* 详细简历：单栏 */
.resume-single { max-width:920px; margin:0 auto; padding-top:88px; padding-bottom:40px; }
.resume-single > section { padding:0 0 80px; scroll-margin-top:130px; }
.resume-single h2 { color:var(--ink); font-size:32px; text-align:center; margin:0 0 36px; padding:0; border:0; }
.resume-single h2::after { content:""; display:block; width:40px; height:2px; margin:16px auto 0; background:var(--gold); }
.resume-single .lead { font-size:16px; margin-bottom:14px; }
.resume-single .cards { grid-template-columns:repeat(2,1fr); }
.resume-single .card { padding:24px; }
.skills-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.skills-grid h3 { color:var(--ink); font-size:17px; margin:0 0 6px; }
.skills-grid p { font-size:15px; }
.edu-card { text-align:center; }
.edu-card h3 { margin:0 0 4px; font-size:18px; }
.job { background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px 32px; margin-bottom:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.job:first-of-type { border-top:1px solid var(--line); padding-top:30px; }
.job:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--gold); }
.job-results { background:#fbf7ef; border-left:3px solid var(--gold); }
.job-results .num { color:var(--gold-deep); }
.metrics-band { background:var(--dark); }
.metrics-band .wrap { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; padding-top:36px; padding-bottom:36px; text-align:center; }
.metrics-band b { display:block; color:var(--gold); font-family:var(--serif); font-size:clamp(22px,2.6vw,32px); white-space:nowrap; }
.metrics-band span { color:#b9c4ce; font-size:13px; }

/* 产品卡：二维码在上 */
.product { display:block; text-align:center; }
.product img { width:150px; height:auto; margin:0 auto 18px; }
#products .card { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.sub-group { text-align:center; font-family:var(--serif); font-size:22px; margin:48px 0 24px; }
.sub-group:first-of-type { margin-top:0; }

/* 案例页 */
.case-block { padding:112px 0; }
.case-head { display:block; text-align:center; max-width:820px; margin:0 auto 48px; }
.case-no { display:block; margin-bottom:12px; font-family:var(--serif); font-size:56px; color:var(--gold); -webkit-text-stroke:0; }
.case-head h2 { font-size:clamp(28px,3.6vw,42px); }
.case-intro { margin:0 auto; }
.case-stat { text-align:center; }
.case-stat b { color:var(--gold); font-family:var(--serif); font-size:30px; }
.case-think .card { text-align:center; }
.case-sub { text-align:center; font-family:var(--serif); font-size:26px; margin-top:64px; margin-bottom:24px; }
.path-step { text-align:center; padding:26px 18px; border-radius:14px; }
.path-step i { background:var(--gold); color:#101c27; }
.proof { text-align:center; background:#fbf7ef; border-left:0; border-radius:14px; padding:30px 36px; margin-top:32px; }
.proof small { color:var(--gold-deep); }
.evidence { margin-top:64px; padding:56px 48px; background:radial-gradient(800px 360px at 50% 0%, #1c3550 0%, var(--dark) 75%); border-radius:18px; text-align:center; color:#b9c4ce; }
.evidence .eyebrow { color:var(--gold); }
.evidence h3 { color:#fff; font-family:var(--serif); font-size:clamp(26px,3.2vw,38px); line-height:1.35; margin:12px 0; }
.evidence-lead { max-width:720px; margin:0 auto 36px; font-size:16px; }
.evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.evidence-card { display:flex; flex-direction:column; align-items:center; padding:30px 20px 26px; background:#fff; border:2px solid transparent; border-radius:14px; color:var(--body); text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.evidence-card:hover { transform:translateY(-6px); border-color:var(--gold); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.evidence-card small { color:var(--gold-deep); font-size:13px; font-weight:600; }
.evidence-card h4 { margin:8px 0; color:var(--ink); font-family:var(--serif); font-size:21px; line-height:1.35; }
.evidence-card p { flex:1; margin-bottom:18px; font-size:14px; line-height:1.65; }
.evidence-card span { padding:9px 16px; background:var(--gold); border-radius:8px; color:#101c27; font-size:14px; font-weight:700; white-space:nowrap; }
.evidence-grid.three { grid-template-columns:repeat(3,1fr); }
.portfolio-evidence { margin:0 0 40px; }
.portfolio-evidence .evidence-card { padding:36px 24px 30px; }
.portfolio-evidence .evidence-card h4 { font-size:24px; }
.portfolio-evidence .evidence-card span { padding:12px 22px; font-size:15px; }
.case-links { text-align:center; }
.case-links .actions { justify-content:center; }
.case-next { display:block; text-align:center; }
.case-next .btn { margin-top:24px; }

/* 课程目录 */
.lesson-group > .eyebrow, .lesson-group > h2, .lesson-group > p { text-align:center; }
.lesson-group > h2 { font-size:30px; margin:10px 0; }
.lesson-group h3 { justify-content:center; border-left:0; padding-left:0; margin-top:36px; }

/* 联系 */
.contact { padding:112px 0; }
.contact .wrap { flex-direction:column; text-align:center; gap:32px; }
.contact h2 { font-size:clamp(28px,3.6vw,44px); line-height:1.35; }
.contact a { color:var(--gold); }
footer.site { text-align:center; }
html { scroll-padding-top:130px; }

@media (max-width:1000px) {
  .caps, .channel-grid, .grid-steps, .about-cards, .evidence-grid, #works .cards { grid-template-columns:1fr 1fr; }
  .hero-points { grid-template-columns:1fr 1fr; }
  .hero-points div:nth-child(3) { border-left:0; }
  .home-metrics .wrap { grid-template-columns:repeat(3,1fr); }
  .metrics-band .wrap { grid-template-columns:repeat(3,1fr); row-gap:20px; }
}
@media (max-width:860px) {
  section.block, .case-block, .contact { padding:72px 0; }
  .hero { padding:64px 0 52px; }
  .hero-center { padding:72px 0 52px; }
  .center-head, .sec-head { margin-bottom:40px; }
  .caps, .channel-grid, .grid-steps, .about-cards, .hero-points, .skills-grid, .resume-single .cards, .flow { grid-template-columns:1fr; }
  .hero-points div { border-left:0; border-top:1px solid rgba(255,255,255,.08); padding:14px 12px; }
  .hero-points div:first-child { border-top:0; }
  .home-metrics .wrap { grid-template-columns:1fr 1fr; }
  .home-metrics .wrap > div, .home-metrics .wrap > div:first-child { padding:22px 8px; }
  .metrics-band .wrap { grid-template-columns:1fr 1fr; }
  .cap-nums { min-height:0; }
  #works .cards { grid-template-columns:1fr; }
  .product-dash { padding:22px 16px; }
  .job, .job:first-of-type { padding:24px 18px; }
  .job-head h3 { font-size:20px; }
  .job-viz { padding:16px; }
  .viz-row, .account-grid, .account-grid.two-up, .act-grid { grid-template-columns:1fr; }
  .resume-single .cards { grid-template-columns:1fr; }
  .tiles { grid-template-columns:1fr 1fr; }
  .tiles b { font-size:26px; }
  .early-card { padding:8px 18px; }
  .resume-single > section { padding-bottom:64px; }
  .caps { grid-template-columns:1fr !important; }
  .ai-entry { grid-template-columns:1fr; margin-bottom:48px; }
  #ai-products { margin-top:56px; padding-top:48px; }
  .video-grid, .video-facts { grid-template-columns:1fr; }
  .video-facts { grid-template-columns:1fr 1fr; }
  .evidence { padding:36px 16px; margin-top:40px; }
  .evidence-grid, .evidence-grid.three { grid-template-columns:1fr; }
  .job { padding:22px 18px; }
  .resume-single { padding-top:56px; }
  .hero .stat-row, #course-library .stat-row, #courses .stat-row { gap:24px; }
  .stat-row b { font-size:26px; }
  .hero-name span { display:block; margin:4px 0 0; }
  .home-hero h1 br, .big-quote br, .hero h1 br { display:none; }
  .home-hero h1 { font-size:30px; line-height:1.35; }
  .hero-role { font-size:15px !important; }
  .about-points { grid-template-columns:1fr; justify-content:start; }
  .hero-motto span { display:block; margin:4px 0 0; }
}


/* ===== 能力体系一行四张、内容块统一宽度 ===== */
.caps { grid-template-columns:repeat(4,1fr) !important; gap:14px; }
.cap { padding:24px 18px; }
.cap > h3 { font-size:20px; }
.cap > .cap-sub { font-size:13px; line-height:1.55; min-height:40px; margin-bottom:12px; }
.cap .chart-box { padding:14px 12px; margin:0 0 16px; }
.cap .chart-row { flex-wrap:nowrap; align-items:flex-start; gap:10px; margin-bottom:12px; }
.cap .chart-row > * { min-width:0; }
.cap .stat-big b { font-size:22px; }
.cap .stat-big span { font-size:12px; }
.cap .ring { width:72px; }
.cap .ring svg { width:64px; height:64px; }
.cap .ring text { font-size:17px; }
.cap .ring span { font-size:12px; }
.cap .hbars { gap:8px; }
.cap .hbar-text { font-size:12px; margin-bottom:3px; gap:6px; }
.cap .hbar-text b { font-size:12px; }
.cap .hbar-track { height:6px; }
.cap > p:not(.cap-sub) { font-size:13px; line-height:1.7; }
.product-dash, .ai-dash, .video-dash, .ai-entry, .timeline, .ai-sub-lead { max-width:none; }
.ai-sub-lead { max-width:760px; }
@media (max-width:1100px) { .caps { grid-template-columns:1fr 1fr !important; } }
@media (max-width:860px) { .caps { grid-template-columns:1fr !important; } .cap > .cap-sub { min-height:0; } }

/* ===== 手机适配 ===== */
html { -webkit-text-size-adjust:100%; }
.hbar-text span, .lessons a b { min-width:0; }
@media (hover:none) {
  .card:hover, .cap:hover, .id-card:hover, .map:hover, .btn:hover, .jump a:hover, .lessons a:hover, .grid-steps li:hover, .path-step:hover, .evidence-card:hover, .account-card:hover, .job:hover, .flow li:hover, .ai-entry a:hover, .covers img:hover { transform:none; box-shadow:none; }
}
@media (max-width:860px) {
  .site-header .wrap { gap:14px; height:60px; }
  .brand { flex:none; font-size:17px; padding:10px 0; }
  .site-nav { flex:1; min-width:0; justify-content:flex-start; gap:18px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent); mask-image:linear-gradient(90deg,#000 88%,transparent); padding-right:22px; }
  .site-nav::-webkit-scrollbar, .subnav .wrap::-webkit-scrollbar { display:none; }
  .site-nav a { flex:none; padding:12px 0; }
  .site-nav .hide-sm { display:inline; }
  .site-nav a.cta { order:-1; padding:8px 12px; }
  .site-nav a[aria-current="page"]::after { bottom:6px; }
  .subnav { top:60px; }
  .subnav .wrap { justify-content:flex-start; gap:20px; }
  html { scroll-padding-top:120px; }
  .hero h1 br { display:inline; }
  .hero h1 { font-size:26px; line-height:1.45; }
  .btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  .actions { justify-content:center; }
  .actions .btn { flex:1 1 40%; }
  .hero-contact a, .hero-contact-line a, .contact a, .course-link, .about-cards a, #cases p > a { display:inline-block; padding:8px 0; }
  .case-more { padding:8px 0; }
  .jump a { padding:10px 12px; }
  .case-stats { grid-template-columns:1fr 1fr; }
  .case-stat b { white-space:normal; font-size:21px; }
  .evidence h3 { font-size:24px; }
  .home-metrics b { font-size:27px; }
  .center-head h2, .sec-head h2 { font-size:25px; }
  .card, .cap { padding:22px 18px; }
  .cap > .cap-sub { font-size:14px; margin-bottom:14px; }
  .cap .stat-big b { font-size:26px; }
  .cap .hbar-text, .cap .hbar-text b { font-size:13px; }
  .cap .hbar-track { height:8px; }
  .cap > p:not(.cap-sub) { font-size:15px; }
  .account-hero { font-size:32px; }
  .case-big b { font-size:38px; }
  .product img { width:170px; }
}
@media (max-width:360px) {
  .site-nav { gap:14px; }
  .case-stats, .home-metrics .wrap { grid-template-columns:1fr; }
  .tiles { grid-template-columns:1fr; }
}
