.catalog-page { margin: 0 auto; max-width: 1240px; padding: 0 5vw clamp(3rem, 5vw, 4.5rem); }
.catalog-page .breadcrumb { padding: 1rem 0; }
.catalog-intro { max-width: 830px; padding: clamp(1.4rem, 3vw, 2.7rem) 0 1rem; }
.catalog-intro h1 { max-width: 780px; }
.catalog-intro > p:last-child { color: var(--muted); font-size: 1.08rem; }
.catalog-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.5rem; }
.catalog-card { background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 16px 50px rgba(23, 54, 84, 0.07); display: flex; flex-direction: column; overflow: hidden; }
.catalog-image { align-items: center; background: var(--blue-soft); display: flex; justify-content: center; min-height: 270px; padding: 1.25rem; }
.catalog-image img { border-radius: 10px; box-shadow: 0 8px 24px rgba(23, 54, 84, 0.12); height: auto; width: 100%; }
.catalog-copy { display: flex; flex: 1; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem); }
.catalog-copy h2 { font-size: clamp(1.55rem, 2.2vw, 2rem); line-height: 1.2; margin: 0.55rem 0 0.75rem; }
.catalog-copy p, .catalog-copy li { color: var(--muted); }
.catalog-copy p { margin: 0; }
.catalog-copy ul { margin: 1rem 0 1.5rem; padding-left: 1.2rem; }
.catalog-copy .button { align-self: flex-start; margin-top: auto; text-align: center; }
.catalog-free { align-items: center; background: #eaf4fa; border: 1px solid var(--line); border-radius: 16px; display: flex; gap: 2rem; justify-content: space-between; margin-top: 2rem; padding: clamp(1.4rem, 3vw, 2rem); }
.catalog-free h2 { font-size: clamp(1.3rem, 2vw, 1.65rem); margin: 0.4rem 0; }
.catalog-free p:last-child { color: var(--muted); margin: 0; }
.catalog-free .card-link { flex: 0 0 auto; font-weight: 800; }
@media (max-width: 900px) { .catalog-grid { grid-template-columns: 1fr; } .catalog-image { min-height: 0; } }
@media (max-width: 620px) { .catalog-page { padding-left: 1.2rem; padding-right: 1.2rem; } .catalog-card { border-radius: 18px; } .catalog-image { padding: 0.8rem; } .catalog-copy .button { width: 100%; } .catalog-free { align-items: flex-start; flex-direction: column; gap: 0.8rem; } }
