/* ===== 案例库 ===== */
.cases-section>.container{text-align:left}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.case-card{text-align:left;border:1px solid var(--border);border-radius:24px;background:var(--bg-card);padding:34px 30px;cursor:pointer;display:flex;flex-direction:column;gap:14px;color:inherit;font:inherit;transition:border-color .3s,transform .3s}
.case-card:hover{border-color:#2997ff66;transform:translateY(-4px)}
.case-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.case-tag{align-self:flex-start;padding:6px 14px;border-radius:999px;border:1px solid #2997ff40;color:var(--accent);font-size:13px}
.case-card h3{font-size:22px;margin:0;line-height:1.45}
.case-card p{font-size:15px;line-height:1.8;color:var(--text-secondary);margin:0;flex:1}
.case-open{color:var(--accent);font-size:14px}
.case-modal-backdrop{position:fixed;inset:0;z-index:120;background:#010308f2;backdrop-filter:blur(20px) saturate(120%);display:flex;align-items:center;justify-content:center;padding:3vh 24px}
.case-modal{width:min(1280px,96vw);max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#181c26,#11141b);border:1px solid #ffffff2e;border-radius:28px;overflow:hidden;box-shadow:0 60px 160px #000000d0,0 0 0 1px #00000060, inset 0 1px 0 #ffffff12}
.case-modal-bar{display:flex;justify-content:flex-end;padding:14px 18px 0}
.case-modal-close{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff2e;background:#1d2230;color:var(--text);font-size:20px;cursor:pointer;transition:border-color .3s ease,color .3s ease}
.case-modal-close:hover{border-color:var(--accent);color:var(--accent)}
.case-modal-body{overflow-y:auto;padding:14px 60px 50px}
.case-detail header h3{font-size:clamp(24px,3vw,34px);margin:16px 0 12px}
.case-views{font-size:14px;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:22px}
.case-detail section{margin-top:28px}
.case-detail h4{font-size:14px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;margin:0 0 12px}
.case-detail p{font-size:16px;line-height:1.95;color:var(--text-secondary);margin:0}
.case-detail ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.case-detail li{font-size:16px;line-height:1.85;color:var(--text-secondary);padding-left:22px;position:relative}
.case-detail li:before{content:'—';position:absolute;left:0;color:var(--accent)}
.case-detail footer{margin-top:34px;padding-top:22px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}
@media(max-width:800px){.cases-grid{grid-template-columns:1fr}.case-modal-body{padding:6px 26px 34px}}
/* 案例弹窗内的真实画面 */
.case-shot{background:#fff;border:1px solid #ffffff22;border-radius:18px;padding:14px}
.case-shot img{width:100%;height:auto;display:block;border-radius:10px}
.case-shot-cap{margin-top:14px;text-align:center;font-size:14px;color:var(--text-muted)}
/* hidden 属性必须能压过上面的 display:flex，否则弹窗永远关不掉 */
.case-modal-backdrop[hidden]{display:none}
.case-modal-close{cursor:pointer}
.case-real-badge{position:absolute;top:18px;right:18px;padding:5px 12px;border-radius:999px;background:#28c84022;color:#5ad06e;font-size:12px;letter-spacing:.08em}
.case-card{position:relative}
