.needs{margin-bottom:16px;padding:18px 22px}
.needs h2{font-size:20px;margin-bottom:8px}
.needs ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;color:var(--muted);font-size:14px}
.needs p{color:var(--muted);font-size:14px}
.cfilters{display:grid;gap:12px;margin-bottom:14px;padding:18px 22px}
.cfilters__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.cfilters__row>strong{min-width:84px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8c85b0}
.cfilters .pill span{padding:7px 14px;font-size:13.5px}
.casegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-bottom:96px}
.ccard{display:flex;flex-direction:column;gap:8px;padding:18px;border:1.5px solid var(--line2);border-radius:18px;background:var(--surface)}
.ccard__top{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ccard__size{color:var(--purple2)}
.ccard__brand{color:#8c85b0}
.ccard h3{font-size:19px}
.ccard__note{color:var(--muted);font-size:13.5px;line-height:1.45}
.ccard ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:3px;font-size:13px;color:var(--muted)}
.ccard li b{color:#fff;font-weight:600}
.ccard__why{margin:2px 0 0;font-size:13px;color:#ff9aa5}
.ccard .btn{margin-top:auto;width:100%}
.ccard--off{border-style:dashed;background:transparent}
.ccard--off h3,.ccard--off .ccard__note,.ccard--off ul{opacity:.5}
.ccard--sel{border-color:var(--purple2);background:linear-gradient(180deg,rgba(154,115,255,.2),rgba(154,115,255,.06));box-shadow:0 0 0 1px var(--purple2) inset}
.ccard .btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}
.casebar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px max(16px,calc((100vw - var(--maxw)) / 2 + 22px)) calc(12px + env(safe-area-inset-bottom));background:rgba(14,14,19,.96);border-top:1px solid var(--line2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.casebar__text{display:grid;line-height:1.3;min-width:0}
.casebar__text small{color:var(--muted);font-size:12.5px}
.casebar__btns{display:flex;gap:10px;flex-wrap:wrap}
.ccard__media{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,rgba(154,115,255,.2),rgba(8,8,11,0) 70%),var(--bg2);display:grid;place-items:center}
.ccard__media img{width:100%;height:100%;object-fit:cover;display:block}
.ccard__media svg{width:100%;height:100%;display:block}
.ccard__ill{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:rgba(8,8,11,.75);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8c85b0}
.ccard--off .ccard__media{opacity:.45}
.ccard__links{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 2px;font-size:13px}
.ccard__links a{color:var(--purple2);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(154,115,255,.4)}
.ccard__links a:hover{color:#fff;border-bottom-color:#fff}
.ccard__links a::after{content:" \2197";font-size:11px}
