.csfw-wrap{--csfw-accent-1:#11a3ff;--csfw-accent-2:#d300ff;--csfw-radius:20px;background:#0b0b0f;color:#fff;border-radius:24px}
.csfw-filters{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 36px}
.csfw-filter-btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.02);border-radius:999px;transition:.25s ease;z-index:1}
.csfw-filter-btn:before{content:"";position:absolute;inset:0;padding:1.5px;border-radius:inherit;background:linear-gradient(90deg,var(--csfw-accent-1),var(--csfw-accent-2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.csfw-filter-btn.is-active{background:#6427ff}
.csfw-filter-btn .csfw-filter-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.csfw-filter-btn .csfw-filter-icon svg{width:1em;height:1em}
.csfw-category-block{margin-top:42px}
.csfw-category-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}
.csfw-category-title{margin:0;font-size:clamp(28px,4vw,56px);line-height:1;text-transform:lowercase}
.csfw-category-note{max-width:420px;font-size:16px;line-height:1.5;color:#b9ff69}
.csfw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.csfw-wrap[data-columns="1"] .csfw-grid{grid-template-columns:1fr}
.csfw-wrap[data-columns="2"] .csfw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.csfw-wrap[data-columns="3"] .csfw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.csfw-wrap[data-columns="4"] .csfw-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.csfw-card{position:relative;min-height:320px;border-radius:var(--csfw-radius);overflow:hidden;background:#121212}
.csfw-card-media,.csfw-card-media img{position:absolute;inset:0;width:100%;height:100%}
.csfw-card-media img{object-fit:cover;display:block}
.csfw-card:before{content:"";position:absolute;inset:0;padding:2px;border-radius:var(--csfw-radius);background:linear-gradient(90deg,var(--csfw-accent-1),var(--csfw-accent-2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.25s ease;pointer-events:none;z-index:3}
.csfw-card:hover:before,.csfw-card:focus-within:before{opacity:1}
.csfw-card-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(to top,rgba(0,0,0,.88) 10%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.1) 100%);opacity:0;transition:.25s ease;z-index:2}
.csfw-card:hover .csfw-card-overlay,.csfw-card:focus-within .csfw-card-overlay{opacity:1}
.csfw-card-content{max-width:92%}
.csfw-card-label{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#fff}
.csfw-card-title{margin:0 0 12px;font-size:clamp(24px,2.8vw,42px);line-height:1.02;color:#ffd84c}
.csfw-card-desc{margin:0 0 18px;font-size:16px;line-height:1.45;color:#fff}
.csfw-card-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #fff;border-radius:999px;text-decoration:none;color:#fff;background:rgba(255,255,255,.03);transition:.25s ease}
.csfw-card-button:hover{transform:translateY(-1px)}
.csfw-btn-inner{display:inline-flex;align-items:center;gap:8px}
.csfw-btn-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:inherit}
.csfw-btn-icon svg{width:1em;height:1em;fill:currentColor}
.csfw-card.is-hidden,.csfw-category-block.is-hidden{display:none!important}
@media (max-width:1024px){.csfw-category-head{flex-direction:column;align-items:flex-start}.csfw-wrap[data-columns="3"] .csfw-grid,.csfw-wrap[data-columns="4"] .csfw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.csfw-grid,.csfw-wrap[data-columns="2"] .csfw-grid,.csfw-wrap[data-columns="3"] .csfw-grid,.csfw-wrap[data-columns="4"] .csfw-grid{grid-template-columns:1fr}.csfw-card-overlay{opacity:1}.csfw-filters{gap:12px}.csfw-filter-btn{padding:12px 18px}.csfw-category-note{font-size:14px}}
