.case-v2-page{background:var(--paper)!important;color:var(--ink)!important}
.case-v2{position:relative;min-height:900px;overflow:hidden;background:var(--paper)}
.case-v2.is-animation-paused *{animation:none!important}
.case-v2-hero{position:relative;overflow:hidden;padding:64px 0;background:var(--tint);border-bottom:1px solid var(--hair)}
.case-v2-hero::before{content:"";position:absolute;inset:-40% -10% auto;height:150%;pointer-events:none;background:radial-gradient(32% 44% at 12% 26%,rgba(46,75,224,.13),transparent 70%),radial-gradient(38% 48% at 66% 14%,rgba(123,92,240,.14),transparent 70%),radial-gradient(32% 42% at 92% 62%,rgba(37,184,216,.12),transparent 72%);filter:blur(30px)}
.case-v2-hero-in{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:42px}
.case-v2-hero-copy{max-width:790px}
.case-v2-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--blue);font:600 12px/1 var(--din);letter-spacing:.22em;text-transform:uppercase}
.case-v2-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad)}
.case-v2-hero h1{margin:0 0 18px;color:var(--ink);font:800 42px/1.28 var(--zh);letter-spacing:-.022em}
.case-v2-hero-detail{max-width:62ch;color:var(--sec);font-size:16.5px;line-height:1.9}
.case-v2-hero-detail p{margin:0 0 12px}
.case-v2-hero-detail p:last-child{margin-bottom:0}
.case-v2-hero .btn{flex:0 0 auto;margin-bottom:2px}
.case-v2-wrap{position:relative;z-index:1;max-width:1320px!important;padding:52px 28px 76px!important}
.case-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.case-v2-card{position:relative;overflow:hidden;padding:26px 26px 28px;border:1px solid rgba(15,30,60,.08);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 30px 60px -28px rgba(30,50,90,.28),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);animation:caseV2Rise 1s cubic-bezier(.2,.8,.2,1) both}.case-v2-card:nth-child(2){animation-delay:.12s}.case-v2-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,.9),transparent 40%);-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}.case-v2-card-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.case-v2-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(15,30,60,.08);border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:2.2px}.case-v2-tag i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor;animation:caseV2Blink 1.4s infinite}.case-v2-card--safety .case-v2-tag{color:#f5453a;background:rgba(245,69,58,.1)}.case-v2-card--property .case-v2-tag{color:#1499e6;background:rgba(20,153,230,.1)}.case-v2-side-title{text-align:right}.case-v2-side-title b{display:block;font-size:22px}.case-v2-side-title small{display:block;margin-top:2px;color:#8a96af;font-size:12px;letter-spacing:3px}.case-v2-card h1{position:relative;margin:2px 0 4px;font-size:26px;line-height:1.35;font-weight:750;letter-spacing:.3px}.case-v2-en{position:relative;margin:0 0 16px;color:#8a96af;font-size:12.5px;letter-spacing:2px;text-transform:uppercase}
.case-v2-stage{position:relative;height:280px;overflow:hidden;border:1px solid rgba(15,30,60,.07);border-radius:20px;background:radial-gradient(120% 120% at 50% 0%,rgba(255,255,255,.9),rgba(226,234,246,.85));box-shadow:inset 0 1px 3px rgba(30,50,90,.06)}.case-v2-fire-stage{background:#f0f5fc}.case-v2-sensor{position:absolute;z-index:5;top:50%;left:50%;width:56px;height:52px;transform:translate(-50%,-50%);border-radius:16px;background:linear-gradient(180deg,#fff,#c4cfe2);box-shadow:0 10px 22px rgba(30,50,90,.22)}.case-v2-sensor::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:50%;background:#9aa8c4;transition:.4s}.case-v2-card--safety.is-alarm .case-v2-sensor::after{background:#f5453a;box-shadow:0 0 16px #f5453a}.case-v2-rings{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%)}.case-v2-rings span{position:absolute;width:8px;height:8px;border:2px solid #f5453a;border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.case-v2-card--safety.is-alarm .case-v2-rings span{animation:caseV2Ring 2s infinite}.case-v2-card--safety.is-alarm .case-v2-rings span:nth-child(2){animation-delay:.66s}.case-v2-card--safety.is-alarm .case-v2-rings span:nth-child(3){animation-delay:1.33s}.case-v2-smoke{position:absolute;inset:0;z-index:3;width:100%;height:100%}
.case-v2-levels{position:absolute;z-index:7;top:16px;left:18px;display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.case-v2-levels li{display:flex;align-items:center;gap:9px;color:#8a96af;font-size:11px;letter-spacing:1px;opacity:.35;transition:.45s}.case-v2-levels b{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(15,30,60,.1);border-radius:9px;background:rgba(15,30,60,.05);color:#54617d;font-size:11px}.case-v2-levels li.is-on{color:#1a2338;opacity:1}.case-v2-levels li.is-on b{border-color:transparent;background:linear-gradient(140deg,#f5453a,#f5871f);color:#fff;box-shadow:0 6px 18px rgba(245,69,58,.4);transform:scale(1.06)}.case-v2-call{position:absolute;z-index:8;top:16px;right:16px;display:flex;align-items:center;gap:11px;width:184px;padding:12px;border:1px solid rgba(15,30,60,.1);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 20px 40px -12px rgba(30,50,90,.28);opacity:0;transform:translateY(-30px) scale(.9);transition:.55s cubic-bezier(.2,.9,.2,1);backdrop-filter:blur(14px)}.case-v2-card--safety.is-calling .case-v2-call{opacity:1;transform:none}.case-v2-phone{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#12b981,#22b07d);color:#fff}.case-v2-card--safety.is-calling .case-v2-phone{animation:caseV2Pulse 1.1s infinite}.case-v2-phone svg{width:19px;height:19px}.case-v2-call b,.case-v2-call small{display:block}.case-v2-call b{font-size:12.5px}.case-v2-call small{color:#8a96af;font-size:10.5px}.case-v2-call em{display:flex;align-items:flex-end;gap:2px;height:12px;margin-top:4px}.case-v2-call em i{display:block;width:2px;height:4px;border-radius:2px;background:#12b981}.case-v2-card--safety.is-calling .case-v2-call em i{animation:caseV2Wave .9s infinite ease-in-out}.case-v2-call em i:nth-child(2){animation-delay:.15s}.case-v2-call em i:nth-child(3){animation-delay:.3s}.case-v2-call em i:nth-child(4){animation-delay:.45s}.case-v2-call em i:nth-child(5){animation-delay:.6s}
.case-v2-golden{position:absolute;z-index:8;right:20px;bottom:16px;width:76px;height:76px}.case-v2-golden svg{transform:rotate(-90deg)}.case-v2-golden .track{stroke:rgba(15,30,60,.1)}.case-v2-golden .progress{stroke:#ff6950;stroke-linecap:round;stroke-dasharray:207;stroke-dashoffset:207;transition:stroke-dashoffset .3s linear}.case-v2-golden>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.case-v2-golden b,.case-v2-golden small{display:block}.case-v2-golden b{font-size:16px;line-height:1}.case-v2-golden small{margin-top:3px;color:#8a96af;font-size:8.5px;letter-spacing:1px}.case-v2-confirm{position:absolute;z-index:9;bottom:20px;left:50%;display:flex;align-items:center;gap:8px;padding:9px 16px;border:0;border-radius:8px;background:#12b981;color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;opacity:0;transform:translateX(-50%) scale(.6);transition:.5s cubic-bezier(.2,1.4,.4,1);box-shadow:none}.case-v2-card--safety.is-done .case-v2-confirm{opacity:1;transform:translateX(-50%) scale(1)}.case-v2-confirm svg{width:16px;height:16px}
.case-v2-desc{position:relative;margin:16px 0 0;color:#54617d;font-size:13.5px;line-height:1.75}.case-v2-stats{position:relative;display:flex;gap:22px;flex-wrap:wrap;margin-top:20px}.case-v2-stats span{color:#8a96af;font-size:10.5px;letter-spacing:1.2px}.case-v2-stats b{display:block;margin-bottom:2px;font-size:22px;line-height:1.2;font-weight:800}.case-v2-card--safety .case-v2-stats b{color:#f5453a}.case-v2-card--property .case-v2-stats b{color:#1499e6}
.case-v2-network{position:absolute;inset:0;width:100%;height:100%}.case-v2-network path{fill:none;stroke-width:1.5;stroke-dasharray:5 8;animation:caseV2Dash 1.1s linear infinite}.case-v2-network .blue{stroke:rgba(20,153,230,.5)}.case-v2-network .teal{stroke:rgba(15,183,154,.5)}.case-v2-pulse{position:absolute;z-index:7;width:9px;height:9px;border-radius:50%;background:#1499e6;box-shadow:0 0 12px 3px rgba(20,153,230,.6)}.case-v2-pulse--1{offset-path:path("M 48 56 Q 150 60 200 140");animation:caseV2Move 2.6s linear infinite}.case-v2-pulse--2{offset-path:path("M 48 210 Q 150 200 200 140");animation:caseV2Move 2.6s .8s linear infinite;background:#0fb79a;box-shadow:0 0 12px 3px #0fb79a}.case-v2-pulse--3{offset-path:path("M 352 56 Q 250 60 200 140");animation:caseV2Move 2.6s 1.3s linear infinite}.case-v2-pulse--4{offset-path:path("M 352 210 Q 250 200 200 140");animation:caseV2Move 2.6s 1.9s linear infinite;background:#0fb79a;box-shadow:0 0 12px 3px #0fb79a}.case-v2-hub{position:absolute;z-index:6;top:50%;left:50%;display:grid;place-content:center;width:96px;height:96px;transform:translate(-50%,-50%);border:1px solid rgba(20,153,230,.35);border-radius:50%;background:radial-gradient(circle at 40% 30%,rgba(20,153,230,.22),rgba(255,255,255,.95));color:#1499e6;text-align:center;box-shadow:0 0 40px rgba(20,153,230,.28),inset 0 0 24px rgba(20,153,230,.14)}.case-v2-hub::before,.case-v2-hub::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(20,153,230,.3);border-radius:50%;animation:caseV2HubRing 3s infinite}.case-v2-hub::after{animation-delay:1.5s}.case-v2-hub b{color:#1a2338;font-size:13px;line-height:1.2}.case-v2-hub small{margin-top:2px;color:#8a96af;font-size:9px;letter-spacing:1px}.case-v2-node{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-50%)}.case-v2-node>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(15,30,60,.1);border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 12px 24px -12px rgba(30,50,90,.35);animation:caseV2Float 4s ease-in-out infinite}.case-v2-node>span.blue{color:#38bdf8}.case-v2-node>span.teal{color:#34d9b6}.case-v2-node svg{width:22px;height:22px}.case-v2-node small{color:#54617d;font-size:10.5px;white-space:nowrap}.case-v2-node:nth-of-type(8)>span{animation-delay:.6s}.case-v2-node:nth-of-type(9)>span{animation-delay:1.2s}.case-v2-chips{position:absolute;z-index:9;right:0;bottom:12px;left:0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 12px}.case-v2-chips span{padding:6px 11px;border:1px solid rgba(15,30,60,.1);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 4px 12px -6px rgba(30,50,90,.25);color:#54617d;font-size:10.5px;animation:caseV2Chip .5s both}.case-v2-chips span:nth-child(2){animation-delay:.2s}.case-v2-chips span:nth-child(3){animation-delay:.4s}.case-v2-chips span:nth-child(4){animation-delay:.6s}.case-v2-chips span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#1499e6}.case-v2-chips span:nth-child(2)::before{background:#0fb79a}.case-v2-chips span:nth-child(3)::before{background:#f5871f}
@keyframes caseV2Rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes caseV2Blink{0%,100%{opacity:1}50%{opacity:.25}}@keyframes caseV2Ring{0%{width:8px;height:8px;opacity:.9}100%{width:230px;height:230px;opacity:0}}@keyframes caseV2Pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 14px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}@keyframes caseV2Wave{0%,100%{height:4px}50%{height:12px}}@keyframes caseV2Dash{to{stroke-dashoffset:-26}}@keyframes caseV2Move{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}@keyframes caseV2Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes caseV2HubRing{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.5);opacity:0}}@keyframes caseV2Chip{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:940px){.case-v2-hero-in{align-items:flex-start;flex-direction:column}.case-v2-grid{grid-template-columns:1fr}}@media(max-width:767px){.case-v2-hero{padding:46px 0}.case-v2-hero-in{gap:26px;padding-right:18px!important;padding-left:18px!important}.case-v2-hero h1{font-size:32px}.case-v2-hero-detail{font-size:15px;line-height:1.85}.case-v2-hero .btn{width:100%}.case-v2-wrap{padding:34px 18px 54px!important}.case-v2-card{padding:22px 18px 24px;border-radius:22px}.case-v2-card-head{gap:10px}.case-v2-tag{padding:6px 9px;font-size:10px;letter-spacing:1.3px}.case-v2-side-title b{font-size:17px}.case-v2-side-title small{font-size:9px;letter-spacing:1.6px}.case-v2-card h1{font-size:23px}.case-v2-stage{height:260px}.case-v2-call{right:10px;width:160px;padding:9px}.case-v2-desc{font-size:13px;line-height:1.75}.case-v2-stats{gap:14px}.case-v2-stats b{font-size:19px}.case-v2-stats span{font-size:9.5px}.case-v2-hub{width:82px;height:82px}.case-v2-node>span{width:40px;height:40px}.case-v2-node svg{width:19px;height:19px}.case-v2-chips{gap:5px;padding:0 6px}.case-v2-chips span{padding:5px 7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.case-v2 *,.case-v2 *::before,.case-v2 *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* 纵向节奏：让案例信息更集中，避免卡片内容下方出现大段空白。 */
.case-v2{min-height:0}
.case-v2-hero{padding-top:46px;padding-bottom:46px}
.case-v2-eyebrow{margin-bottom:14px}
.case-v2-hero h1{margin-bottom:14px;line-height:1.24}
.case-v2-hero-detail{font-size:16px;line-height:1.75}
.case-v2-hero-detail p{margin-bottom:8px}
.case-v2-wrap{padding-top:34px!important;padding-bottom:48px!important}
.case-v2-grid{gap:20px}
.case-v2-card{padding-top:22px;padding-bottom:24px}
.case-v2-card-head{margin-bottom:14px}
.case-v2-side-title b{font-size:20px}
.case-v2-stage{height:250px}
.case-v2-desc{margin-top:14px;line-height:1.65}
.case-v2-stats{margin-top:16px}
@media(max-width:767px){
  .case-v2-hero{padding-top:34px;padding-bottom:34px}
  .case-v2-hero-in{gap:20px}
  .case-v2-hero-detail{line-height:1.75}
  .case-v2-wrap{padding-top:26px!important;padding-bottom:38px!important}
  .case-v2-card{padding-top:20px;padding-bottom:22px}
  .case-v2-stage{height:228px}
  .case-v2-desc{line-height:1.65}
}

/* 横向容器：桌面端减少两侧留白，让案例卡片更充分利用画布。 */
.case-v2-wrap{max-width:1380px!important;padding-left:20px!important;padding-right:20px!important}
@media(max-width:767px){.case-v2-wrap{padding-left:18px!important;padding-right:18px!important}}

/* 首屏排版：与产品页采用同一套信息层级，突出场景与可追踪结果。 */
.case-v2-hero-copy{max-width:820px}
.case-v2-eyebrow{font-size:11px;letter-spacing:.14em}
.case-v2-hero h1{max-width:760px;margin-bottom:16px;font-size:clamp(36px,3.8vw,48px);line-height:1.16}
.case-v2-hero h1 em{font-style:normal;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}
.case-v2-hero-detail{max-width:680px;font-size:14.5px;line-height:1.78}
.case-v2-hero-detail p{margin:0}
.case-v2-hero-detail b{color:var(--ink);font-weight:750}
@media(max-width:767px){
  .case-v2-hero h1{font-size:32px;line-height:1.2}
  .case-v2-hero-detail{font-size:14px;line-height:1.7}
}

/* 案例卡片：顶部只做一行识别，动画之后再呈现案例大标题。 */
.case-v2-card-head{align-items:center;margin-bottom:12px}
.case-v2-side-title{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.case-v2-side-title b{font-size:14px}
.case-v2-side-title small{margin-top:0;font-size:9px;letter-spacing:1.4px}
.case-v2-stage + h1{margin-top:18px}
@media(max-width:767px){
  .case-v2-card-head{margin-bottom:10px}
  .case-v2-side-title{gap:5px}
  .case-v2-side-title b{font-size:13px}
  .case-v2-side-title small{font-size:8px;letter-spacing:1px}
  .case-v2-stage + h1{margin-top:14px}
}

/* 首屏说明上下留白再收紧一点，保持信息集中。 */
.case-v2-hero{padding-top:28px;padding-bottom:28px}
.case-v2-hero h1{margin-bottom:12px}
@media(max-width:767px){.case-v2-hero{padding-top:30px;padding-bottom:30px}}

/* 顶部案例编号使用中性黑色，彩色仅保留给动画状态。 */
.case-v2-card--safety .case-v2-tag,
.case-v2-card--property .case-v2-tag{color:#2e4be0;background:rgba(15,30,60,.06)}
.case-v2-tag{font-size:15px}
