.catalog{width:100%}.catalog__container{background:var(--color-white);max-width:var(--container-max);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-2xl)}.catalog__top{width:100%;background:var(--color-white);padding:calc(var(--spacing-lg) + 20px) var(--spacing-md) var(--spacing-lg);position:relative;overflow:hidden}.catalog__top:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--color-border) 1.5px,transparent 1.5px),radial-gradient(circle,var(--color-border) 1.5px,transparent 1.5px);background-size:6px 60px,60px 6px;pointer-events:none;opacity:.5}.catalog__top:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-red)}.catalog__top-inner{max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-2xl);position:relative;z-index:1}@media(min-width:1024px){.catalog__top-inner{flex-direction:row;align-items:flex-start;gap:var(--spacing-3xl)}.catalog__header{flex:0 0 240px}.catalog__header .catalog__subtitle{max-width:none}.catalog__controls{flex:1;min-width:0}}.catalog__header{display:flex;flex-direction:column;gap:var(--spacing-sm);animation:fadeUp .7s var(--ease-out) both}.catalog__title{font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.04em;margin:0;color:var(--color-ink)}.catalog__subtitle{font-size:1rem;color:var(--color-ink-2);margin:0;max-width:540px}.catalog__controls{display:flex;flex-direction:column;gap:var(--spacing-lg);animation:fadeUp .7s var(--ease-out) both;animation-delay:.08s}.catalog__search-wrapper{position:relative;width:100%}.catalog__search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--color-ink-3);pointer-events:none}.catalog__search-input{width:100%;padding:.75rem var(--spacing-md) .75rem 2.625rem;font-family:var(--font-sans);font-size:.9375rem;color:var(--color-ink);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.catalog__search-input::placeholder{color:var(--color-ink-3)}.catalog__search-input:focus{border-color:var(--color-red);box-shadow:0 0 0 3px #c8192e26}.catalog__filters{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-white)}.catalog__filter-row{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-white)}.catalog__filter-row:last-of-type{border-bottom:none}.catalog__filter-row--sub,.catalog__filter-row--type{display:none;background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:none}.catalog__filter-row--sub.is-visible,.catalog__filter-row--type.is-visible{display:flex;animation:fadeUp .2s var(--ease-out) both}.catalog__filter-label{flex-shrink:0;width:6.5rem;padding-top:.3rem;font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3)}.catalog__filter-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);flex:1}.catalog__pill{display:inline-flex;align-items:center;padding:.3125rem .8125rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;border:1.5px solid transparent;user-select:none;transition:color var(--transition-fast) var(--ease-out),background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.catalog__pill--brand{color:var(--color-ink-2);background:var(--color-surface-2);border-color:var(--color-border)}.catalog__pill--brand:hover{color:var(--color-ink);border-color:var(--color-ink-3)}.catalog__pill--brand.is-active{color:var(--color-white);background:var(--color-ink);border-color:var(--color-ink)}.catalog__pill--cat{color:var(--color-ink-2);background:transparent;border-color:var(--color-border)}.catalog__pill--cat:hover{color:var(--color-ink);border-color:var(--color-ink-3);background:var(--color-surface-2)}.catalog__pill--cat.is-active{color:var(--color-white);background:var(--color-ink);border-color:var(--color-ink)}.catalog__pill--sub{color:var(--color-ink-2);background:var(--color-white);border-color:var(--color-border);font-size:.625rem}.catalog__pill--sub:hover,.catalog__pill--sub.is-active{color:var(--color-white);background:var(--color-red);border-color:var(--color-red)}.catalog__pill--type{color:var(--color-ink-2);background:transparent;border-color:var(--color-border)}.catalog__pill--type:hover{color:var(--color-ink);border-color:var(--color-ink-3);background:var(--color-surface-2)}.catalog__pill--type.is-active{color:var(--color-white);background:var(--color-red);border-color:var(--color-red)}.catalog__clear-btn{display:inline-flex;align-items:center;gap:.375rem;align-self:flex-start;margin:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);padding:.3125rem .75rem;font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-2);background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out)}.catalog__clear-btn:hover{color:var(--color-red);border-color:var(--color-red)}.catalog__count{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3);margin:calc(-1 * var(--spacing-lg)) 0 0}.catalog__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.catalog__empty{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;grid-column:1 / -1}.catalog__empty-icon{color:var(--color-ink-3)}.catalog__empty-title{font-size:1.125rem;font-weight:600;color:var(--color-ink);margin:0}.catalog__empty-text{font-size:.9375rem;color:var(--color-ink-2);margin:0}@media(min-width:600px){.catalog__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.catalog__top{padding:calc(var(--spacing-lg) + 30px) var(--spacing-lg) var(--spacing-lg)}}@media(min-width:1024px){.catalog__top{padding:calc(var(--spacing-lg) + 40px) var(--spacing-2xl) var(--spacing-xl)}.catalog__container{padding:var(--spacing-3xl) var(--spacing-lg);gap:var(--spacing-3xl)}.catalog__title{font-size:2.75rem}.catalog__grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}}:root{--color-red: #C8192E;--color-red-600: #a81424;--color-red-700: #8a0f1c;--color-blue: #003399;--color-blue-600: #0029a3;--color-red-dim: #F5E6E8;--color-blue-dim: #E5EAF5;--color-ink: #0F0F0F;--color-ink-2: #5A5A5A;--color-ink-3: #A0A0A0;--color-surface: #F6F5F2;--color-surface-2: #EDECE8;--color-white: #FFFFFF;--color-border: #DDDBD4;--color-border-strong: #C5C3BB;--color-dark: #111114;--color-dark-2: #1C1C21;--color-dark-3: #26262D;--color-dark-border: rgba(255,255,255,.1);--color-dark-border-strong: rgba(255,255,255,.18);--color-dark-ink: #F0EFE8;--color-dark-ink-2: #A8A7A2;--gradient-accent: linear-gradient(135deg, var(--color-red) 0%, var(--color-blue) 100%);--gradient-accent-soft: linear-gradient(135deg, rgba(200, 25, 46, .08) 0%, rgba(0, 51, 153, .08) 100%);--gradient-surface: linear-gradient(180deg, var(--color-white) 0%, var(--color-surface) 100%);--gradient-glow-red: radial-gradient(60% 60% at 50% 0%, rgba(200, 25, 46, .1) 0%, transparent 70%);--gradient-glow-blue: radial-gradient(60% 60% at 100% 0%, rgba(0, 51, 153, .08) 0%, transparent 70%);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 15, 15, .04);--shadow-sm: 0 1px 2px rgba(15, 15, 15, .05);--shadow-md: 0 2px 8px rgba(15, 15, 15, .05);--shadow-lg: 0 6px 20px rgba(15, 15, 15, .06);--shadow-xl: 0 14px 36px rgba(15, 15, 15, .08);--shadow-ring: 0 0 0 3px rgba(200, 25, 46, .15);--shadow-ring-blue: 0 0 0 3px rgba(0, 51, 153, .15);--transition-fast: .15s;--transition-base: .25s;--transition-slow: .4s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "DM Mono", ui-monospace, monospace;--container-max: 1200px}.product-grid-card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color var(--transition-base) var(--ease-out),box-shadow var(--transition-base) var(--ease-out),transform var(--transition-base) var(--ease-out)}.product-grid-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-red);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base) var(--ease-out);z-index:1}.product-grid-card:hover:before{transform:scaleX(1)}.product-grid-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-grid-card__image-link{display:block}.product-grid-card__image-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--color-surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.product-grid-card__image{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-base) var(--ease-out)}.product-grid-card:hover .product-grid-card__image{transform:scale(1.06)}.product-grid-card__image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-2) 0%,var(--color-border) 100%);border-radius:var(--radius-sm)}.product-grid-card__content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);flex:1}.product-grid-card__meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.product-grid-card__brand{font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-red)}.product-grid-card__meta-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--color-border-strong);flex-shrink:0}.product-grid-card__sub{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.product-grid-card__title{font-size:1.125rem;font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--color-ink);margin:var(--spacing-xs) 0 0;transition:color var(--transition-base) var(--ease-out)}.product-grid-card:hover .product-grid-card__title{color:var(--color-red)}.product-grid-card__description{font-size:.875rem;line-height:1.55;color:var(--color-ink-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.product-grid-card__link{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);width:fit-content;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-red);border-bottom:1.5px solid transparent;padding-bottom:1px;transition:border-color var(--transition-base) var(--ease-out)}.product-grid-card__link:hover{border-bottom-color:var(--color-red)}.product-grid-card__link-icon{display:inline-flex;transition:transform var(--transition-base) var(--ease-out)}.product-grid-card__link:hover .product-grid-card__link-icon{transform:translate(3px)}.product-grid-card{opacity:0;transform:translateY(32px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out),border-color var(--transition-base) var(--ease-out),box-shadow var(--transition-base) var(--ease-out),transform var(--transition-base) var(--ease-out)}.product-grid-card.is-visible{opacity:1;transform:translateY(0)}.product-grid-card.is-visible:hover{transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.product-grid-card{opacity:1;transform:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}}
