.catalog-block { width:100%; max-width:1276px; margin:4rem auto; min-width:0; }
.catalog-block__heading { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.catalog-block__heading h2 { margin:.75rem 0 0; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.25; letter-spacing:-.035em; }
.catalog-block__heading>a { color:var(--accent,#088ba5); font-size:.9rem; text-decoration:none; padding-block:.5rem; }
.catalog-block__eyebrow { margin:0; color:var(--muted,#637f91); font-size:.75rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.catalog-block__categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.catalog-block__category { display:grid; grid-template-columns:1fr 1.1fr; min-height:190px; border:1px solid var(--line,#dbe6ef); border-radius:10px; overflow:hidden; text-decoration:none; color:var(--ink,#14354b); background:var(--surface-soft,#f3f7fa); min-width:0; }
.catalog-block__category-copy { padding:1.5rem; display:flex; flex-direction:column; align-items:start; justify-content:center; min-width:0; }
.catalog-block__category h3 { margin:.7rem 0 1rem; font-size:1.35rem; line-height:1.3; overflow-wrap:anywhere; }
.catalog-block__number { font-size:.75rem; color:var(--muted,#637f91); }
.catalog-block__arrow { color:var(--accent,#088ba5); font-size:1.25rem; }
.catalog-block__category img { display:block; width:100%; height:100%; min-width:0; object-fit:cover; margin:0; border-radius:0; }
.catalog-block__category-placeholder { display:grid; place-items:center; background:var(--tint,#eaf6f9); color:var(--accent,#088ba5); }
.catalog-block__category-placeholder .icon { width:3rem; height:3rem; opacity:.5; }
.catalog-block__category:hover { border-color:var(--accent,#088ba5); }
.catalog-block a:focus-visible { outline:3px solid var(--accent,#088eae); outline-offset:3px; }
@media(max-width:800px) { .catalog-block { margin-block:3rem; }.catalog-block__categories { gap:1rem; }.catalog-block__category { grid-template-columns:1fr; }.catalog-block__category img,.catalog-block__category-placeholder { height:160px; grid-row:1; }.catalog-block__category-copy { padding:1rem; }.catalog-block__category h3 { font-size:1.15rem; } }
@media(max-width:500px) { .catalog-block__categories { grid-template-columns:1fr; }.catalog-block__category { grid-template-columns:1fr 1fr; min-height:135px; }.catalog-block__category img,.catalog-block__category-placeholder { height:100%; grid-row:auto; }.catalog-block__heading { align-items:start; }.catalog-block__heading>a { font-size:.8rem; } }
