.is-hidden{display:none !important}.catalogue-hero{margin:0 0 2.5rem}.catalogue-stats{display:flex;justify-content:center;gap:3rem;padding:2rem 0;border-top:2px solid var(--draw-color-surface);border-bottom:2px solid var(--draw-color-surface)}.catalogue-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-number{font-size:2.2rem;font-weight:300;color:var(--text-color-primary);letter-spacing:.05em}.stat-label{font-size:.85rem;color:var(--text-color-surface);opacity:.6;text-transform:uppercase;letter-spacing:.1em}.catalogue-search{position:relative;margin:0 auto 2.5rem;max-width:600px}.catalogue-search input{width:100%;padding:.75rem 1.25rem;border:2px solid var(--draw-color-surface);border-radius:4px;background:var(--background-color-surface);color:var(--text-color-surface);font-size:1rem;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.catalogue-search input:focus{outline:none;border-color:var(--draw-color-primary)}.catalogue-search input::placeholder{color:var(--text-color-surface);opacity:.4}.catalogue-search-count{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--text-color-surface);opacity:.5;pointer-events:none}.catalogue-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--layout-spacing);margin:0 0 3rem}.category-card{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border:1px solid var(--draw-color-surface);border-left:4px solid var(--cat-color,var(--draw-color-surface));border-radius:4px;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.category-card:hover{border-color:var(--cat-color,var(--draw-color-primary));border-left-color:var(--cat-color,var(--draw-color-primary));box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.category-name{font-size:1.2rem;font-weight:400;color:var(--text-color-primary)}.category-count{font-size:.85rem;color:var(--cat-color,var(--text-color-primary));font-weight:500}.category-tagline{font-size:.8rem;color:var(--text-color-surface);opacity:.6;font-style:italic}.catalogue-section{margin:0 0 3rem}.catalogue-section-header{display:flex;align-items:center;gap:.75rem;margin:0 0 1.25rem;padding:0 0 .75rem;border-bottom:2px solid var(--draw-color-surface)}.catalogue-section-header h2{margin:0;font-size:1.5rem;text-align:left;letter-spacing:.05em}.catalogue-section-count{font-size:.85rem;color:var(--text-color-surface);font-weight:300;opacity:.6;margin-left:auto;white-space:nowrap}[data-cat=eai]{--cat-color:var(--color-pink)}[data-cat=dev]{--cat-color:var(--color-blue)}[data-cat=sys]{--cat-color:var(--color-teal)}[data-cat=dbs]{--cat-color:var(--color-orange)}[data-cat=sec]{--cat-color:var(--color-red)}[data-cat=net]{--cat-color:var(--color-purple)}[data-cat=exp]{--cat-color:var(--color-olive)}[data-cat=ebi]{--cat-color:var(--color-aqua)}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--layout-spacing)}.catalogue-card{display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem 1.5rem;border:1px solid var(--draw-color-surface);border-left:4px solid var(--cat-color,var(--draw-color-surface));border-radius:4px;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;min-height:7rem}.catalogue-card:hover{border-color:var(--cat-color,var(--draw-color-primary));border-left-color:var(--cat-color,var(--draw-color-primary));box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px);text-decoration:none}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:0 0 .75rem}.card-title{display:block;font-size:1.1rem;font-weight:400;color:var(--text-color-primary);line-height:1.4}.card-level{flex-shrink:0;font-size:.7rem;color:var(--text-color-surface);opacity:.7;white-space:nowrap;padding:2px 6px;border:1px solid var(--draw-color-surface);border-radius:2px}.card-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 .75rem}.card-tags .tag{font-size:.7rem;opacity:.7}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.card-duration{font-size:.8rem;color:var(--text-color-surface);opacity:.6;white-space:nowrap}.catalogue-filters{margin:0 0 2.5rem;padding:1.25rem;border:1px solid var(--draw-color-surface);border-radius:4px;background:var(--background-color-surface)}.catalogue-filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:160px}.filter-label{font-size:.75rem;color:var(--text-color-surface);opacity:.6;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.filter-select{padding:.5rem .75rem;border:2px solid var(--draw-color-surface);border-radius:4px;background:var(--background-color-surface);color:var(--text-color-surface);font-size:.9rem;font-family:inherit;cursor:pointer;transition:border-color .2s ease;appearance:auto}.filter-select:focus{outline:none;border-color:var(--draw-color-primary)}.filter-select:hover{border-color:var(--draw-color-primary)}.catalogue-filters-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;min-height:1.5rem}.filters-count{font-size:.85rem;color:var(--text-color-surface);opacity:.7}.filters-reset{padding:.3rem .75rem;border:1px solid var(--draw-color-surface);border-radius:4px;background:0 0;color:var(--text-color-surface);font-size:.8rem;font-family:inherit;cursor:pointer;transition:border-color .2s ease,color .2s ease;white-space:nowrap}.filters-reset:hover{border-color:var(--draw-color-primary);color:var(--text-color-primary)}.filters-reset:focus{outline:none;border-color:var(--draw-color-primary)}.catalogue-total{text-align:center;font-size:.9rem;color:var(--text-color-surface);opacity:.5;margin:1rem 0 0}@media(max-width:575px){.catalogue-grid{grid-template-columns:1fr}.catalogue-categories{grid-template-columns:1fr}.catalogue-stats{gap:1.5rem}.stat-number{font-size:1.8rem}.catalogue-filters-row{flex-direction:column}.filter-group{min-width:100%}.catalogue-filters-status{flex-direction:column;align-items:flex-start}}