/* Services directory: the site's existing paper, Manrope and fine rules. */
.services-page .service-hero { min-height:480px; }
.services-page .service-hero .article-hero-content { max-width:920px; }
.services-page .service-hero h1 { font-size:clamp(40px,4.45vw,68px); }
.services-page .services-jump {
 position:sticky; top:80px; z-index:10; display:flex; align-items:center;
 gap:12px 36px; padding:0 var(--gutter); background:var(--paper);
 border-bottom:1px solid var(--line);
}
.services-jump a { display:flex; align-items:center; min-height:72px; font-size:14px; font-weight:500; white-space:nowrap; }
.services-jump a:hover { text-decoration:underline; }
.services-page .services-content { max-width:1600px; padding-top:64px; padding-bottom:0; }
.services-content .catalog-category { scroll-margin-top:132px; padding:56px 0 64px; margin:0; }
.services-content .catalog-category:first-child { padding-top:0; }
.services-content .catalog-title { font-size:clamp(30px,3vw,44px); margin:0 0 36px; line-height:1.15; text-wrap:initial; }
.services-content .catalog-grid { gap:32px 48px; }
.services-content #renovation .catalog-grid { grid-template-columns:1fr 1.12fr 1fr; }
.services-content .catalog-primary { grid-row:span 2; }
.services-content .catalog-group { border-top:1px solid var(--line); }
.catalog-group summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; cursor:pointer; padding:20px 0; }
.catalog-group summary::-webkit-details-marker { display:none; }
.catalog-group summary::marker { content:''; }
.services-content .catalog-group h3 { margin:0; font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-.015em; }
.catalog-toggle { width:16px; height:16px; color:var(--muted); }
.catalog-toggle-vertical { transform-origin:12px 12px; transition:transform .2s var(--ease); }
.catalog-group[open] .catalog-toggle-vertical { transform:scaleY(0); }
.services-content .catalog-group .catalog-links { margin:0; padding:0; list-style:none; }
.services-content .catalog-links li { min-width:0; }
.services-content .catalog-links a { display:flex; align-items:center; min-height:44px; padding:9px 0; font-size:15px; line-height:1.55; }
.services-content .catalog-links strong { font-weight:500; }
.services-content .catalog-links a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.services-content .catalog-overview { grid-column:1 / -1; }
.services-content .catalog-group-compact .catalog-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.services-content .catalog-primary .catalog-links a { min-height:52px; font-size:17px; border-bottom:1px solid var(--line); }
.services-content .catalog-primary .catalog-links li:last-child a { border:0; }
.services-content .catalog-note { max-width:340px; margin:16px 0 0; font-size:14px; line-height:1.7; }
.services-content .catalog-category:not(:first-child) { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,3.12fr); column-gap:48px; }
.services-content .catalog-category:not(:first-child) .catalog-title { font-size:clamp(27px,2.35vw,36px); max-width:300px; margin:0; }
.services-content #engineering .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.services-content .catalog-category:not(:first-child) .catalog-group { border:0; }
.services-content .catalog-category:not(:first-child) summary { padding-top:3px; }
.services-content .zhk-section { margin:24px 0 0; padding:64px 0; border-top:1px solid var(--line); scroll-margin-top:132px; }
.services-content .zhk-section .container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:72px; }
.services-section-intro h2 { max-width:430px; }
.services-content .services-section-intro p { max-width:440px; margin:0; font-size:15px; line-height:1.8; color:var(--muted); }
.services-content .zhk-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:28px; margin:0; padding:0; list-style:none; align-content:start; }
.zhk-list li { border-bottom:1px solid var(--line); }
.zhk-list a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:62px; font-size:17px; }
.zhk-list .icon { width:16px; height:16px; color:var(--muted); transition:transform .2s var(--ease); }
@media(hover:hover) { .zhk-list a:hover .icon { transform:translate(2px,-2px); } }
.services-content .land-benefits { margin:0; padding:64px 0 80px; }
.services-content .benefits-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:72px; }
.services-content .benefits-header { margin:0; }
.services-content .benefits-subtitle { font-size:15px; line-height:1.8; }
.services-content .benefits-grid { display:block; margin:0; padding:0; list-style:none; counter-reset:service-step; }
.services-content .benefit-card { position:relative; display:grid; grid-template-columns:minmax(140px,.9fr) minmax(0,1.4fr); gap:24px; margin:0; padding:24px 0 24px 44px; counter-increment:service-step; }
.services-content .benefit-card:first-child { padding-top:0; border-top:0; }
.services-content .benefit-card::before { content:counter(service-step,decimal-leading-zero); position:absolute; left:0; top:27px; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.services-content .benefit-card:first-child::before { top:3px; }
.services-content .benefit-card h3 { font-size:18px; font-weight:500; margin:0; }
.services-content .benefit-card p { font-size:14px; line-height:1.75; margin:0; color:var(--muted); }
.services-page .catalog-group { scroll-margin-top:132px; }
.services-page summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media(min-width:1600px) { .services-page .services-jump { justify-content:center; gap:52px; } }
@media(max-width:1200px) {
 .services-page .services-jump { gap:24px; }
 .services-jump a { font-size:13px; }
 .services-content .catalog-grid { column-gap:32px; }
 .services-content #renovation .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .services-content .catalog-primary { grid-row:auto; grid-column:1 / -1; }
 .services-content .catalog-primary .catalog-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
 .services-content .catalog-primary .catalog-links li:last-child a { border-bottom:1px solid var(--line); }
 .services-content .catalog-category:not(:first-child) { grid-template-columns:1fr; gap:32px; }
 .services-content .catalog-category:not(:first-child) .catalog-title { max-width:none; font-size:clamp(30px,3vw,44px); }
 .services-content .catalog-category:not(:first-child) .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .services-content #engineering .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .services-content .zhk-section .container,.services-content .benefits-layout { gap:48px; grid-template-columns:1fr 1.5fr; }
 .services-content .zhk-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .services-content .benefit-card { grid-template-columns:1fr; gap:12px; }
}
@media(max-width:900px) and (min-width:761px) {
 .services-page .services-jump { overflow-x:auto; }
 .services-content .catalog-category:not(:first-child) .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .services-page .service-hero { min-height:440px; }
 .services-page .service-hero h1 { font-size:clamp(34px,8.8vw,54px); }
 .services-page .services-jump { top:72px; gap:26px; overflow-x:auto; scrollbar-width:thin; }
 .services-jump a { min-height:60px; font-size:13px; }
 .services-page .services-content { padding-top:36px; }
 .services-content .catalog-category { padding:36px 0 40px; scroll-margin-top:96px; }
 .services-content .catalog-title,.services-content .catalog-category:not(:first-child) .catalog-title { font-size:30px; line-height:1.2; margin:0 0 24px; }
 .services-content #renovation .catalog-grid,.services-content .catalog-category:not(:first-child) .catalog-grid { display:block; }
 .services-content .catalog-category:not(:first-child) { display:block; }
 .services-content .catalog-group,.services-content .catalog-category:not(:first-child) .catalog-group { border-top:1px solid var(--line); }
 .catalog-group summary,.services-content .catalog-category:not(:first-child) summary { padding:19px 0; }
 .services-content .catalog-group h3 { font-size:17px; font-weight:500; }
 .services-content .catalog-group .catalog-links { padding-bottom:20px; }
 .services-content .catalog-primary .catalog-links { display:block; }
 .services-content .catalog-primary .catalog-links a,.services-content .catalog-primary .catalog-links li:last-child a { min-height:44px; border:0; font-size:16px; }
 .services-content .catalog-group-compact .catalog-links { column-gap:16px; }
 .services-content .catalog-links a { font-size:15px; }
 .services-content .catalog-note { margin:0 0 24px; }
 .services-content .zhk-section { margin:0; padding:40px 0 48px; scroll-margin-top:96px; }
 .services-content .zhk-section .container,.services-content .benefits-layout { grid-template-columns:1fr; gap:28px; }
 .services-content .services-section-intro h2,.services-content .land-benefits h2 { font-size:30px; line-height:1.2; margin:0 0 18px; }
 .services-content .zhk-list { gap:0 24px; }
 .zhk-list a { min-height:56px; font-size:16px; }
 .services-content .land-benefits { padding:40px 0 48px; }
 .services-content .benefits-subtitle { margin:0; }
 .services-content .benefit-card { padding:22px 0 22px 40px; gap:8px; }
 .services-content .benefit-card::before { top:25px; }
 .services-content .benefit-card h3 { font-size:18px; }
 .services-content .benefit-card p { font-size:15px; }
 .services-page .catalog-group { scroll-margin-top:96px; }
}
@media(prefers-reduced-motion:reduce) { .catalog-toggle-vertical,.zhk-list .icon { transition:none; } }
