.pr-root{font-family:Inter,Arial,sans-serif;color:#101f26;background:#fff;font-size:15px;line-height:1.55}.pr-root *{box-sizing:border-box}.pr-root a{color:inherit;text-decoration:none}.pr-root button,.pr-root input,.pr-root select{font:inherit}.pr-root button,.pr-root select{cursor:pointer}.pr-root [hidden]{display:none!important}.pr-root :focus-visible{outline:3px solid #4fab3a;outline-offset:4px}.pr-container{max-width:1440px;padding:0 44px;margin:auto}.pr-crumb{padding:24px 0;font-size:12px;color:#66736c}.pr-intro{padding:24px 0 45px;border-bottom:1px solid #dce4de;margin-bottom:42px}.pr-kicker{font-size:11px;letter-spacing:1.2px;font-weight:700;color:#39882b}.pr-root h1{font-size:48px;line-height:1.12;letter-spacing:-1.7px;margin:15px 0}.pr-intro>p{font-size:19px;color:#64716b;margin:0 0 28px}.pr-jump{display:flex;gap:12px;flex-wrap:wrap}.pr-jump b{font-size:11px;margin-left:13px;opacity:.75}.pr-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 25px}.pr-root h2{font-size:29px;line-height:1.22;letter-spacing:-.6px;margin:8px 0 0}.pr-muted{font-size:13px;color:#748078;white-space:nowrap}.pr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:70px}.pr-card{border:1px solid #dfe6df;border-radius:7px;overflow:hidden;background:#fff}.pr-card>a{display:flex;flex-direction:column;height:100%}.pr-photo{height:220px;background:#f1f3f1;overflow:hidden}.pr-photo img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s}.pr-card:hover .pr-photo img{transform:scale(1.035)}.pr-card-body{padding:21px;display:flex;flex-direction:column;flex:1}.pr-card-meta{font-size:11px;color:#6a756d;margin-bottom:10px;min-height:34px}.pr-root h3{font-size:18px;line-height:1.35;margin:0 0 22px;letter-spacing:-.2px}.pr-card-link{margin-top:auto;font-size:13px;font-weight:600;color:#318227;display:flex;justify-content:space-between}.pr-description{max-width:850px;color:#65736b;font-size:14px;margin:0 0 24px}.pr-filters{padding:20px;background:#f2f5f2;border:1px solid #e0e7df;border-radius:6px;display:grid;grid-template-columns:2fr 1.4fr .7fr 1.4fr 1fr auto;align-items:end;gap:12px}.pr-filters label{font-size:11px;color:#5b695f;display:flex;flex-direction:column;gap:7px;min-width:0}.pr-filters input,.pr-filters select{width:100%;min-width:0;height:43px;padding:8px 10px;border:1px solid #ccd7cc;border-radius:4px;background:white;color:#101f26;font-size:12px}.pr-filters button{background:transparent;border:0;font-size:12px;text-decoration:underline;color:#3d6e36;padding:12px 0}.pr-results{color:#6c786f;font-size:12px;margin:22px 0 13px}.pr-record{border:1px solid #dee5de;border-radius:6px;background:#fff;margin-bottom:10px;overflow:hidden}.pr-record summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:108px minmax(0,1fr) 210px 30px;gap:18px;align-items:center;padding:21px 23px}.pr-record summary::-webkit-details-marker{display:none}.pr-record summary:hover{background:#f7faf6}.pr-code{font-size:10px;color:#849086;display:flex;flex-direction:column;gap:3px}.pr-code b{font-size:14px;color:#37483d;font-weight:500}.pr-record-name strong{font-size:16px;line-height:1.4;font-weight:600;display:block}.pr-record-name small{font-size:11px;color:#748078;display:block;margin-top:6px}.pr-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.pr-tags span{font-size:10px;padding:4px 8px;border:1px solid #dce5dc;border-radius:3px;white-space:nowrap;color:#5f6a61}.pr-tags .pr-tag{color:#2e7926;background:#f0f8eb;border-color:#d3e5ca}.pr-expand{font-size:24px;color:#438a32;justify-self:end}.pr-record[open] .pr-expand{transform:rotate(45deg)}.pr-record[open]{border-color:#9dbd93}.pr-record[open] summary{background:#f4f8f0}.pr-record-body{padding:5px 24px 24px 150px;border-top:1px solid #dce6d7}.pr-record-body section{margin-top:22px}.pr-record-body h4{font-size:15px;color:#2e7425;margin:0 0 10px}.pr-record table{width:100%;border-collapse:collapse;font-size:12px}.pr-record th{font-size:10px;color:#758072;font-weight:500;text-align:left;padding:8px 0;border-bottom:1px solid #dee5dd}.pr-record td{padding:10px 0;border-bottom:1px solid #e9eee7;vertical-align:top}.pr-record td:last-child,.pr-record th:last-child{width:100px;text-align:right;padding-left:15px}.pr-work{font-size:12px;color:#35772b;margin:14px 0 0}.pr-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:30px 0 60px}.pr-pagination button{padding:11px 18px;border:1px solid #ccd8c7;background:white;border-radius:4px;color:#33782c;font-size:12px}.pr-pagination button:disabled{opacity:.4;cursor:default}.pr-pagination span{font-size:12px;color:#768271}.pr-cta{background:#101f26;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;margin:50px 0 65px}.pr-cta h2{font-size:25px;color:#fff}.pr-cta p{font-size:13px;color:#b7c4c0;margin:12px 0 0}.pr-cta>a{white-space:nowrap;background:#4fab3a;color:#101f26;font-size:13px;font-weight:700;padding:14px 22px;border-radius:4px}#featured,#registry{scroll-margin-top:130px}@media(max-width:1100px){.pr-container{padding:0 25px}.pr-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-record summary{grid-template-columns:90px minmax(0,1fr) 140px 24px;gap:12px}.pr-card-body{padding:16px}.pr-root h3{font-size:16px}.pr-cards{gap:15px}.pr-record-body{padding-left:24px}}@media(max-width:760px){.pr-container{padding:0 18px}.pr-root h1{font-size:35px}.pr-root h2{font-size:24px}.pr-intro{padding-top:12px}.pr-intro>p{font-size:16px}.pr-section-title{align-items:start}.pr-cards{grid-template-columns:1fr}.pr-photo{height:250px}.pr-card-meta{min-height:0}.pr-root h3{font-size:19px}.pr-filters{grid-template-columns:1fr 1fr;padding:14px}.pr-search{grid-column:1/-1}.pr-record summary{grid-template-columns:1fr 26px;gap:8px;padding:18px}.pr-code{grid-column:1;flex-direction:row;align-items:center;gap:10px}.pr-record-name{grid-column:1;grid-row:2}.pr-tags{grid-column:1;justify-content:start}.pr-expand{grid-column:2;grid-row:1/4}.pr-record-body{padding:4px 18px 20px}.pr-cta{padding:24px;flex-direction:column;align-items:start}.pr-muted{display:none}}


/* ============================================================
   Обвязка под сайт. Пакет держит контейнер 1440px с полями 44px,
   а сайт — 1440px с полями 32px. Выравниваем, иначе раздел уже
   шапки и соседних страниц. Поля одинаковые на всех ширинах:
   у шапки сайта тоже 32px и на 1440, и на 390.
   ============================================================ */
.pr-container { max-width: var(--container-wide); padding-left: var(--sp-8); padding-right: var(--sp-8); }
/* Кнопки перехода — штатные .btn сайта. Цвет текста им приходится
   возвращать здесь: пакет красит все ссылки правилом .pr-root a,
   и оно специфичнее, чем .btn--primary. */
.pr-root a.btn--primary { color: var(--action-primary-fg); }
.pr-root a.btn--primary:hover { color: var(--action-primary-fg); }
.pr-root a.btn--secondary { color: var(--action-secondary-fg); }
.pr-root a.btn--secondary:hover { color: var(--action-secondary-fg); }
.pr-jump b { opacity: .8; }
/* Сетка проектов, встроенная в чужую страницу (блок на главной):
   контейнер и поля там уже свои, от .pr-root берём только типографику. */
.pr-root--embed .pr-cards { margin-bottom: 0; }
/* Заголовок блока на главной: слева текст, справа кнопка.
   Штатный .cases__head центрирует содержимое и сужает до 800px —
   для строки с кнопкой это снимаем. */
/* Селектор с двумя классами: штатный .cases__head живёт в инлайновых
   стилях страницы, а они подключаются после файлов css_templates —
   с одним классом правило проигрывало бы по порядку. */
.cases .cases__head--split {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 40px; max-width: none; text-align: left;
}
.cases .cases__head--split .cases__head-text { max-width: 760px; }
.cases__head-btn { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 900px) {
  .cases .cases__head--split { flex-direction: column; align-items: flex-start; gap: 24px; }
}
