.catalog-hero{border-bottom:1px solid var(--c-border);padding:40px 24px 32px}.catalog-hero-inner{max-width:1180px;margin:0 auto}.catalog-hero h1{font-family:var(--font-heading);letter-spacing:var(--ls-tight);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:900;line-height:var(--lh-tight);color:var(--c-text);margin-top:14px}.catalog-hero-lead{max-width:640px;font-size:var(--fs-sm);line-height:var(--lh-base);color:var(--c-text-sub);margin-top:14px}.catalog-layout{grid-template-columns:200px 1fr;align-items:start;gap:36px;max-width:1180px;margin:0 auto;padding:36px 24px 72px;display:grid}.filter-panel{position:sticky;top:88px}.filter-group{border:0;margin:0 0 26px;padding:0}.filter-group legend{font-size:var(--fs-xs);color:var(--c-text);margin-bottom:12px;padding:0;font-weight:700}.filter-item{font-size:var(--fs-sm);color:var(--c-text-sub);cursor:pointer;align-items:center;gap:9px;padding:7px 0;display:flex}.filter-item:hover{color:var(--c-navy)}.filter-item input{width:15px;height:15px;accent-color:var(--c-navy);cursor:pointer}.filter-reset{font-size:var(--fs-2xs);color:var(--c-text-weak);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.filter-reset:hover{color:var(--c-navy)}.catalog-searchbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.catalog-search{min-width:220px;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);transition:border-color var(--duration-base), box-shadow var(--duration-base);outline:none;flex:1;padding:13px 16px}.catalog-search::placeholder{color:var(--c-text-weak)}.catalog-search:focus{border-color:var(--c-navy);box-shadow:0 0 0 3px #0f8a7829}.catalog-count{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--c-text-weak);white-space:nowrap}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr));gap:18px;display:grid}.cat-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);color:inherit;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base), box-shadow var(--duration-base);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}a.cat-card:hover{border-color:var(--c-navy-200);box-shadow:var(--shadow-md);transform:translateY(-3px)}.cat-card.is-coming{opacity:.72}.cat-thumb{border-bottom:1px solid var(--c-border);background:linear-gradient(140deg,#0f8a781a,#2f5fc40f);flex-direction:column;justify-content:center;gap:10px;min-height:132px;padding:22px 20px;display:flex}.cat-card.is-coming .cat-thumb{background:linear-gradient(140deg,#151a1f0d,#151a1f05)}.cat-thumb-kicker{font-family:var(--font-mono);letter-spacing:var(--ls-label);color:var(--c-navy);font-size:10px;font-weight:700}.cat-card.is-coming .cat-thumb-kicker{color:var(--c-text-weak)}.cat-thumb-title{font-family:var(--font-heading);font-size:var(--fs-lg);color:var(--c-text);font-weight:700;line-height:1.45}.cat-card-body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.cat-card-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.cat-card-cat{color:var(--c-navy);background:var(--c-navy-100);border-radius:var(--radius-xs);padding:3px 8px;font-size:11px;font-weight:700}.cat-badge{color:var(--c-text-weak);background:var(--c-bg-warm);border:1px solid var(--c-border);border-radius:var(--radius-xs);padding:2px 7px;font-size:11px;font-weight:700}.cat-card-title{font-family:var(--font-heading);font-size:var(--fs-md);font-weight:700;line-height:var(--lh-snug);color:var(--c-text)}.cat-card-desc{font-size:var(--fs-xs);line-height:var(--lh-base);color:var(--c-text-sub);flex:1;margin-top:9px}.cat-card-meta{font-family:var(--font-mono);color:var(--c-text-weak);margin-top:14px;font-size:10.5px}.catalog-empty{text-align:center;font-size:var(--fs-sm);color:var(--c-text-sub);background:var(--c-bg-warm);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:48px 24px;display:none}.catalog-empty.is-visible{display:block}@media (width<=900px){.catalog-layout{grid-template-columns:1fr;gap:24px;padding:28px 20px 64px}.filter-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:8px 24px;padding:18px 20px;display:grid;position:static}.filter-group{margin-bottom:0}.filter-group legend{margin-bottom:8px}.filter-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.filter-item{padding:6px 0}}
