/* Public projects catalogue. */

.hero-note{margin-top:1.1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--c-fg-muted);}

.cat26-body{padding:var(--space-3xl) 0;background:var(--bg-section);}
.cat26-layout{display:grid;grid-template-columns:250px 1fr;gap:2rem;align-items:start;}
.cat26-side{position:sticky;top:calc(var(--header-h) + 1rem);display:flex;flex-direction:column;gap:1.4rem;border-radius:var(--radius-lg);}
.cat26-search input{width:100%;font:inherit;font-size:.84rem;color:#e6edf6;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--radius-md);padding:.65rem .85rem;outline:none;transition:border-color var(--t-fast);}
.cat26-search input::placeholder{color:#7f8da8;}
.cat26-search input:focus{border-color:var(--c-accent-blue);}

.cat26-facet{display:flex;flex-direction:column;gap:2px;}
.cat26-facet-h{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#7f8da8;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--line);}
.cat26-opt{display:flex;align-items:center;gap:.55rem;padding:.32rem .35rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast);}
.cat26-opt:hover{background:rgba(255,255,255,.04);}
.cat26-cb{appearance:none;-webkit-appearance:none;width:15px;height:15px;flex:0 0 15px;border:1px solid var(--line-strong);border-radius:4px;background:transparent;cursor:pointer;position:relative;transition:background var(--t-fast),border-color var(--t-fast);}
.cat26-cb:checked{background:var(--c-accent-blue);border-color:var(--c-accent-blue);}
.cat26-cb:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #051026;border-width:0 2px 2px 0;transform:rotate(45deg);}
.cat26-opt-l{flex:1;font-size:.8rem;color:#c2cde0;line-height:1.3;}
.cat26-opt-n{font-family:var(--font-mono);font-size:.68rem;color:#7f8da8;}
.cat26-reset{font-family:var(--font-mono);font-size:.72rem;color:#ffd6e2;background:rgba(199,4,70,.10);border:1px solid rgba(199,4,70,.32);border-radius:var(--radius-md);padding:.55rem;cursor:pointer;transition:background var(--t-fast);}
.cat26-reset:hover{background:rgba(199,4,70,.18);}

.cat26-meta{font-family:var(--font-mono);font-size:.8rem;color:#8996b2;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line);}
.cat26-meta span[id]{color:#fff;font-weight:700;}
.cat26-meta-sep{margin:0 .5rem;opacity:.4;}
.cat26-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);}
.cat26-card{position:relative;overflow:hidden;background:#0B1426;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;transition:border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);}
.cat26-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--c-accent-red),#79a8ff);opacity:.5;transition:opacity var(--t-fast);}
.cat26-card:hover{border-color:var(--c-accent-blue);transform:translateY(-4px);box-shadow:0 18px 44px rgba(3,7,18,.5);}
.cat26-card:hover::before{opacity:1;}
.cat26-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.cat26-span{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.03em;color:#8a9cb8;white-space:nowrap;}
.cat26-live{color:#34D399;font-weight:600;}
.cat26-cust{font-size:.95rem;font-weight:650;line-height:1.32;color:#fff;margin:0;}
.cat26-full{font-size:.74rem;line-height:1.4;color:#7f8ca6;margin:-.1rem 0 .15rem;}
.cat26-count{font-size:.84rem;color:#b4c0d2;margin:.1rem 0 .15rem;}
.cat26-count strong{font-family:var(--font-mono);font-size:1.15rem;font-weight:700;color:#fff;margin-right:.15rem;}
.cat26-svc{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem;flex:1;align-content:flex-start;}
.cat26-svc-chip{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.01em;color:#aebbd2;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap;}
.cat26-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.06);margin-top:auto;}
.cat26-src-l{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.02em;color:#7f8da8;text-transform:uppercase;}
.cat26-empty{padding:3rem 1rem;text-align:center;color:#7f8da8;font-size:.9rem;}

.cases26-tag{font-family:var(--font-mono);font-size:.63rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-full);border:1px solid;}
.cases26-tag--blue{color:#93C5FD;border-color:rgba(147,197,253,.25);}
.cases26-tag--green{color:#6EE7B7;border-color:rgba(110,231,183,.25);}
.cases26-tag--amber{color:#FCD34D;border-color:rgba(252,211,77,.25);}
.cases26-tag--pink{color:#F9A8D4;border-color:rgba(249,168,212,.25);}
.cases26-tag--teal{color:#5EEAD4;border-color:rgba(94,234,212,.25);}
.cases26-tag--purple{color:#C4B5FD;border-color:rgba(196,181,253,.25);}
.cases26-tag--red{color:#FCA5A5;border-color:rgba(252,165,165,.25);}
.cases26-src{font-family:var(--font-mono);font-size:.63rem;font-weight:600;letter-spacing:.04em;color:#79a8ff;white-space:nowrap;transition:color var(--t-fast);}
.cases26-src:hover{color:#aecbff;}
.cases26-note{margin:2.5rem auto 0;font-size:.78rem;line-height:1.65;color:#8ea0bb;max-width:780px;border-left:2px solid rgba(79,142,247,.42);padding-left:1rem;}

@media (max-width:900px){
	.cat26-layout{grid-template-columns:1fr;gap:1.5rem;}
	.cat26-side{position:static;flex-direction:row;flex-wrap:wrap;gap:1rem 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line);}
	.cat26-search{flex:1 1 100%;}
	.cat26-facet{flex:1 1 30%;min-width:150px;}
}
@media (max-width:640px){
	.cat26-list{grid-template-columns:1fr;}
	.cat26-facet{flex:1 1 100%;}
}
