body { margin:0; color:var(--resurs-ink); background:var(--resurs-ground); font-family:var(--resurs-font); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
button,input,a { font:inherit; }
a { color:inherit; }
button { color:inherit; cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--resurs-accent); outline-offset:4px; }
.stack { margin:0; }
.catalog { border-radius:0; box-shadow:none; max-width:1320px; margin:auto; padding:40px 50px 100px; }
.catalog-crumb { font-size:14px; color:var(--resurs-ink-muted); text-decoration:none; display:inline-flex; align-items:center; min-height:44px; }
.catalog-head { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin:16px 0 36px; }
.catalog-head h1 { font-size:64px; line-height:1.05; letter-spacing:-.045em; font-weight:500; margin:0; }
.catalog-totals { display:flex; gap:7px; color:var(--resurs-ink-muted); font-size:14px; white-space:nowrap; }
.catalog-totals span:nth-child(3) { margin-left:16px; }
.catalog-search { position:relative; display:flex; align-items:center; gap:12px; padding:18px 20px; border:1px solid var(--resurs-hairline); border-radius:12px; background:var(--resurs-surface); }
.search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.catalog-search input { width:100%; min-width:0; border:0; background:transparent; color:var(--resurs-ink); font-size:18px; min-height:30px; }
.catalog-search input::placeholder { color:var(--resurs-ink-muted); }
.clear-search { border:0; background:transparent; font-size:14px; min-height:44px; white-space:nowrap; text-decoration:underline; }
.search-status { min-height:20px; color:var(--resurs-ink-muted); margin:18px 0 28px; font-size:14px; }
.catalog-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:64px; align-items:start; }
.category-index { display:grid; gap:0; }
.category-choice { display:flex; text-align:left; align-items:baseline; gap:12px; background:transparent; border:0; border-bottom:1px solid var(--resurs-hairline); min-height:44px; padding:13px 0; font-size:11px; line-height:1.5; letter-spacing:.035em; }
.category-choice:hover { color:var(--resurs-accent); }
.category-label { flex:1; }
.category-number { color:var(--resurs-ink-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.category-choice>.count { color:var(--resurs-ink-muted); }
.category-heading { margin:0; padding:16px 0; font-size:14px; line-height:1.5; letter-spacing:.045em; font-weight:600; border-bottom:1px solid var(--resurs-ink); }
.category-toggle { display:none; }
.service-category { scroll-margin-top:30px; margin-bottom:48px; }
.service-rows { list-style:none; margin:0; padding:0; }
.service-row { display:flex; gap:24px; padding:16px 0; border-bottom:1px solid var(--resurs-hairline); font-size:20px; line-height:1.45; user-select:text; }
.service-number { color:var(--resurs-ink-muted); min-width:28px; font-size:12px; line-height:2.4; font-variant-numeric:tabular-nums; }
.service-name { overflow-wrap:anywhere; }
.category-back { border:1px solid var(--resurs-hairline); border-radius:30px; background:transparent; padding:12px 24px; min-height:48px; margin-bottom:28px; }
body.searching .catalog-layout { display:block; }
body.category-selected .catalog-content { max-width:900px; }
@media(max-width:860px) {
 .catalog-head { display:block; margin:12px 0 28px; }
 .catalog-head h1 { font-size:42px; }
 .catalog-totals { margin-top:18px; }
 .catalog-layout { display:block; }
 .category-index { display:none; }
 .catalog-search { padding:10px 12px; flex-wrap:wrap; }
 .catalog-search input { font-size:16px; min-height:36px; }
 .clear-search { padding:0; }
 .category-title { display:none; }
 .category-heading { padding:0; border-bottom:1px solid var(--resurs-hairline); }
 .category-toggle { width:100%; display:flex; justify-content:space-between; gap:20px; text-align:left; border:0; background:transparent; padding:22px 0; font-size:13px; line-height:1.5; letter-spacing:.025em; min-height:64px; }
 .category-toggle:disabled { color:inherit; cursor:default; }
 .category-toggle>.count { color:var(--resurs-ink-muted); }
 .service-category { margin-bottom:0; scroll-margin-top:80px; }
 .service-row { font-size:17px; gap:16px; padding:17px 0; }
 .service-number { min-width:22px; }
 .search-status { margin:16px 0; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
@media(max-width:860px) {
 .category-toggle::after { content:'+'; font-size:20px; font-weight:400; line-height:1; }
 .category-toggle[aria-expanded=true]::after { content:'−'; }
 .category-toggle>.count { margin-left:auto; }
}
html { scroll-behavior:auto; }
@media(min-width:861px) { .catalog { padding-top:140px; } .service-category { scroll-margin-top:120px; } }
