.catalog {
    background:var(--section-alt);
    border-top:1px solid var(--panel-border);
    position:relative;
    overflow:hidden
}

.catalog .wrap {
    max-width:1400px;
    margin:auto;
    padding:84px 40px;
    position:relative;
    z-index:1
}

.catalog-top {
    max-width:780px;
    margin-bottom:48px
}

.catalog-kicker {
    font-size:13px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--red);
    font-weight:700;
    margin-bottom:16px
}

.catalog-kicker::before {
    content:"";
    display:inline-block;
    width:34px;
    height:2px;
    background:var(--red);
    vertical-align:middle;
    margin-right:12px
}

.catalog h2 {
    font-size:clamp(26px,3.4vw,46px);
    font-weight:900;
    line-height:1.1;
    letter-spacing:-1.2px;
    text-transform:uppercase;
    color:var(--text-h1)
}

.catalog h2 .accent {
    color:var(--red)
}

.catalog-sub {
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
    margin-top:14px;
    max-width:560px
}

.catalog-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px
}

.cat-card {
    display:block;
    border:1px solid var(--panel-border);
    border-radius:12px;
    background:var(--card-bg2);
    overflow:hidden;
    transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease,opacity .7s cubic-bezier(.2,.7,.2,1);
    position:relative
}

.js .cat-card {
    opacity:0;
    transform:translateY(30px)
}

.js .catalog.inview .cat-card {
    opacity:1;
    transform:none
}

.catalog.inview .cat-card:nth-child(2) {
    transition-delay:.05s
}

.catalog.inview .cat-card:nth-child(3) {
    transition-delay:.1s
}

.catalog.inview .cat-card:nth-child(4) {
    transition-delay:.15s
}

.catalog.inview .cat-card:nth-child(5) {
    transition-delay:.2s
}

.catalog.inview .cat-card:nth-child(6) {
    transition-delay:.25s
}

.catalog.inview .cat-card:nth-child(7) {
    transition-delay:.3s
}

.catalog.inview .cat-card:nth-child(8) {
    transition-delay:.35s
}

.catalog.inview .cat-card:nth-child(9) {
    transition-delay:.4s
}

.catalog.inview .cat-card:nth-child(10) {
    transition-delay:.45s
}

.cat-card:hover {
    transform:translateY(-6px);
    border-color:var(--red);
    box-shadow:0 20px 44px -22px rgba(0,132,201,.4)
}

.cat-img {
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--cat-ph-bg)
}

.cat-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .5s ease
}

.cat-card:hover .cat-img img {
    transform:scale(1.05)
}

.cat-name {
    padding:15px 16px;
    font-size:15px;
    font-weight:700;
    color:var(--text-h1);
    line-height:1.25;
    min-height:56px;
    display:flex;
    align-items:center
}

.cat-card .cat-arrow {
    position:absolute;
    top:12px;
    right:12px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    display:grid;
    place-items:center;
    opacity:0;
    transform:scale(.6);
    transition:opacity .3s ease,transform .3s ease;
    z-index:2
}

.cat-card:hover .cat-arrow {
    opacity:1;
    transform:scale(1)
}

.cat-card .cat-arrow svg {
    width:15px;
    height:15px
}
