/* Local polish of the three existing Open Design compositions, 23.10.2026.
   Shared reading axes; captions fill their panel; original article blocks remain intact.
   The school supplies fonts, navigation, H1 and classification outside this package. */
.koch-article-landing {
  --fg:#111; --muted:#555; --surface:#f4f4f2; --line:#d5d5d2;
  --font-display:'HelveticaNeueCyr','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-body:'MyriadPro','Myriad Pro','Segoe UI',Arial,sans-serif;
  --gutter:40px; --step-inset:88px;
  margin:0; padding:0; border:0; border-radius:0;
  background:#fff; color:var(--fg);
  font-family:var(--font-body); font-size:18px; line-height:1.6;
  text-align:left;
}
.koch-article-landing * { box-sizing:border-box; }
.koch-article-landing .ka-content { margin:0; padding:0; border:0; }
.koch-article-landing .ka-block { min-width:0; }
.koch-article-landing img { display:block; max-width:100%; border:0; border-radius:0; }
.koch-article-landing figure { margin:0; padding:0; border:0; }
.koch-article-landing p { margin:0; text-wrap:pretty; }
.koch-article-landing h2, .koch-article-landing h3 { margin:0; color:var(--fg); }
.koch-article-landing ul, .koch-article-landing ol { margin:0; padding:0; }
.koch-article-landing b, .koch-article-landing strong { font-weight:600; }
.koch-article-landing a, .koch-article-landing a:visited {
  color:inherit; text-decoration:underline; text-underline-offset:3px;
}
.koch-article-landing a:hover { color:#555; }
.koch-article-landing a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.koch-article-landing .hero {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  margin:0; padding:0; gap:0; border:0; background:var(--fg);
  text-align:left; align-items:stretch; min-height:0;
}
.koch-article-landing .hero-photo { min-width:0; overflow:hidden; }
.koch-article-landing .hero-photo img {
  width:100%; height:100%; max-height:none; aspect-ratio:4/3;
  margin:0; object-fit:cover; object-position:center;
}
.koch-article-landing .hero-panel {
  display:flex; align-items:center; padding:44px; color:#fff;
}
.koch-article-landing .hero-title {
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(26px,2.6vw,38px); line-height:1.13;
  letter-spacing:-.025em; text-wrap:balance; max-width:18ch;
}
.koch-article-landing .hero-teaser {
  margin-top:24px; font-size:20px; line-height:1.5; color:#dededb; max-width:32ch;
}
.koch-article-landing .sec { margin:0; padding:48px var(--gutter) 40px; border:0; }
.koch-article-landing .sec-head { border-top:2px solid var(--fg); padding-top:24px; margin-bottom:32px; }
.koch-article-landing .sec-head h2 {
  font-family:var(--font-display); font-size:clamp(26px,2.6vw,36px);
  font-weight:700; line-height:1.16; letter-spacing:-.025em;
}
.koch-article-landing .sec-intro .sec-head { border:0; padding-top:0; }
.koch-article-landing .sec-final { padding-bottom:64px; }
.koch-article-landing .prose { max-width:760px; min-width:0; overflow-wrap:break-word; }
.koch-article-landing .prose > :where(:not(:first-child)) { margin-top:22px; }
.koch-article-landing .prose.ka-after-visual { margin-top:36px; }
.koch-article-landing .prose.ka-after-steps { margin-top:30px; margin-left:var(--step-inset); max-width:672px; }
.koch-article-landing .prose h3 {
  font-family:var(--font-display); font-weight:700; font-size:25px;
  line-height:1.3; margin-top:40px; padding-top:26px; border-top:1px solid var(--line);
}
.koch-article-landing .brief-band {
  margin:32px 0; padding:30px 32px; background:var(--surface); border:0;
}
.koch-article-landing .brief-band p { max-width:900px; font-size:19px; line-height:1.6; }
.koch-article-landing .fig-card { margin-top:36px; width:100%; max-width:none; border:0; }
.koch-article-landing .fig-card figure {
  display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  align-items:stretch; gap:0; background:var(--surface);
}
.koch-article-landing .fig-card img { width:100%; height:auto; align-self:start; }
.koch-article-landing .fig-card figcaption {
  display:block; align-self:stretch; align-content:center;
  margin:0; padding:32px; border:0; background:var(--surface);
  font-size:18px; line-height:1.6; color:var(--muted); text-align:left;
}
.koch-article-landing figure.gal { margin-top:36px; }
.koch-article-landing .gal .ka-gallery { display:grid; gap:12px; background:transparent; border:0; }
.koch-article-landing .gal-3 .ka-gallery, .koch-article-landing .gal-6 .ka-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
.koch-article-landing .gal-2 .ka-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.koch-article-landing .gal-strip .ka-gallery { grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.koch-article-landing .gal .ka-gallery figure { min-width:0; }
.koch-article-landing .gal .ka-gallery img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#fff; }
.koch-article-landing .gal figcaption { margin:14px 0 0; padding:0; font-size:16px; line-height:1.55; color:var(--muted); max-width:760px; }
.koch-article-landing .quote-band { margin-top:40px; padding:36px 40px; background:var(--fg); color:#fff; }
.koch-article-landing .quote-band blockquote { margin:0; padding:0; border:0; max-width:920px; }
.koch-article-landing .quote-band p { font-family:var(--font-display); font-weight:700; font-size:25px; line-height:1.4; }
.koch-article-landing .quote-band a:hover { color:#ddd; }
.koch-article-landing .checklist, .koch-article-landing .comp-grid { margin-top:36px; }
.koch-article-landing .checklist ul, .koch-article-landing .comp-grid ul {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
  list-style:none; border:0; background:transparent; padding:0; margin:0;
}
.koch-article-landing .checklist ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
.koch-article-landing .checklist li, .koch-article-landing .comp-grid li {
  margin:0; padding:26px; background:var(--surface); border:0;
  font-size:17px; line-height:1.6; text-align:left; overflow-wrap:break-word;
}
.koch-article-landing .comp-grid li b { font-weight:600; }
.koch-article-landing .steps { margin-top:36px; max-width:760px; }
.koch-article-landing .steps ol { list-style:none; counter-reset:step; border-bottom:1px solid var(--line); padding:0; }
.koch-article-landing .steps li {
  position:relative; counter-increment:step; margin:0;
  padding:26px 0 28px var(--step-inset); border-top:1px solid var(--line);
  font-size:18px; line-height:1.6; text-align:left; overflow-wrap:break-word;
}
.koch-article-landing .steps li::before {
  content:counter(step,decimal-leading-zero); position:absolute; left:0; top:28px;
  font-family:var(--font-display); font-size:40px; font-weight:700; line-height:1;
  font-variant-numeric:tabular-nums; letter-spacing:-.03em;
}
.koch-article-landing .steps-cards { max-width:none; }
.koch-article-landing .steps-cards ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; border:0; }
.koch-article-landing .steps-cards li { padding:88px 0 0; border-top:2px solid var(--fg); }
.koch-article-landing .steps-cards li::before { top:24px; }
.koch-article-landing .warn-row, .koch-article-landing .split-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
.koch-article-landing .split-cols { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
.koch-article-landing .plate { margin:0; padding:28px; background:var(--surface); border:0; }
.koch-article-landing .plate p { font-size:18px; line-height:1.6; }
.koch-article-landing .fig-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:36px 0; border:0; }
.koch-article-landing .fig-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.koch-article-landing .uses { margin-top:32px; }
.koch-article-landing .uses ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; padding:0; list-style:none; }
.koch-article-landing .uses li { margin:0; padding:22px 0; border-top:1px solid var(--line); }
.koch-article-landing .uses li:last-child { grid-column:1 / -1; }
.koch-article-landing .tablewrap { margin-top:36px; overflow-x:auto; border:0; }
.koch-article-landing .tablewrap table { width:100%; min-width:640px; border-collapse:collapse; table-layout:fixed; margin:0; }
.koch-article-landing .tablewrap th, .koch-article-landing .tablewrap td {
  padding:22px 24px; vertical-align:top; text-align:left; border:0; border-bottom:1px solid var(--line);
  font-size:17px; line-height:1.5; overflow-wrap:break-word;
}
.koch-article-landing .tablewrap th { font-family:var(--font-display); font-weight:700; font-size:16px; text-transform:none; letter-spacing:0; background:var(--surface); }
.koch-article-landing .tablewrap td:first-child { font-weight:600; }
.koch-article-landing .tablewrap tr:last-child td { border-bottom:0; }
.koch-article-landing .chips { margin-top:32px; }
.koch-article-landing .chips ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; border:0; list-style:none; }
.koch-article-landing .chips li {
  margin:0; padding:24px 26px; min-width:0; min-height:80px;
  display:block; border:0; background:var(--surface); text-align:left;
  font-size:17px; line-height:1.5; overflow-wrap:break-word;
}
.koch-article-landing .chips a { display:inline; padding:0; color:var(--fg); }
.koch-article-landing .chips a:hover { color:#555; text-decoration-thickness:2px; }
.koch-article-landing .chips li:last-child:nth-child(odd), .koch-article-landing .comp-grid li:last-child:nth-child(odd) { grid-column:1 / -1; }
@media (max-width:1024px) {
  .koch-article-landing { --gutter:28px; }
  .koch-article-landing .hero-panel { padding:32px; }
  .koch-article-landing .hero-title { font-size:30px; }
  .koch-article-landing .hero-teaser { font-size:19px; }
  .koch-article-landing .fig-card figcaption { padding:26px; }
}
@media (max-width:820px) {
  .koch-article-landing { --gutter:24px; --step-inset:72px; }
  .koch-article-landing .hero { grid-template-columns:1fr; }
  .koch-article-landing .hero-photo img { height:auto; aspect-ratio:4/3; }
  .koch-article-landing .hero-panel { padding:32px; }
  .koch-article-landing .hero-title { max-width:24ch; }
  .koch-article-landing .hero-teaser { max-width:48ch; margin-top:18px; }
  .koch-article-landing .sec { padding-top:40px; padding-bottom:28px; }
  .koch-article-landing .sec-head { margin-bottom:26px; padding-top:22px; }
  .koch-article-landing .fig-card figure { grid-template-columns:1fr; }
  .koch-article-landing .fig-card figcaption { padding:24px; }
  .koch-article-landing .checklist ul { grid-template-columns:1fr; }
  .koch-article-landing .split-cols, .koch-article-landing .warn-row { grid-template-columns:1fr; gap:24px; }
  .koch-article-landing .quote-band { padding:30px; }
  .koch-article-landing .quote-band p { font-size:22px; }
  .koch-article-landing .steps li::before { font-size:34px; }
  .koch-article-landing .steps-cards ol { grid-template-columns:1fr; gap:0; }
  .koch-article-landing .steps-cards li { padding:26px 0 28px var(--step-inset); border-top:1px solid var(--line); }
  .koch-article-landing .steps-cards li::before { top:28px; }
  .koch-article-landing .prose.ka-after-steps { max-width:none; }
  .koch-article-landing .prose.ka-after-steps-cards { margin-left:var(--step-inset); max-width:none; }
}
@media (max-width:600px) {
  .koch-article-landing { --gutter:20px; --step-inset:52px; font-size:17px; }
  .koch-article-landing .hero-panel { padding:28px 24px 32px; }
  .koch-article-landing .hero-title { font-size:28px; }
  .koch-article-landing .hero-teaser { font-size:18px; }
  .koch-article-landing .sec { padding-top:36px; padding-bottom:24px; }
  .koch-article-landing .sec-head h2 { font-size:26px; }
  .koch-article-landing .brief-band { padding:24px; margin:28px 0; }
  .koch-article-landing .brief-band p, .koch-article-landing .plate p { font-size:17px; }
  .koch-article-landing .fig-card figcaption { font-size:17px; padding:22px; }
  .koch-article-landing .gal-3 .ka-gallery, .koch-article-landing .gal-2 .ka-gallery { grid-template-columns:1fr; }
  .koch-article-landing .gal-6 .ka-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .koch-article-landing .gal-strip .ka-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .koch-article-landing .gal-strip .ka-gallery figure, .koch-article-landing .gal-strip .ka-gallery figure:nth-child(5), .koch-article-landing .gal-strip .ka-gallery figure:nth-child(6), .koch-article-landing .gal-strip .ka-gallery figure:nth-child(7) { grid-column:auto; }
  .koch-article-landing .gal-strip .ka-gallery figure:last-child { grid-column:1 / -1; }
  .koch-article-landing .comp-grid ul, .koch-article-landing .uses ul, .koch-article-landing .chips ul, .koch-article-landing .fig-grid { grid-template-columns:1fr; }
  .koch-article-landing .checklist li, .koch-article-landing .comp-grid li, .koch-article-landing .chips li { padding:22px; }
  .koch-article-landing .steps li { font-size:17px; }
  .koch-article-landing .steps li::before { font-size:28px; top:29px; }
  .koch-article-landing .quote-band { padding:26px 24px; }
  .koch-article-landing .quote-band p { font-size:21px; }
  .koch-article-landing .prose.ka-after-steps { margin-top:26px; }
  .koch-article-landing .sec-final { padding-bottom:40px; }
}
