
.case h1{margin:var(--s5) 0 0;font:300 clamp(34px,4.6vw,56px)/1.08 var(--f-display);letter-spacing:-.03em;max-width:22ch;text-wrap:balance}
.case .back{font:400 12px var(--f-mono);color:var(--muted);text-decoration:none}
.case .back:hover{color:var(--fg)}
.cmeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line)}
.cmeta div{display:grid;gap:4px;font-size:15px;min-width:0}
.cmeta .mono{color:var(--muted)}
.ccover{margin-top:var(--s6);aspect-ratio:3/1;max-width:100%;background:var(--surface);border-radius:4px;position:relative}
.ccover .mono{position:absolute;left:16px;bottom:12px;color:var(--muted)}
.chap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s6);padding-block:var(--s5);border-top:1px solid var(--line)}
.chap:first-of-type{margin-top:var(--s7)}
.chap h2{margin:0;font:400 13px/1.6 var(--f-mono);color:var(--spec-text)}
.chap p,.chap ul{margin:0;font-size:17px;line-height:1.6;max-width:62ch}
.chap ul{padding-left:1.1em}
.chap>div>p+p,.chap>div>p+ol,.chap>div>p+figure,.chap>div>ul+figure{margin-top:var(--s4)}
.steps{margin:0;padding:0;list-style:none;counter-reset:st;display:grid;gap:0;max-width:62ch}
.steps li{counter-increment:st;display:grid;grid-template-columns:40px 1fr;padding-block:10px;border-bottom:1px solid var(--line);font-size:16px}
.steps li:first-child{border-top:1px solid var(--line)}
.steps li::before{content:counter(st,decimal-leading-zero);font:400 12px/1.9 var(--f-mono);color:var(--muted)}
figure{margin:0}
.ccover:has(img){aspect-ratio:auto}
.ccover img,.cfig img{height:auto!important;object-fit:contain!important}
.cfig img{display:block;width:100%;border-radius:4px;background:var(--surface)}
.cfig figcaption{margin-top:var(--s2);color:var(--muted)}
@media (max-width:820px){.cmeta{grid-template-columns:1fr 1fr}.chap{grid-template-columns:1fr;gap:var(--s2)}}

/* images: same radius as sheets */
:root{--r-card:clamp(20px,4vw,48px)}
.sheet{border-radius:var(--r-card)}
.ccover,.cfig img{border-radius:var(--r-card)!important;overflow:hidden}
.cfig{margin-top:var(--s5)}
.cert{max-width:320px}
.cert img{border:1px solid var(--line)}
.chap>div>ul+figure{margin-top:var(--s5)}
.chap li+li{margin-top:6px}
/* plan: как «Путь» на главной */
.chap.wide{grid-template-columns:200px minmax(0,1fr)}
.plan{margin-top:var(--s6);display:grid;--lab:280px}
.pl-head,.pl-row{display:grid;grid-template-columns:var(--lab) repeat(11,minmax(0,1fr));column-gap:0;align-items:center}
.pl-head{height:28px;font:400 11px var(--f-mono);color:var(--muted)}
.pl-head span{text-align:center}
.plan{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/11)) var(--lab) 0/calc(100% - var(--lab)) 100% no-repeat}
.pl-row{min-height:52px;border-top:1px solid var(--line)}
.pl-lab{grid-column:1;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;padding-block:8px;padding-right:16px;align-content:center}
.pl-n{font:400 11px/1.9 var(--f-mono);color:var(--muted);grid-row:1/3}
.pl-lab b{font:500 15px/1.25 var(--f-display)}
.pl-t{grid-column:2;font-size:13px;line-height:1.35;color:var(--muted)}
.pl-bar{grid-row:1;height:12px;margin-inline:3px;border-radius:3px;background:var(--fg)}
.pl-row.par .pl-bar{background:color-mix(in srgb,var(--muted) 55%,var(--bg))}
.pl-row.now .pl-bar{background:var(--accent-fill);margin-right:0;border-radius:3px 0 0 3px}
.g-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:var(--s5);font:400 11px var(--f-mono);color:var(--muted)}
.g-legend i{display:inline-block;width:18px;height:8px;border-radius:2px;margin-right:6px;vertical-align:0}
@media (max-width:1000px){.chap.wide{grid-template-columns:1fr;gap:var(--s2)}}
@media (max-width:640px){
  .plan{background:none;position:relative;padding-left:24px}
  .plan::before{content:"";position:absolute;left:3px;top:10px;bottom:10px;width:1px;background:var(--fg)}
  .pl-head,.pl-bar,.g-legend{display:none}
  .pl-row{display:block;border-top:0;min-height:0;position:relative}
  .pl-row::before{content:"";position:absolute;left:-24px;top:13px;width:7px;height:7px;box-sizing:border-box;border-radius:50%;background:var(--bg);border:1px solid var(--fg);z-index:1}
  .pl-row.par::before{border-style:dashed}
  .pl-row.now::before{background:var(--accent-fill);border-color:var(--accent-fill)}
  .pl-lab{padding-right:0}
}

.ckpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5);margin-top:var(--s6)}
.ckpis .kpi{display:grid;gap:6px;align-content:start;border-top:1px solid var(--fg);padding-top:var(--s3)}
.ckpis .kpi b{font:300 clamp(30px,3.4vw,44px)/1 var(--f-display);letter-spacing:-.03em;white-space:nowrap}
.ckpis .kpi span{font-size:14px;line-height:1.4;color:var(--muted)}
.chap h3{margin:var(--s6) 0 var(--s2);font:400 19px/1.3 var(--f-display);letter-spacing:-.01em}
.chap code{font:400 .82em var(--f-mono);background:var(--surface);padding:1px 5px;border-radius:3px;white-space:nowrap}
.chap .links{display:flex;flex-wrap:wrap;gap:8px 20px}
.chap>div>*+.links{margin-top:var(--s4)}
.chap>div>h3+p{margin-top:0}
.cfig.slide img{box-sizing:border-box;padding:clamp(10px,2.4vw,28px);background:#005FD0}
.cert img{box-sizing:border-box;padding:clamp(8px,1.6vw,16px);background:#fff}
@media (max-width:820px){.ckpis{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.chap code{white-space:normal;overflow-wrap:anywhere}}
