.srv-cases-section{flex-direction:column;gap:24px;display:flex}.srv-cases-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1023px){.srv-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:639px){.srv-cases-grid{grid-template-columns:1fr}}.srv-case-card{background:var(--bg-secondary);border:.5px solid var(--border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;gap:12px;padding:20px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.srv-case-card:hover{border-color:var(--text-secondary);transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.srv-case-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.srv-case-card__icon{width:28px;height:28px;color:var(--text-primary);justify-content:center;align-items:center;display:inline-flex}.srv-case-card__badge{border:.5px solid var(--border);font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--text-secondary);border-radius:999px;align-items:center;padding:3px 9px;font-weight:600;display:inline-flex}.srv-case-card__title{font-size:var(--font-size-lg);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:700}.srv-case-card__desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.55}.srv-case-card__role{font-size:var(--font-size-xs);color:var(--text-secondary);opacity:.8;margin:0}.srv-case-card__stack{flex-wrap:wrap;gap:6px;display:flex}.srv-case-tag{border:.5px solid var(--border-light);font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-primary);border-radius:6px;align-items:center;padding:3px 9px;display:inline-flex}.srv-case-card__link{font-size:var(--font-size-xs);color:var(--text-primary);text-decoration:none}.srv-cases-cta{justify-content:center;padding-top:8px;display:flex}.srv-cta__btn--ghost{border:.5px solid var(--border);color:var(--text-primary);background:0 0}.cases-index-page .cases-filters{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.cases-filter-chip{border:.5px solid var(--border);background:var(--bg-primary);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;padding:6px 12px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.cases-filter-chip:hover{border-color:var(--text-secondary)}.cases-filter-chip--active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.case-view-page{gap:32px}.case-view-nav{margin-top:8px}.case-view-header{flex-direction:column;gap:12px;display:flex}.case-view-header__icon{width:36px;height:36px;color:var(--text-primary);justify-content:center;align-items:center;display:inline-flex}.case-view-header__title{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(28px,4.5vw,44px);font-weight:700;line-height:1.1}.case-view-header__desc{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:720px;margin:0;line-height:1.6}.case-view-meta{font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.case-view-meta__sep{opacity:.5}.case-view-stack{margin-top:-8px}.case-view-cover{border-radius:var(--radius-lg);border:.5px solid var(--border);overflow:hidden}.case-view-cover img{width:100%;height:auto;display:block}.case-view-body{font-size:var(--font-size-md);color:var(--text-primary);max-width:760px;line-height:1.7}.case-view-body h2{font-size:var(--font-size-xl);letter-spacing:-.01em;margin:32px 0 12px;font-weight:700}.case-view-body h3{font-size:var(--font-size-lg);margin:24px 0 8px;font-weight:600}.case-view-body p{margin:12px 0}.case-view-body ul,.case-view-body ol{margin:12px 0;padding-left:24px}.case-view-body li{margin:6px 0}.case-view-body code{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);background:var(--bg-secondary);border-radius:4px;padding:2px 6px;font-size:.92em}.case-view-body pre{background:var(--bg-secondary);border-radius:var(--radius-md,10px);padding:16px;overflow-x:auto}.case-view-body a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}
