.services-catalog-page{min-height:calc(100svh - 82px);padding:72px 0 100px;background:#f7f9fc}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.services-catalog-wrap{width:min(1040px,calc(100% - 48px));margin:auto}
.catalog-heading{max-width:720px}
.catalog-heading h1{margin:0;font-size:clamp(38px,5vw,62px);font-weight:900;line-height:1;letter-spacing:-2.8px}
.catalog-heading>p:last-child{margin:17px 0 0;color:var(--muted);font-size:15px;font-weight:650;line-height:1.55}
.catalog-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:22px;margin-top:36px}
.catalog-search{position:relative}
.catalog-search input{width:100%;height:52px;border:1.5px solid var(--blue-line);border-radius:14px;outline:0;padding:0 50px 0 16px;background:#fff;color:var(--ink);font-size:14px;font-weight:650}
.catalog-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,92,255,.08)}
.catalog-search svg{position:absolute;top:15px;right:16px;width:22px;height:22px;color:var(--blue)}
.catalog-count{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}
.catalog-filters{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:5px;scrollbar-width:none}
.catalog-filters::-webkit-scrollbar{display:none}
.catalog-filter{min-height:38px;flex:0 0 auto;border:1.5px solid var(--blue-line);border-radius:999px;padding:0 15px;background:#fff;color:#536987;font-size:11px;font-weight:800;cursor:pointer}
.catalog-filter.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
.catalog-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.catalog-service-card{min-width:0;display:grid;grid-template-columns:116px minmax(0,1fr);overflow:hidden;border:1.5px solid var(--blue-line);border-radius:17px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:border-color .18s,transform .18s}
.catalog-service-card:hover{border-color:var(--blue);transform:translateY(-1px)}
.catalog-service-card>img{width:116px;height:100%;min-height:158px;object-fit:cover;background:var(--blue-soft)}
.catalog-service-copy{min-width:0;display:flex;flex-direction:column;padding:17px}
.catalog-service-kind{width:max-content;border-radius:999px;padding:5px 8px;background:#e9f7f1;color:#087d58;font-size:8px;font-weight:900;text-transform:uppercase}
.catalog-service-name{display:block;margin-top:9px;font-size:16px;font-weight:900;line-height:1.25}
.catalog-service-meta{display:block;margin-top:6px;color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.45}
.catalog-service-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.catalog-service-bottom small,.catalog-service-bottom b{display:block}
.catalog-service-bottom small{color:var(--muted);font-size:8px;font-weight:700}
.catalog-service-bottom b{margin-top:2px;color:var(--blue-dark);font-size:22px;font-weight:900}
.catalog-service-link{flex:0 0 auto;padding-bottom:3px;color:var(--blue);font-size:10px;font-weight:850}
.catalog-empty{grid-column:1/-1;display:grid;gap:7px;border:1.5px dashed var(--blue-line);border-radius:17px;padding:42px;text-align:center;color:var(--muted);font-size:12px}
.catalog-empty strong{color:var(--ink);font-size:17px}
@media(max-width:720px){.services-catalog-page{padding:42px 0 76px}.services-catalog-wrap{width:calc(100% - 28px)}.catalog-heading h1{font-size:34px;letter-spacing:-1.5px}.catalog-heading>p:last-child{font-size:12px}.catalog-controls{grid-template-columns:1fr;gap:9px;margin-top:27px}.catalog-count{padding-left:2px}.catalog-service-list{grid-template-columns:1fr;gap:10px;margin-top:18px}.catalog-service-card{grid-template-columns:82px minmax(0,1fr);border-radius:15px}.catalog-service-card>img{width:82px;min-height:124px}.catalog-service-copy{padding:13px 12px}.catalog-service-name{font-size:14px}.catalog-service-meta{font-size:9.5px}.catalog-service-bottom b{font-size:20px}.catalog-service-link{font-size:10px}}
