/* ===== DeepConnect 官网共享增强层：动效 · 高亮 · 移动导航 ===== */

/* ---------- 字重纪律：全站上限 semibold(600)，与设计基准一致 ---------- */
strong,b,h1,h2,h3,h4{font-weight:600}

/* ---------- 滚动浮现 ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- 首屏入场 ---------- */
@keyframes heroUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-enter>*{animation:heroUp .7s cubic-bezier(.22,.61,.36,1) both}
.hero-enter>*:nth-child(2){animation-delay:.1s}
.hero-enter>*:nth-child(3){animation-delay:.2s}
.hero-enter>*:nth-child(4){animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.hero-enter>*{animation:none}}

/* ---------- 卡片悬停 ---------- */
.t-card,.step-card,.why-card,.x-card,.qa-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.t-card:hover,.step-card:hover,.why-card:hover,.qa-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(20,20,19,.08);border-color:#D1CEC1}

/* ---------- 强调：全站唯一一套体系（clay 色 + semibold，与 .t-num / tagline strong 同源） ----------
 * 诚实性纪律（Anthropic epistemic honesty）：
 * .stat  = 我们自己的真实事实（大益千万级客户、联名礼盒跑通）——才配 clay 强调色
 * .istat = 行业公开数据（非我们的交付成果）——只允许灰阶+中字重，不得抢主色
 */
.stat{color:#BD5D3A;font-weight:600;font-style:normal}
.istat{color:#40403E;font-weight:500;font-style:normal}

/* ---------- 术语释义（不改变文字颜色，只加理解辅助） ---------- */
.term{border-bottom:1px dashed #B0AEA5;cursor:help;position:relative;color:inherit;font-weight:inherit}
.term::after{content:attr(data-tip);position:absolute;left:50%;bottom:135%;transform:translateX(-50%);width:min(340px,76vw);background:#141413;color:#F0EEE6;font-size:.78rem;font-weight:400;font-family:'Noto Sans SC',sans-serif;font-style:normal;line-height:1.85;padding:.75rem 1rem;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:70;text-align:left;letter-spacing:0}
.term:hover::after,.term.tip-on::after{opacity:1}
/* 移动端：改为固定在视口底部的卡片，彻底避免左右溢出被截断 */
@media(max-width:640px){
  .term::after{position:fixed;left:1rem;right:1rem;bottom:1rem;top:auto;transform:none;width:auto;box-shadow:0 12px 32px rgba(20,20,19,.28)}
}

/* ---------- 30秒看懂 Q&A ---------- */
.qa-card{background:#FAF9F5;border:1px solid #E3E0D5;border-radius:16px;padding:1.6rem 1.5rem}
.sec-band.alt .qa-card{background:#F0EEE6}
.qa-num{font-family:'Noto Serif SC',serif;font-style:italic;font-size:.88rem;color:#BD5D3A}
.qa-q{margin-top:.5rem;font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.1rem;color:#191919}
.qa-a{margin-top:.55rem;font-size:.89rem;line-height:1.95;color:#40403E}

/* ---------- 探索入口卡片 ---------- */
.explore-grid{margin-top:2.4rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
@media(max-width:820px){.explore-grid{grid-template-columns:1fr}}
.x-card{display:block;text-decoration:none;background:#FAF9F5;border:1px solid #E3E0D5;border-radius:16px;padding:1.6rem 1.6rem 1.4rem;color:#191919}
.sec-band.alt .x-card{background:#F0EEE6}
.x-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(20,20,19,.08);border-color:#D97757}
.x-kicker{font-size:.72rem;font-weight:500;letter-spacing:.13em;color:#BD5D3A;text-transform:uppercase}
.x-title{margin-top:.45rem;font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.15rem}
.x-desc{margin-top:.5rem;font-size:.88rem;line-height:1.9;color:#40403E}
.x-go{margin-top:.85rem;font-size:.84rem;font-weight:500;color:#BD5D3A;display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s}
.x-card:hover .x-go{gap:.65rem}

/* ---------- 下一站导流 ---------- */
a.cta.ghost-ink{border:1px solid rgba(240,238,230,.35);color:rgba(240,238,230,.85)}
a.cta.ghost-ink:hover{border-color:#F0EEE6;color:#F0EEE6;background:rgba(240,238,230,.08)}

/* ---------- 服务模型 SVG 生长动画：标识从一个点长成整个环 ---------- */
.grow-svg .g-dot{transform-box:fill-box;transform-origin:center}
.grow-svg .g-arc{transform-box:fill-box}
.grow-svg:not(.play) .g-dot,.grow-svg:not(.play) .g-txt{opacity:0}
.grow-svg:not(.play) .g-arc{opacity:0}
.grow-svg.play .g-dot{animation:gDot .5s cubic-bezier(.22,.61,.36,1) both}
.grow-svg.play .g-txt{animation:gFade .5s ease both}
.grow-svg.play .g-arc{stroke-dasharray:70;stroke-dashoffset:70;opacity:1;animation:gDraw .9s cubic-bezier(.4,0,.2,1) both}
/* 时序：点 → 箭头 → 内弧 → 箭头 → 外弧（服务三步的节奏） */
.grow-svg.play .g-s1{animation-delay:.1s}
.grow-svg.play .g-a1{animation-delay:.55s}
.grow-svg.play .g-s2{animation-delay:.9s}
.grow-svg.play .g-a2{animation-delay:1.55s}
.grow-svg.play .g-s3{animation-delay:1.9s}
.grow-svg.play .g-s3o{stroke-dasharray:110;stroke-dashoffset:110;animation:gDrawLong 1.1s cubic-bezier(.4,0,.2,1) both;animation-delay:2.25s}
@keyframes gDot{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes gFade{from{opacity:0}to{opacity:1}}
@keyframes gDraw{from{stroke-dashoffset:70;opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes gDrawLong{from{stroke-dashoffset:110;opacity:1}to{stroke-dashoffset:0;opacity:1}}
@media (prefers-reduced-motion:reduce){
  .grow-svg:not(.play) .g-dot,.grow-svg:not(.play) .g-txt,.grow-svg:not(.play) .g-arc{opacity:1}
  .grow-svg.play .g-dot,.grow-svg.play .g-txt,.grow-svg.play .g-arc{animation:none;opacity:1;stroke-dashoffset:0}
}

/* ---------- 落地证明 · 数字带（只放我们自己的真实事实） ---------- */
.proof-stats{margin-top:2.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:820px){.proof-stats{grid-template-columns:1fr}}
.ps-item{background:#FAF9F5;border:1px solid #E3E0D5;border-radius:16px;padding:1.7rem 1.6rem;text-align:center}
.sec-band.alt .ps-item{background:#F0EEE6}
.ps-num{font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.15rem;color:#191919;letter-spacing:-.01em}
.ps-num em{font-style:normal;color:#BD5D3A;font-size:2.6rem;line-height:1.1;display:inline-block;vertical-align:-.08em;margin:0 .08em}
.ps-label{margin-top:.5rem;font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.02rem;color:#191919}
.ps-sub{margin-top:.4rem;font-size:.8rem;line-height:1.8;color:#87867F}
.ps-note{margin-top:1.4rem;text-align:center;font-family:'Noto Serif SC',serif;font-style:italic;font-size:.85rem;color:#87867F}
/* 数字入场：轻微放大浮现（与 rv 协同） */
.ps-item.rv.in .ps-num em{animation:psPop .55s cubic-bezier(.22,.61,.36,1) both}
@keyframes psPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ps-item.rv.in .ps-num em{animation:none}}

/* ---------- 尾部 CTA 联系行 ---------- */
.cta-contact{margin-top:1.6rem;font-size:.82rem;color:rgba(240,238,230,.5)}
.cta-contact a{color:rgba(240,238,230,.8);text-decoration:none;border-bottom:1px solid rgba(240,238,230,.3);transition:color .15s,border-color .15s}
.cta-contact a:hover{color:#F0EEE6;border-color:#F0EEE6}
.cta-band .cta-contact{color:rgba(240,238,230,.5)}

/* ---------- 视频图框 ---------- */
.fig-video{margin-top:2.4rem}
.fig-video video{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #E3E0D5;background:#FAF9F5}
.fig-video figcaption{margin-top:.9rem;text-align:center;font-family:'Noto Serif SC',serif;font-style:italic;font-size:.78rem;color:#87867F}

/* ---------- 移动端汉堡导航 ---------- */
.nav-burger{display:none;flex:none;width:40px;height:40px;border:1px solid #D1CEC1;border-radius:10px;background:transparent;cursor:pointer;align-items:center;justify-content:center;gap:0;flex-direction:column;padding:0}
.nav-burger span{display:block;width:17px;height:2px;background:#191919;border-radius:2px;margin:2.2px 0;transition:transform .25s,opacity .25s}
.nav-burger.open span:nth-child(1){transform:translateY(6.4px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6.4px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:57px;left:0;right:0;z-index:49;background:#FAF9F5;border-bottom:1px solid #E3E0D5;padding:.6rem 1.5rem 1.1rem;box-shadow:0 16px 32px rgba(20,20,19,.1)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;text-decoration:none;font-size:1rem;color:#191919;padding:.7rem .2rem;border-bottom:1px solid #EDEAE0}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a.on{color:#BD5D3A;font-weight:500}
@media(max-width:820px){.nav-burger{display:flex}}

/* ===== Reader Preview (P3d) ===== */
.reader-preview{max-width:760px;margin:2.4rem auto 0;background:#FAF9F5;border:1px solid #E5E1D6;border-radius:14px;padding:1.6rem 1.8rem 1.8rem;box-shadow:0 1px 3px rgba(20,20,19,.04)}
.rp-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.3rem}
.rp-tab{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.85rem;font-weight:500;color:#40403E;background:transparent;border:1px solid #D9D4C5;border-radius:999px;padding:.42rem .95rem;cursor:pointer;transition:all .18s ease}
.rp-tab:hover{border-color:#BD5D3A;color:#BD5D3A}
.rp-tab.on{background:#141413;border-color:#141413;color:#FAF9F5}
.rp-dots{display:inline-flex;gap:3px;align-items:center}
.rp-dots i{width:6px;height:6px;border-radius:50%;border:1.2px solid currentColor;opacity:.45}
.rp-dots i.f{background:currentColor;opacity:.85}
.rp-panels{position:relative;min-height:7.5rem}
.rp-panel{display:none}
.rp-panel.on{display:block;animation:rpIn .35s ease both}
@keyframes rpIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rp-tag{font-size:.78rem;letter-spacing:.04em;color:#BD5D3A;font-weight:600;margin-bottom:.6rem}
.rp-text{font-family:'Noto Serif SC',serif;font-size:1.05rem;line-height:1.9;color:#141413;margin:0}
.rp-go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.4rem;font-size:.9rem;font-weight:500;color:#BD5D3A;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s}
.rp-go:hover{border-bottom-color:#BD5D3A}
.rp-go span{transition:transform .18s}
.rp-go:hover span{transform:translateX(3px)}
@media(max-width:640px){.reader-preview{padding:1.2rem 1rem 1.4rem}.rp-tab{padding:.38rem .7rem;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.rp-panel.on{animation:none}}

/* ===== Round 29 · 数据呈现层（H1–H15，语法依据 anthropic-design-language.md §八） ===== */
/* 图表卡结构：标题即结论（8.1）· 口径副行 · 图下 stat 补充 · 来源行 */
.chart-head{max-width:860px;margin:0 auto 1.5rem}
.chart-title{font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.12rem;line-height:1.6;color:#191919;text-wrap:balance}
.chart-sub{margin-top:.35rem;font-size:.78rem;line-height:1.75;color:#87867F}
.chart-stats{max-width:860px;margin:1.4rem auto 0;padding-top:1rem;border-top:1px dashed #D1CEC1;display:flex;gap:.6rem 2.2rem;flex-wrap:wrap}
.chart-stats .cs-item{font-size:.78rem;line-height:1.8;color:#87867F}
.chart-stats .cs-item b{font-family:'Noto Serif SC',serif;font-weight:600;font-size:.92rem;color:#40403E}
.src-line{max-width:860px;margin:1.1rem auto 0;font-size:.72rem;line-height:1.8;color:#87867F;letter-spacing:.02em}
/* 脚注/侧注体系（H6 首发）：上标标记 + 小节尾来源行 */
sup.fn{font-size:.68em;line-height:0;margin-left:.15em}
sup.fn a{color:#BD5D3A;text-decoration:none;font-weight:500}
sup.fn a:hover{text-decoration:underline}
.fn-note{margin-top:1.8rem;padding-top:.9rem;border-top:1px solid #E3E0D5;font-size:.76rem;line-height:1.95;color:#87867F;max-width:46em}
.fn-note .fn-no{color:#BD5D3A;font-weight:500;margin-right:.3em}
/* 卡内证据行（H7/H9）：不动原文案，只加引证层 */
.t-evi{margin-top:.75rem;padding-top:.65rem;border-top:1px solid #E9E6DB;font-size:.78rem;line-height:1.85;color:#87867F}
.t-evi b{color:#40403E;font-weight:500}
/* 成对微条 V8（H7·SHEIN）：卡内微型对比，随卡片 .rv.in 生长 */
.mb-wrap{margin-top:.75rem;padding-top:.65rem;border-top:1px solid #E9E6DB}
.mb-cap{font-size:.72rem;color:#87867F;margin-bottom:.45rem}
.mb-row{display:grid;grid-template-columns:8.5em 1fr 4.5em;gap:.6rem;align-items:center;font-size:.72rem;color:#87867F;margin-top:.35rem}
.mb-row .mb-val{text-align:right;font-weight:500;color:#40403E}
.mb-track{height:8px;border-radius:4px;background:#E9E6DB;overflow:hidden}
.mb-fill{height:100%;border-radius:4px;transform:scaleX(0);transform-origin:left center;transition:transform .9s cubic-bezier(.22,.61,.36,1) .35s}
.rv.in .mb-fill{transform:scaleX(1)}
.mb-src{margin-top:.5rem;font-size:.68rem;color:#B0AEA5}
/* 编号时间线（H11）：大号衬线年份 + 正文，版式而非图表 */
.tl{margin-top:2.4rem}
.tl-item{display:grid;grid-template-columns:7em 1fr;gap:1.8rem;padding:1.1rem 0;border-top:1px solid #E3E0D5;align-items:baseline}
.tl-item:last-child{border-bottom:1px solid #E3E0D5}
.tl-year{font-family:'Noto Serif SC',serif;font-style:italic;font-size:1.55rem;font-weight:400;color:#BD5D3A;letter-spacing:-.01em}
.tl-body{font-size:.89rem;line-height:1.95;color:#40403E}
.tl-body b{color:#191919;font-weight:600}
@media(max-width:640px){.tl-item{grid-template-columns:4.6em 1fr;gap:1rem}.tl-year{font-size:1.25rem}}
/* 引证块（H13）：政策文本的正确形态是引用 */
.cite-block{margin-top:2.4rem;border-left:3px solid #D97757;padding:.45rem 0 .45rem 1.3rem;max-width:44em}
.cite-quote{font-family:'Noto Serif SC',serif;font-size:1.02rem;line-height:2.05;color:#40403E}
.cite-src{margin-top:.65rem;font-size:.76rem;color:#87867F}
/* 案例证据行 ×3（H5）：第三方背书，克制的 ink 顶线体 */
.evi-grid{margin-top:2.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:820px){.evi-grid{grid-template-columns:1fr}}
.evi-item{border-top:2px solid #141413;padding-top:.9rem}
.evi-num{font-family:'Noto Serif SC',serif;font-weight:600;font-size:1.32rem;color:#191919;letter-spacing:-.01em}
.evi-label{margin-top:.4rem;font-size:.84rem;line-height:1.85;color:#40403E}
.evi-src{margin-top:.45rem;font-size:.72rem;color:#87867F}
/* References 索引（H15） */
.refs-list{margin-top:2.2rem;columns:2;column-gap:3rem;font-size:.76rem;line-height:1.95;color:#87867F;list-style:none;counter-reset:ref}
@media(max-width:820px){.refs-list{columns:1}}
.refs-list li{break-inside:avoid;margin-bottom:.6rem;counter-increment:ref;padding-left:1.6em;text-indent:-1.6em}
.refs-list li::before{content:counter(ref) ". ";color:#BD5D3A;font-weight:500}
.refs-list li b{color:#40403E;font-weight:500}
/* 图表 SVG 入场动效（挂 .fig-wrap 的 .rv.in，与现有 reveal 体系协同）：
   .vbar 条形生长 · .vfade 直标浮现 · .vline 线条描画（pathLength=1 归一化） */
.fig-wrap .vbar{transform:scaleX(0);transform-box:fill-box;transform-origin:left center;transition:transform .9s cubic-bezier(.22,.61,.36,1) .2s}
.fig-wrap.in .vbar{transform:scaleX(1)}
.fig-wrap.in .vbar.d1{transition-delay:.35s}
.fig-wrap.in .vbar.d2{transition-delay:.5s}
.fig-wrap .vfade{opacity:0;transition:opacity .55s ease .85s}
.fig-wrap.in .vfade{opacity:1}
.fig-wrap .vfade.d1{transition-delay:1.05s}
.fig-wrap .vline{stroke-dasharray:1;stroke-dashoffset:1}
.fig-wrap.in .vline{animation:dcDraw 1.1s ease-out .35s both}
@media (prefers-reduced-motion:reduce){
  .fig-wrap .vbar{transform:none;transition:none}
  .fig-wrap .vfade{opacity:1;transition:none}
  .fig-wrap .vline{stroke-dasharray:none;stroke-dashoffset:0;animation:none!important}
  .mb-fill{transform:none;transition:none}
}

/* ===== Round27 批次2 · C-2 图示微动（一次性、不循环，随 .rv.in 触发） ===== */
/* 三阶段演进图：阶段一→箭头一→阶段二→箭头二→阶段三 逐步点亮 */
#media-stages .stg{opacity:0;transition:opacity .55s ease}
#media-stages.in .stg{opacity:1}
#media-stages.in .s1{transition-delay:.1s}
#media-stages.in .sa1{transition-delay:.55s}
#media-stages.in .s2{transition-delay:.9s}
#media-stages.in .sa2{transition-delay:1.45s}
#media-stages.in .s3{transition-delay:1.8s}
/* Factory 双闭环：两条弧线描线入场（pathLength=1 归一化） */
#media-factory-loop .loop-arc{stroke-dasharray:1;stroke-dashoffset:1}
#media-factory-loop .loop-tip{opacity:0}
#media-factory-loop.in .arc-a{animation:dcDraw 1.1s ease-out .25s both}
#media-factory-loop.in .arc-b{animation:dcDraw 1.1s ease-out 1.15s both}
#media-factory-loop.in .tip-a{animation:dcTip .3s ease-out 1.25s both}
#media-factory-loop.in .tip-b{animation:dcTip .3s ease-out 2.15s both}
@keyframes dcDraw{to{stroke-dashoffset:0}}
@keyframes dcTip{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  #media-stages .stg{opacity:1;transition:none}
  #media-factory-loop .loop-arc{stroke-dasharray:none;stroke-dashoffset:0;animation:none!important}
  #media-factory-loop .loop-tip{opacity:1;animation:none!important}
}

/* ===== Round37 · Skill 四问闭环（#media-skill-loop）表现层 =====
   入场编排（随 .rv.in 触发，一次性不循环）：
   环心先立 → ①问点亮 → 箭头描画 → ②问 → … → 尾注收束
   箭头 pathLength=1 归一化描线，复用 dcDraw 关键帧 */
#media-skill-loop .sq-cc{opacity:0;transition:opacity .5s ease .1s}
#media-skill-loop.in .sq-cc{opacity:1}
#media-skill-loop .sq-n{opacity:0;transform:translateY(8px);transform-box:fill-box;transition:opacity .45s ease,transform .45s cubic-bezier(.22,.61,.36,1)}
#media-skill-loop.in .sq-n{opacity:1;transform:none}
#media-skill-loop.in .sq-n1{transition-delay:.35s}
#media-skill-loop.in .sq-n2{transition-delay:1.05s}
#media-skill-loop.in .sq-n3{transition-delay:1.75s}
#media-skill-loop.in .sq-n4{transition-delay:2.45s}
#media-skill-loop .sq-a{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
#media-skill-loop.in .sq-a1{animation:dcDrawIn .55s ease-out .7s both}
#media-skill-loop.in .sq-a2{animation:dcDrawIn .55s ease-out 1.4s both}
#media-skill-loop.in .sq-a3{animation:dcDrawIn .55s ease-out 2.1s both}
#media-skill-loop.in .sq-a4{animation:dcDrawIn .55s ease-out 2.8s both}
#media-skill-loop .sq-cap{opacity:0;transition:opacity .5s ease 3.35s}
#media-skill-loop.in .sq-cap{opacity:1}
@keyframes dcDrawIn{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}

/* 四问卡片：悬停微升 + 序号强调（仅 #skill-structure 内，不动全站 t-card） */
#skill-structure .t-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
#skill-structure .t-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,20,19,.08);border-color:#D1CEC1}
#skill-structure .t-card:hover .t-num{color:#D97757}
#skill-structure .t-num{transition:color .25s ease}

@media (prefers-reduced-motion:reduce){
  #media-skill-loop .sq-cc,#media-skill-loop .sq-cap{opacity:1;transition:none}
  #media-skill-loop .sq-n{opacity:1;transform:none;transition:none}
  #media-skill-loop .sq-a{stroke-dasharray:none;stroke-dashoffset:0;opacity:1;animation:none!important}
  #skill-structure .t-card{transition:none}
  #skill-structure .t-card:hover{transform:none;box-shadow:none}
}
