
.entry.pic.blog-card{grid-template-columns:minmax(0,3fr) minmax(0,5fr);column-gap:32px}
.entry.pic.blog-card figure{grid-column:1;grid-row:1}
.entry.pic.blog-card .thumb{grid-column:auto;grid-row:auto;aspect-ratio:3/2}
.entry.pic.blog-card figcaption{font-size:12px;color:var(--grey);margin-top:8px}
.blog-copy{grid-column:2;grid-row:1}
.blog-date{font-size:14px;color:var(--grey);margin-bottom:14px}
.blog-copy h2{font-size:clamp(23px,1.9vw,28px);line-height:1.18;letter-spacing:-.025em;max-width:28ch;text-wrap:pretty}
.blog-summary{font-size:17px;line-height:1.5;margin-top:18px;max-width:40ch;color:var(--grey)}
.blog-read{display:inline-block;margin-top:24px;font-size:17px;font-weight:500;text-decoration:underline;text-underline-offset:5px}
#blog.sec.page{padding-bottom:32px}
@media(max-width:900px){.entry.pic.blog-card{grid-template-columns:1fr;row-gap:20px}.entry.pic.blog-card figure,.blog-copy{grid-column:1;grid-row:auto}.entry.pic.blog-card .thumb{margin-bottom:0}.blog-copy h2{font-size:25px}}

.entry.pic.blog-card .cr{display:block;font-size:12px;color:var(--grey);margin-top:8px}

:root{--paper:#F5F6F7;--ink:#141A1D;--grey:#566169;--rule:#C3CBD0;--pine:#A51C30;--pine-d:#821625;--on:#FFFFFF;--hover:#E9ECEE}
/* Instrument Sans (SIL Open Font License 1.1), served from this site: the same look on every device and no request
   to a font service (Pavel chose it on 11.10.2026 over the system Helvetica Neue). One variable file per subset holds
   the weights 400 to 700. The licence is at /licenses/instrument-sans-ofl.txt */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("/fonts/instrument-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("/fonts/instrument-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("/fonts/instrument-sans-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("/fonts/instrument-sans-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 "Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,p,figure,ul,ol,dl,dd,dt{margin:0;padding:0}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--paper);padding:8px 12px;z-index:5}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.mast{padding-top:clamp(18px,2.4vw,36px)}
.mast-top{align-items:end;row-gap:clamp(8px,1vw,14px)}
.wm{grid-column:1/10;display:block;text-decoration:none}
.wm svg{display:block;width:100%;height:auto;overflow:visible}
.tag{grid-column:1/-1;font-size:clamp(14px,1.35vw,20px);line-height:1.3}
/* Sparse Geiger-counter pulses: one signal, then a short pair, with long quiet intervals. */
.dose-signal{animation:dose-signal 9s linear infinite}
@keyframes dose-signal{0%,7.9%,9.6%,36.9%,38.6%,40.4%,42.1%,75.9%,77.6%,100%{opacity:1}8%,8.5%,37%,37.5%,40.5%,41%,76%,76.5%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.dose-signal{animation:none}}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px clamp(20px,2.6vw,40px);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);margin-top:clamp(16px,2vw,28px);padding-block:10px;font-size:clamp(15px,1.3vw,19px)}
.nav a{text-decoration:none;white-space:nowrap}
.nav a:hover{text-decoration:underline}
.mast.compact .wm{grid-column:1/5}
.mast.compact .tag{font-size:14px}
.btn{display:inline-flex;align-items:center;min-height:50px;padding:12px 24px;border:1px solid var(--pine);border-radius:2px;background:var(--pine);color:var(--on);font-weight:500;font-size:16px;line-height:1.2;text-decoration:none}
.btn:hover{background:var(--pine-d);border-color:var(--pine-d);text-decoration:none}
.btn.line{background:transparent;color:var(--pine);border-color:var(--pine)}
.btn.line:hover{background:#F8E8EC}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.contact-actions a{display:inline-block;padding-block:7px;font-size:20px;line-height:1.5}
.sec#contact{align-items:center}
.sec#contact .body{margin-top:0}
@media(max-width:900px){.sec#contact .body{margin-top:32px}}
.ic{width:32px;height:32px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.tile{background:var(--paper);padding:24px 24px 28px}
.tile:last-child:nth-child(odd){grid-column:1/3}
.tile .ic{color:var(--pine-d);margin-bottom:18px}
.tile h3,.card h3{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
.tile p,.card p{margin-top:8px;color:var(--grey);font-size:16px;line-height:1.45}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--pine);padding:22px 24px 26px}
.card .n{display:block;margin-bottom:22px;color:var(--grey);font-size:13px;font-weight:700;letter-spacing:.1em}
.getbox{margin-top:16px;background:var(--ink);color:var(--paper);padding:28px 28px 32px}
.getbox h3{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pine)}
.getbox ul{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.getbox li{font-size:17px;line-height:1.4}
.getbox .ic{display:block;color:var(--pine);margin-bottom:12px;stroke-width:2}
.swbox{background:#DDEEFB;padding:32px 32px 36px}
.swbox p{font-size:18px;line-height:1.45;max-width:44ch}
.swbox p+p{margin-top:12px}
.swbox .big{font-size:clamp(22px,2.2vw,30px);line-height:1.2;font-weight:500;letter-spacing:-.02em;max-width:22ch;margin-bottom:20px}
.swbox .go{margin-top:26px}
@media(max-width:900px){.tiles,.cards{grid-template-columns:1fr}.tile:last-child:nth-child(odd){grid-column:auto}
.tile{display:grid;grid-template-columns:32px 1fr;column-gap:16px;padding:20px 18px 22px}.tile .ic{grid-row:1/3;margin:2px 0 0}.tile p{grid-column:2}
.card .n{margin-bottom:12px}
.getbox{padding:24px 20px 26px}.getbox ul{grid-template-columns:1fr;gap:18px}.getbox li{display:grid;grid-template-columns:24px 1fr;column-gap:14px}.getbox .ic{width:24px;height:24px;margin:0}
.swbox{padding:24px 20px 28px}}
.band.over.q{margin-bottom:clamp(48px,6vw,96px)}
.prose .band.over.q{margin:clamp(40px,5vw,72px) 0 clamp(32px,4vw,56px);max-width:none}
.prose .band.over.q img{margin:0;mix-blend-mode:normal;display:block}
.prose .band.over.q figcaption{margin:0;max-width:none;top:clamp(16px,2.2vw,30px);left:clamp(18px,2.4vw,34px)}
.prose .band.over.q .qt{font-size:clamp(21px,2.3vw,32px);margin:0;max-width:19ch;color:#fff}
.prose .band.over.q .qs{margin:clamp(8px,1vw,14px) 0 0;color:#fff;font-size:clamp(13px,1.1vw,16px);max-width:none}
.band.over.q img{aspect-ratio:16/9;object-position:50% 100%}
.band.over.q::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,16,.72) 0%,rgba(10,14,16,.35) 45%,rgba(10,14,16,0) 70%)}
.band.over.q figcaption{top:clamp(18px,3.4vw,52px);bottom:auto;right:clamp(18px,3vw,44px)}
.qt{color:#fff;font-size:clamp(24px,3.9vw,56px);line-height:1.08;font-weight:500;letter-spacing:-.03em;max-width:18ch}
.qs{margin-top:clamp(10px,1.2vw,18px);color:#fff;opacity:.85;font-size:clamp(13px,1.1vw,16px)}
@media(max-width:900px){.band.over.q img{aspect-ratio:4/5;object-position:45% 100%}}
.svl{list-style:none;margin:0;padding:0}
.svl li:first-child{padding-top:0}
.svl li:last-child{border-bottom:0;padding-bottom:0}
.svl li{display:grid;grid-template-columns:138px minmax(0,5fr) minmax(0,4fr);column-gap:32px;align-items:start;padding-block:26px;border-bottom:1px solid var(--rule)}
.svl .g{padding-top:6px}
.svl h3{font-size:clamp(20px,1.9vw,26px);line-height:1.18;font-weight:500;letter-spacing:-.02em}
.svl p{color:var(--grey);font-size:17px;line-height:1.45;padding-top:3px}
.getl{margin-top:44px;display:grid;grid-template-columns:138px minmax(0,1fr);column-gap:32px}
.getl h3{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);padding-top:4px}
.getl ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.getl li{position:relative;padding-top:20px;font-size:17px;line-height:1.4}
.getl li::before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;background:var(--pine)}
@media(max-width:900px){.svl li{grid-template-columns:1fr;row-gap:10px;padding-block:22px}.svl li:first-child{padding-top:0}.svl li:last-child{padding-bottom:0}.svl .g{padding-top:0;margin-bottom:4px}.svl p{padding-top:0}
.getl{grid-template-columns:1fr;row-gap:16px;margin-top:32px}.getl ul{grid-template-columns:1fr;gap:16px}.getl li{padding:0 0 0 22px}.getl li::before{top:8px}}
.sw{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:48px;align-items:start}
.sw p{font-size:18px;line-height:1.45}
.sw p+p{margin-top:12px}
.sw .big{font-size:clamp(22px,2.2vw,30px);line-height:1.2;font-weight:500;letter-spacing:-.02em;margin-bottom:20px}
.sw .go{margin-top:26px;font-weight:500}
.sw .swhd{grid-column:1/-1;margin-bottom:clamp(32px,3.4vw,48px)}
.sw .big{font-size:clamp(20px,1.75vw,25px);line-height:1.3;max-width:50ch;margin-bottom:20px}
.swl{list-style:none;margin:0;padding:0;font-size:18px;line-height:1.45}
.swl li{position:relative;padding-left:22px}
.swl li+li{margin-top:6px}
.swl li::before{content:"";position:absolute;left:0;top:.52em;width:9px;height:9px;background:var(--ink)}
.ix .big{font-size:clamp(20px,1.75vw,25px);line-height:1.3;font-weight:500;letter-spacing:-.02em;margin-bottom:20px}
.sw .swh{font-size:18px;line-height:1.45;font-weight:700;letter-spacing:0}
.sw .swh+p{margin-top:4px}
.gl dt[id]{scroll-margin-top:24px}
.gl .gsrc{margin-top:14px;font-size:15px;line-height:1.5}
.gl .gsrc p+p{margin-top:3px}
.gl .gsrc .gsrc-l{font-weight:700}
.swf{margin:0}.swf .rep{display:block;width:100%;height:auto}
#software .sw{grid-template-columns:minmax(0,1fr)}
#software .lab .swf{max-width:420px}
@media(max-width:900px){#software .lab{order:2;margin-top:36px}#software .body{margin-top:0}}
.swf figcaption{margin-top:12px;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
@media(max-width:900px){.sw{grid-template-columns:1fr;row-gap:32px}.sw .swhd{margin-bottom:0}}
.sec.crf{padding-block:clamp(36px,4vw,56px) clamp(40px,4.4vw,64px)}
.crg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,22px)}
.crg.n4,.crg.n6{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.crg.n4 .cp,.crg.n6 .cp{flex-direction:row;align-items:center;gap:clamp(18px,2.2vw,30px)}
.cp{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0;border:1px solid rgba(20,26,29,.22);padding:clamp(22px,2.4vw,30px)}
.cp .em{flex:none;width:clamp(84px,8.4vw,112px);height:auto;color:#5A666D}
.cb{display:flex;flex-direction:column;gap:12px;min-width:0}
.cb p{font-size:16px;line-height:1.35;font-variant-numeric:tabular-nums;text-wrap:pretty}
.cl-l{display:block;margin-bottom:2px;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
@media(max-width:900px){.crg,.crg.n4,.crg.n6{grid-template-columns:minmax(0,1fr)}.cp .em{width:74px}.cp{flex-direction:row;align-items:center;padding:20px 18px;gap:18px}.cb p{font-size:15px}}
.audience{list-style:none;margin:0;padding:0;font-size:clamp(20px,1.9vw,26px);line-height:1.3;font-weight:500;letter-spacing:-.02em}
.audience li{position:relative;padding-left:24px}
.audience li+li{margin-top:20px}
.audience li::before{content:"";position:absolute;left:0;top:.53em;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.svl.ar .ic{display:block;color:var(--pine-d)}
.svl.ar .g{padding-top:0}
.svl.ar li{grid-template-columns:72px minmax(0,1fr);align-items:center;padding-block:20px}
@media(max-width:900px){.svl.ar li{grid-template-columns:74px minmax(0,1fr);column-gap:16px;padding-block:16px}.svl.ar .g{margin:0}.svl.ar .gl{display:block;width:48px;height:auto}}
.fk{margin:40px 0 8px}
.fk>figcaption{font-weight:700;margin-bottom:6px}
.fk ul{list-style:none;margin:0;padding:0}
.fk li{display:grid;grid-template-columns:168px minmax(0,1fr);column-gap:24px;align-items:start;padding-block:20px;border-top:1px solid var(--rule)}
.fk li:first-child{border-top:0}
.fk img{width:100%;height:auto;display:block}
.fk li p{font-size:15px;line-height:1.45;margin:0}
.fk li .kicker{margin-bottom:6px}
.fk .fc{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:var(--grey)}
@media(max-width:640px){.fk li{grid-template-columns:104px minmax(0,1fr);column-gap:16px}}
@media(min-width:901px){.svl:not(.ar) li{grid-template-columns:138px minmax(0,1fr);align-items:center}}
.gl dd p+p{margin-top:14px}
.gl dd+dt{margin-top:30px}
.btn.s{min-height:40px;padding:8px 18px;font-size:15px}
.kicker{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.kicker a{text-decoration:none}
.quiet{color:var(--grey)}
.hero{padding-block:clamp(40px,5.5vw,80px) clamp(40px,5vw,72px);align-items:start}
.hero .kicker{grid-column:1/-1;margin-bottom:clamp(20px,2.4vw,32px)}
.hero h1{grid-column:1/11;font-size:clamp(34px,4.5vw,64px);line-height:1.04;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.hero .side{grid-column:8/13;padding-top:.6vw}
.lead{font-size:20px;line-height:1.45}
.lead+.lead{margin-top:18px}
.acts{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(28px,3vw,44px)}
.plate{background:var(--hover);display:flex;justify-content:center;align-items:center;padding:clamp(24px,4vw,64px);margin-bottom:clamp(56px,7vw,112px)}
.plate img{width:min(100%,880px)}
.plate.band{margin-bottom:40px;padding:clamp(20px,3vw,40px)}
.plate.band img{width:100%}
.schema{margin-bottom:clamp(48px,6vw,96px)}
.say{max-width:20em;padding-block:clamp(72px,11vw,176px);font-size:clamp(30px,4.4vw,60px);line-height:1.08;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.say.top{padding-block:clamp(56px,7vw,104px) clamp(24px,3vw,40px)}
.say-n{display:block;margin-top:22px;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0;color:var(--grey)}
.schema-c{position:relative;height:clamp(340px,34vw,440px)}
.schema-c canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.schema-l{position:relative;height:22px;margin-top:8px;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.schema-l span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.band{margin-bottom:0}
.band.over{grid-column:1/-1;position:relative}
.band.over img{width:100%;aspect-ratio:16/7;object-fit:cover}
.band.over figcaption{position:absolute;left:clamp(18px,3vw,44px);top:clamp(16px,2.8vw,40px)}
.band.over::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,16,.5) 0%,rgba(10,14,16,.22) 34%,rgba(10,14,16,0) 58%)}
.band.over h1{color:#fff;font-size:clamp(30px,5.2vw,76px);line-height:1;font-weight:500;letter-spacing:-.035em}
.mrows{grid-column:1/-1;margin-top:40px}
.mrows>.row{grid-template-columns:repeat(12,minmax(0,1fr))}
.mrows>.row>.k{grid-column:1/5}
.mrows>.row>.v{grid-column:5/13}
.band img{width:100%}
.sec{border-top:1px solid var(--ink);padding-block:clamp(36px,4vw,56px) clamp(64px,7vw,112px)}
.sec#contact{padding-block:56px}
.sec#credentials{padding-block:48px}
.crg .cp{border-color:var(--ink)}
@media(min-width:901px){.crg.n4 .cp,.crg.n6 .cp{gap:22px;padding-inline:26px}}
.crg .cp .em{color:var(--ink)}
.crg .cl-l{color:var(--ink)}
.sec#benchmark{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
.sec#benchmark .lab{grid-column:1/5;min-width:0}
.sec#benchmark .body{grid-column:5/13;min-width:0}
.sec#benchmark .big,.sec#benchmark .swl{max-width:62ch}
.sec#benchmark .soon{margin-top:48px}
.sec#benchmark h2{max-width:18ch;font-size:clamp(28px,2.5vw,36px);line-height:1.12;text-wrap:balance}
@media(max-width:900px){.sec#benchmark{grid-template-columns:minmax(0,1fr)}.sec#benchmark .lab,.sec#benchmark .body{grid-column:1}.sec#benchmark h2{max-width:none}}
.sec.page{border-top:0;padding-top:clamp(40px,5vw,72px)}
.sec .lab h1{font-size:clamp(28px,2.7vw,38px);line-height:1.1;font-weight:500;letter-spacing:-.025em}
.sec .lab{grid-column:1/5}
.sec .body{grid-column:5/13}
h2{font-size:clamp(28px,2.7vw,38px);line-height:1.1;font-weight:500;letter-spacing:-.025em}
.sub{color:var(--grey);margin-top:12px;max-width:26ch}
.lab h2 a{text-decoration:none}
.lab h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
h3{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.01em}
.row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:32px;padding-block:24px;border-top:1px solid var(--rule)}
.row:first-child{border-top:0;padding-top:0}
.row:last-child{padding-bottom:0}
.row>.k{grid-column:1/4}
.row>.v{grid-column:4/9}
.row>.v.end{align-self:center}
.row>.k.quiet{align-self:center}
.cl .row{padding-block:15px}
.cl .k{color:var(--grey)}
.cl.nm .k{color:var(--ink);font-weight:700}
.soon{display:table;margin:16px 0 0;padding:8px 14px;background:var(--pine);color:var(--on);font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pt p{font-size:20px;line-height:1.45}
.pt p+p{margin-top:14px}
.wyg{margin:40px 0 16px}
.btn.ib{gap:10px}
.ics{display:flex;gap:22px;align-items:center}
.ic{display:inline-flex;color:var(--ink);text-decoration:none}
.ic:hover{color:var(--grey)}
.row:first-of-type{border-top:0;padding-top:0}
.v p+p{margin-top:14px}
.pl li{position:relative;padding-left:1.25em}
.pl li::before{content:"\2013";position:absolute;left:0;color:var(--grey)}
.pl li+li{margin-top:12px}
.gap{margin-top:20px}
.fig{margin-top:32px}
.fig .kicker{margin-bottom:18px}
.ft.mid{margin-block:24px}
.ft.thanks{margin-top:24px}
.strip{display:block;width:100%;height:40px;margin-top:12px}
.gl dt{font-weight:700}
.gl dd{margin-top:2px}
.gl dd+dt{margin-top:20px}
.gl.st dd+dt{margin-top:14px}
.entry{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:32px;text-decoration:none;align-items:start}
.entry+.entry{margin-top:40px}
.entry.pic{grid-template-rows:auto auto 1fr}
.entry.pic .thumb{grid-column:1/4;grid-row:1/4;width:100%;aspect-ratio:3/2;object-fit:cover}
.entry.pic .t,.entry.pic .m{grid-column:4/8}
.entry .t{grid-column:1/8;font-size:clamp(24px,2.4vw,34px);line-height:1.15;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.entry .ar{grid-column:8/9;justify-self:end;font-size:36px;line-height:1;font-weight:300}
.entry .m{grid-column:1/8;margin-top:16px;font-size:15px;color:var(--grey)}
.entry .cr{grid-column:1/8;margin-top:6px;font-size:12px;line-height:1.4;color:var(--grey)}
.entry.pic .cr{grid-column:4/8}
.entry:hover{text-decoration:none}
.entry:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
.av{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;object-fit:cover;background:var(--hover);color:var(--grey);font-size:30px;line-height:1;font-weight:500;letter-spacing:-.02em;margin-bottom:18px}
.av.none{background:transparent;border:1px dashed var(--grey)}
.person .n{font-weight:700}
.person .n.quiet{font-weight:500}
.person .r{color:var(--grey)}
.join{margin-top:40px;padding:28px 32px;background:var(--ink);color:var(--on);font-size:18px;line-height:1.45;display:flex;flex-direction:column;gap:12px;overflow-wrap:anywhere}
.join>span:first-child{font-size:clamp(20px,2vw,26px);line-height:1.2;font-weight:500}
.join a{color:var(--on);text-decoration:underline;text-underline-offset:4px}
.join a:focus-visible{outline-color:var(--on)}
.foot .in{display:flex;gap:8px 28px;flex-wrap:wrap;padding-block:12px 48px;font-size:15px;color:var(--grey);border-top:1px solid var(--ink)}
.art{padding-block:clamp(40px,5vw,72px) clamp(64px,8vw,120px);align-items:start}
.art .meta{grid-column:1/4;position:sticky;top:24px}
/* date, author, DOI, code: the small tight print of a journal imprint; only the language link is a step larger (Pavel, 11.10.2026) */
.art .meta .kicker{margin-bottom:10px}
.art .meta .m{font-size:11.5px;line-height:1.5;letter-spacing:.01em;color:var(--grey);margin-top:0;overflow-wrap:anywhere}
.art .meta .m a{text-decoration-thickness:1px;text-underline-offset:2px}
.art .meta .m.lng{font-size:13.5px;margin-top:12px}
.art .main{grid-column:4/13;min-width:0}
.art h1{font-size:clamp(34px,4.2vw,58px);line-height:1.04;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.art h1 .last{white-space:nowrap}
.art h1 .signal-square{width:.2em;height:.2em;margin:0 0 0 .2em;vertical-align:.02em;animation-delay:-5s}
.stand{font-size:22px;line-height:1.4;margin-top:24px;max-width:38em}
.lead{margin-top:36px;max-width:44em}
.lead img{width:100%;height:auto}
.lead figcaption{margin-top:10px;font-size:15px;line-height:1.4}
.lead .fc{display:block;margin-top:3px;font-size:13px;color:var(--grey);overflow-wrap:anywhere}
.prose{margin-top:40px;max-width:44em}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:30px;line-height:1.15;margin-top:.3em}
.prose .sec-k{margin-top:3.4em}
.prose h3{margin-top:2.2em}
.prose h4{font-size:18px;margin:1.8em 0 0}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}
.prose li+li{margin-top:.5em}
.prose blockquote{margin:1.6em 0;padding-left:22px;border-left:2px solid var(--ink);font-size:20px;line-height:1.45}
.prose blockquote p+p{margin-top:.8em}
.prose blockquote footer{margin-top:12px;font-size:15px;color:var(--grey)}
.prose img{margin-block:1.6em;mix-blend-mode:multiply}
.prose .src{font-size:15px;line-height:1.4;color:var(--grey);margin-top:-.9em}
.prose .src.pc{margin-top:2.4em;font-size:13px}
.prose .src.vid{margin-top:1.1em}
.prose .fg{margin-block:1.8em}
.prose .fg img{margin:0}
.prose .fg figcaption{margin-top:10px;font-size:15px;line-height:1.4}
.prose .fg .fc{display:block;margin-top:3px;font-size:13px;color:var(--grey);overflow-wrap:anywhere}
.prose .tw{position:relative;margin-block:1.6em;max-width:100%}
.prose .tws{overflow-x:auto}
.prose .tw::after{content:"";position:absolute;top:0;right:0;bottom:0;width:22px;pointer-events:none;opacity:0;transition:opacity .15s;background:linear-gradient(to left,rgba(20,26,29,.14),rgba(20,26,29,0))}
.prose .tw.more::after{opacity:1}
.prose .tf{margin-block:1.6em}
.prose .tf figcaption{font-size:15px;line-height:1.4;font-weight:700}
.prose .tf .tw{margin-block:10px 0}
.prose table{border-collapse:collapse;font-size:15px;line-height:1.4;min-width:100%}
.prose th,.prose td{text-align:left;vertical-align:top;padding:9px 14px 9px 0;border-bottom:1px solid var(--rule)}
.prose th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);border-bottom:1px solid var(--ink);font-weight:700}
.prose td[align=right],.prose th[align=right]{text-align:right;padding:9px 0 9px 14px;font-variant-numeric:tabular-nums;white-space:nowrap}
/* a number column that stands before a text column: without this gap the number sticks to the text ("7jf-archiv.de") */
.prose td[align=right]+td:not([align=right]),.prose th[align=right]+th:not([align=right]){padding-left:18px}
.prose td[align=right]:first-child,.prose th[align=right]:first-child{padding-left:0}
.mail-copied{display:inline-block;margin-left:10px;font-size:13px;line-height:1.3;font-weight:400;letter-spacing:0;text-transform:none;color:inherit;opacity:.8;user-select:all}
.prose sup.fn{font-size:.7em;line-height:0}
.prose sup.fn a{text-decoration:none;padding:0 1px}
.prose .refs{font-size:15px;overflow-wrap:anywhere}
.prose.legal h1{font-size:clamp(30px,3.4vw,44px);margin-bottom:.6em}
.prose.legal h2{font-size:24px;margin-top:2em}
.prose.legal h3{font-size:19px}
.prose.legal{margin-top:0;overflow-wrap:anywhere}
@media (max-width:900px){
body{font-size:17px}
.g,.row,.entry{grid-template-columns:minmax(0,1fr)}
.wm,.tag,.mast.compact .wm,.mast.compact .tag,.hero h1,.hero .side,.sec .lab,.sec .body,.row>.k,.row>.v,.entry .t,.entry .m,.entry.pic .t,.entry.pic .m,.entry .cr,.entry.pic .cr,.entry.pic .thumb,.art .meta,.art .main{grid-column:1/-1}
.entry.pic{grid-template-rows:none}
.entry.pic .thumb{grid-row:auto;margin-bottom:20px}
.hero .side{margin-top:28px}
.tag,.mast.compact .tag{font-size:min(14px,3.25vw)}  /* the line under the logo stays on ONE line on a phone in Instrument Sans, on the home page and on the inner pages */
.mast.compact .wm{max-width:260px}
.nav{flex-wrap:nowrap;gap:0 8px;justify-content:space-between;font-size:clamp(14px,3.8vw,16px)}
.acts{flex-direction:column;align-items:stretch}
.acts .btn{justify-content:center}
.people{grid-template-columns:minmax(0,1fr);row-gap:22px}
.person{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:18px;align-items:center}
.av{width:72px;height:72px;font-size:20px;margin:0;grid-row:1/3}
.person .n{align-self:end}
.person .r{align-self:start}
.cl .row{padding-block:12px}
.cl .row>.v{margin-top:2px}
.sec .body{margin-top:32px}
.mrows>.row{grid-template-columns:minmax(0,1fr)}
.band.over img{aspect-ratio:4/3;object-position:62% 50%}
.mrows>.row>.k,.mrows>.row>.v{grid-column:1/-1}
.row>.v{margin-top:10px}
.entry .ar{display:none}
.art .meta{position:static;margin-bottom:32px}
.sub{max-width:none}
.strip{height:32px}
.schema-c{height:760px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A moving editorial diagram of a data void. No external fonts or dependencies. */
.data-void{--dv-ink:#141A1D;--dv-blue:#AD1635;--dv-muted:#566169;width:100%;min-width:0;margin:0;color:var(--dv-ink);font-family:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;contain:layout style}
.dv-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--dv-ink);padding-top:10px;font-size:10px;line-height:1.3;letter-spacing:.055em;text-transform:uppercase;color:var(--dv-muted)}
.dv-state{display:flex;align-items:center;gap:6px;white-space:nowrap}
.dv-state i{display:block;width:5px;height:5px;flex:none;background:var(--dv-blue)}
.dv-display{width:100%;margin-top:11px;overflow:hidden}
.dv-scene{display:block;width:100%;height:auto;overflow:hidden}
.dv-rule{fill:none;stroke:#141A1D;stroke-opacity:.1;stroke-width:1}
.dv-label{font-size:9px;font-weight:500;letter-spacing:1px;fill:#89949B}
.dv-query-label{font-size:17px;font-weight:500;letter-spacing:-.3px;fill:#141A1D}
.dv-bracket{fill:none;stroke:#AD1635;stroke-width:2}
.dv-void-title{font-size:24px;font-weight:500;letter-spacing:-.6px;fill:#141A1D}
.dv-void-note{font-size:12px;fill:#566169}
.dv-void-ticks{stroke:#AD1635;stroke-width:3;fill:none}
.dv-empty-note{font-size:14px;letter-spacing:-.15px;fill:#566169}
.dv-claim-label{font-size:13px;font-weight:500;letter-spacing:.7px;fill:#F5F6F7}
.dv-unverified{font-size:12px;fill:#B2DDF9}
.dv-entry-path{stroke:#AD1635;stroke-width:2;stroke-dasharray:3 5;fill:none}
.dv-flow-track{stroke:#141A1D;stroke-width:1;stroke-opacity:.18;fill:none}
.dv-flow-line{stroke:#AD1635;stroke-width:2;fill:none}
.dv-caption{min-height:44px;max-width:39ch;padding:6px 0 11px;font-size:16px;line-height:1.25;letter-spacing:-.025em}
.dv-controls{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #C3CDD3;padding:4px 0 8px}
.dv-stages,.dv-transport{display:flex;align-items:center;gap:15px}
.dv-stages button,.dv-transport button{appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;color:#566169;cursor:pointer;font-family:inherit;padding:7px 0;font-size:11px;line-height:1.2;font-weight:500;transition:color .15s ease}
.dv-stages button{white-space:nowrap}
.dv-stages button span{margin-right:5px;font-variant-numeric:tabular-nums;color:#8A969E}
.dv-stages button[aria-pressed="true"]{color:#141A1D}
.dv-stages button[aria-pressed="true"] span{color:#861129}
.dv-stages button:hover,.dv-transport button:hover{color:#861129}
.dv-stages button:focus-visible,.dv-transport button:focus-visible{outline:2px solid var(--dv-blue);outline-offset:4px}
.dv-transport{gap:10px;flex:none}
.dv-transport button{width:23px;height:28px;padding:4px;display:grid;place-items:center;color:#141A1D}
.dv-transport svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dv-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;overflow:hidden;background:#DDE4E8}
.dv-progress i{display:block;width:100%;height:100%;background:var(--dv-blue);transform:scaleX(0);transform-origin:0 50%}
.dv-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.data-void[data-dv-ready="false"] [data-dv-intruder],.data-void[data-dv-ready="false"] [data-dv-flow],.data-void[data-dv-ready="false"] .dv-source-field{visibility:hidden}
.data-void[data-dv-ready="false"] .dv-controls{display:none}
@media(max-width:700px){.dv-topline{font-size:9px}.dv-caption{font-size:17px;max-width:33ch;min-height:51px}.dv-stages,.dv-transport{gap:11px}.dv-stages button{font-size:11px}.dv-query-label{font-size:21px}.dv-void-note{font-size:15px}.dv-claim-label{font-size:15px;letter-spacing:0}.dv-unverified{font-size:15px}.dv-empty-note{font-size:17px}.dv-detail{display:none}}
@media(max-width:380px){.dv-topline{gap:6px;font-size:8px;letter-spacing:.02em}.dv-stages{gap:9px}.dv-stages button{font-size:10px}.dv-stages button span{margin-right:3px}.dv-transport{gap:5px}.dv-controls{gap:4px}.dv-caption{min-height:51px}}
@media(prefers-reduced-motion:reduce){.dv-stages button,.dv-transport button{transition:none}}


.hero--home{padding-block:clamp(32px,3.1vw,46px) clamp(48px,5vw,72px);column-gap:clamp(28px,4vw,58px)}
.hero--home .hero-copy{grid-column:1/-1;min-width:0}
.hero--home .hero-copy h1{font-size:clamp(40px,5vw,76px);line-height:1.02;max-width:20ch}
.hero--home .kicker{font-size:11px;margin-bottom:24px}
.hero--home .acts{margin-top:32px;gap:10px}
.hero--home .acts .btn{padding-inline:18px;font-size:15px}
.hero--home .hero-visual{grid-column:6/-1;min-width:0;padding-top:2px}
@media(max-width:900px){
.hero--home .hero-copy,.hero--home .hero-visual{grid-column:1/-1}
.hero--home .hero-copy h1{font-size:clamp(38px,6.4vw,56px);max-width:21ch}
.hero--home .hero-visual{margin-top:40px}
.hero--home .acts{margin-top:26px}
}

/* Abstract Oxford-blue information space; the diagram remains a separate canvas. */
.schema--cobalt{--schema-scale:1;--schema-shift:0px;position:relative;isolation:isolate;overflow:clip;background:#002147}
.schema--cobalt .wrap{position:relative;z-index:1}
.schema--cobalt canvas{transform:none}
.schema-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(100deg,#00152A 0%,#002147 45%,#23485E 100%)}
.schema-field__drift{position:absolute;inset:-8%;background:#002147 url('/img/schema-blue.png') center/cover no-repeat;background-blend-mode:normal;filter:grayscale(1) brightness(.48);mix-blend-mode:luminosity;opacity:.64;animation:volcanic-drift 10s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.schema-field canvas.volcanic-flames{position:absolute;inset:0;width:100%;height:100%;opacity:.85;filter:blur(9px);transform:none;mix-blend-mode:screen}
.schema--cobalt[data-in-view="true"] .schema-field__drift{animation-play-state:running}
@keyframes volcanic-drift{from{transform:translate3d(-3%,3%,0) scale(1.03)}to{transform:translate3d(3%,-3%,0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.schema-field__drift{animation:none;transform:none}}
:root{--hero-scene-gap:clamp(56px,6vw,88px)}
.hero--home{padding-bottom:var(--hero-scene-gap)}
.schema--cobalt{padding-block:clamp(64px,7vw,104px);margin-bottom:0}
.schema--cobalt+.wrap>#services{border-top:0;padding-top:var(--hero-scene-gap)}
@media(max-width:900px){.schema--cobalt{padding-block:56px}}

.schema-field::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,15,30,.08),rgba(0,15,30,.02) 50%,rgba(0,15,30,.2));pointer-events:none}

.schema-field::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 22% 78%,rgba(24,93,127,.3),transparent 46%),radial-gradient(ellipse at 80% 20%,rgba(106,150,165,.22),transparent 48%);filter:blur(48px);mix-blend-mode:screen;animation:crimson-current 18s ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none}
.schema--cobalt[data-in-view="true"] .schema-field::before{animation-play-state:running}
@keyframes crimson-current{from{transform:translate3d(-4%,5%,0) rotate(-5deg);opacity:.65}to{transform:translate3d(4%,-5%,0) rotate(5deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.schema-field::before{animation:none}}

/* Compact shared grid: titles and content start on common baselines. */
@media(min-width:761px){.schema--cobalt .schema-c{height:400px;width:min(100%,860px)}.schema--cobalt{padding-block:64px}}
@media(max-width:760px){.schema--cobalt .schema-c{height:760px}}

.hero--home .btn.line{border-color:var(--ink);color:var(--ink)}

/* === Hero field D and search-circle sizes, live since 11 October 2026 === */
/* The figure carries data-bg="d". The other variants (first, a, b, c) are kept for comparison only;
   their pictures are not deployed. Source of this block: proto/hero-2026-10-11/next/field.css and schema-size.css. */
/* Hero field, prototype of 11 October 2026 (background agent).
   The first background picture again in full colour: one saturated pigment, one hard
   diagonal fold of light, a dark hollow under the data void, print grain.
   Five hue variants, chosen by data-bg on the figure: first | a | b | c | d (default d).
   No filter, no blend mode, no blurred layer. One picture, moved by transform only.
   Measured numbers and what the integrator must align: NOTES-field.md in this folder.

   Read this before changing the diagram:
   red text (--schema-risk) reaches 4.5 to 1 only on a ground as dark as the hollow or the
   sheet fill. On open pigment it does not. On wide screens the caption FALSE CLAIM stands
   on open pigment, so the animation has to draw a plate of --schema-sheet under it
   (NOTES-field.md, point 1). On phones this file puts a second shade under that caption. */

/* 1. Geometry. The picture is pinned to the data void, not to the viewport. */
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]){
  /* where the canvas starts inside the figure: left edge of the .wrap content, and the
     figure's top padding. The padding is set from the same number below, so the picture
     and the canvas cannot drift apart. */
  --field-canvas-x:calc(max(0px,(100% - 1320px)/2) + clamp(20px,5vw,72px));
  --field-canvas-y:64px;
  /* centre of the void inside the canvas. schema.js publishes it on the figure after every
     resize (--schema-void-x, --schema-void-y). Until the script has run, the same rule is
     computed here: wide layout, voidX = 0.4 * min(0.31 * canvas width, 260), voidY = 236 */
  --field-void-x:var(--schema-void-x,calc(min(260px,(100vw - 2*clamp(20px,5vw,72px))*.31)*.4));
  --field-void-y:var(--schema-void-y,236px);
  /* picture box, and the point of the picture (0..1) that lies under the void.
     The centre of the hollow is at .216 / .534 of the picture. */
  --field-w:2048px;
  --field-h:calc(var(--field-w)*.375);
  --field-u:.216;
  --field-v:.52;
  --field-rot:0deg;
  padding-block:var(--field-canvas-y);
  background:var(--field-pigment);
}

/* 2. Layers. The two production pseudo layers (blurred screen light, dark veil) are off. */
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field{
  /* seen only beside the picture on very wide screens: pigment on the left, light on the right */
  background:linear-gradient(90deg,var(--field-pigment) 0 50%,var(--field-light) 50% 100%);
}
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field::before,
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field::after{
  content:none;animation:none;filter:none;mix-blend-mode:normal;
}
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift{
  inset:auto;
  left:calc(var(--field-canvas-x) + var(--field-void-x) - var(--field-u)*var(--field-w));
  top:calc(var(--field-canvas-y) + var(--field-void-y) - var(--field-v)*var(--field-h));
  width:var(--field-w);
  height:var(--field-h);
  background:var(--field-img) 0 0/100% 100% no-repeat;
  background-blend-mode:normal;
  filter:none;
  mix-blend-mode:normal;
  opacity:1;
  /* the drift grows the picture out of the void, so the hollow never leaves it
     and the fold only moves away from the labels */
  transform-origin:calc(var(--field-u)*100%) calc(var(--field-v)*100%);
  transform:rotate(var(--field-rot));
  animation:field-drift 7.5s ease-in-out infinite alternate;
  animation-play-state:paused;
  will-change:auto;
}
/* soft joins between the picture and the flat colours beside it (very wide screens only) */
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::before,
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::after{
  content:"";position:absolute;top:0;bottom:0;width:6%;pointer-events:none;
}
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::before{
  left:0;background:linear-gradient(90deg,var(--field-pigment),var(--field-pigment-0));
}
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::after{
  right:0;background:linear-gradient(270deg,var(--field-light),var(--field-light-0));
}
/* schema-field.js sets data-in-view; the picture moves only while the strip is on screen */
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"])[data-in-view="true"] .schema-field__drift{
  animation-play-state:running;
  will-change:transform;
}
@keyframes field-drift{
  /* the picture swings and breathes around the void: the hollow stays under it, the fold of light moves */
  from{transform:rotate(calc(var(--field-rot) - 5deg)) scale(1.08)}
  to{transform:rotate(calc(var(--field-rot) + 1.5deg)) scale(1.24)}
}
@media(prefers-reduced-motion:reduce){
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift{
    animation:none;transform:rotate(var(--field-rot));will-change:auto;
  }
}

/* 3. Colours for the diagram. The animation reads them from .schema-c. */
figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-c{
  --schema-ink:#F5F6F7;
  --schema-dot:#D7EAFB;
  --schema-risk:var(--field-risk);
  --schema-risk-ink:var(--field-deep);
  --schema-sheet:rgba(0,21,46,.36);
  /* the title AI ANSWER stands on pigment in both layouts, so it keeps the light ink */
  --schema-title-right:#F5F6F7;
}

/* 4. The five variants: same picture, different hue.
   pigment / light = flat colours beside the picture, core = colour of the hollow,
   deep = fill of the answer sheet and ink of the "!" on red, risk = the red. */
figure.schema--cobalt[data-bg="first"]{
  --field-img:url('/img/field-first-226.webp');
  --field-pigment:#0138EE;--field-pigment-0:#0138EE00;
  --field-light:#DEEFFD;--field-light-0:#DEEFFD00;
  --field-core:#010615;--field-core-0:#01061500;
  --field-deep:#000B2E;
  --field-risk:#FF3B4A;
}
figure.schema--cobalt[data-bg="a"]{
  --field-img:url('/img/field-a-216.webp');
  --field-pigment:#0163EE;--field-pigment-0:#0163EE00;
  --field-light:#DEF4FC;--field-light-0:#DEF4FC00;
  --field-core:#010915;--field-core-0:#01091500;
  --field-deep:#00122E;
  --field-risk:#FF3B45;
}
figure.schema--cobalt[data-bg="b"]{
  --field-img:url('/img/field-b-208.webp');
  --field-pigment:#0183EE;--field-pigment-0:#0183EE00;
  --field-light:#DEF8FC;--field-light-0:#DEF8FC00;
  --field-core:#010C15;--field-core-0:#010C1500;
  --field-deep:#00182E;
  --field-risk:#FF3D40;
}
figure.schema--cobalt[data-bg="c"]{
  --field-img:url('/img/field-c-200.webp');
  --field-pigment:#02A3EE;--field-pigment-0:#02A3EE00;
  --field-light:#DEFCFC;--field-light-0:#DEFCFC00;
  --field-core:#010F15;--field-core-0:#010F1500;
  --field-deep:#001926;
  --field-risk:#FF4040;
}
figure.schema--cobalt[data-bg="d"]{
  --field-img:url('/img/field-d-212-deep.webp');
  --field-pigment:#015ABA;--field-pigment-0:#015ABA00;
  --field-light:#D8F0F6;--field-light-0:#D8F0F600;
  --field-core:#010811;--field-core-0:#01081100;
  --field-deep:#00152E;
  --field-risk:#FF3B45;
}

/* 5. Wide screens: the lighter the pigment, the larger the picture, so that every light
   label stays on pigment that gives it 4.5 to 1. */
@media(min-width:761px){
  figure.schema--cobalt[data-bg="a"]{--field-w:2100px}
  figure.schema--cobalt[data-bg="b"]{--field-w:2200px}
  figure.schema--cobalt[data-bg="c"]{--field-w:2400px}
}

/* 6. Phone: the same picture turned a quarter clockwise and squeezed. The pigment is on
   top, the hollow lies under the dot field and its void in the upper left, and the fold of
   light runs down the right edge into the lower right corner, behind the answer sheet.
   The numbers follow the narrow layout of schema.js (canvas up to 420px wide, 476px high;
   with 56px padding the strip is 588px high). */
@media(max-width:760px){
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]){
    --field-canvas-y:56px;
    /* same rule as in schema.js, narrow layout:
       right = max(116, 0.36 * W), left = W - 16 - right, voidX = 0.36 * left, voidY = 146 */
    --field-canvas-w:min(100vw - 2*clamp(20px,5vw,72px),420px);
    --field-void-x:var(--schema-void-x,calc((var(--field-canvas-w) - 16px - max(116px,var(--field-canvas-w)*.36))*.36));
    --field-void-y:var(--schema-void-y,146px);
    /* left end and baseline of the caption FALSE CLAIM inside the canvas (ansX, claimY) */
    --field-claim-x:0px;
    --field-claim-y:468px;
    --field-rot:90deg;
    --field-w:1300px;                      /* after the turn this side runs down the screen */
    --field-h:max(160vw,200vw - 150px);    /* and this side runs across it, it must reach the right edge */
    --field-u:.205;
    --field-v:.5;
  }
  /* lighter pigments need more of the hollow behind the labels */
  figure.schema--cobalt[data-bg="a"]{--field-w:1450px}
  figure.schema--cobalt[data-bg="b"]{--field-w:1700px}
  figure.schema--cobalt[data-bg="c"]{--field-w:2050px}
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field{
    background:var(--field-pigment);
  }
  /* A second shade in the lower left corner, under the caption FALSE CLAIM, in the colour of
     the hollow. A plain gradient above the picture: no blend, no blur, it does not move. */
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 250px 110px at calc(var(--field-canvas-x) + var(--field-claim-x) + 56px) calc(var(--field-canvas-y) + var(--field-claim-y) - 5px),var(--field-core) 0,var(--field-core) 34%,var(--field-core-0) 100%);
  }
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::before,
  figure.schema--cobalt:is([data-bg="first"],[data-bg="a"],[data-bg="b"],[data-bg="c"],[data-bg="d"]) .schema-field__drift::after{
    content:none;
  }
}
/* owned by the animation agent: canvas box sizes only */
/* wide: three parts in one row */
@media(min-width:761px){.schema--cobalt .schema-c{height:400px;width:min(100%,860px)}}
/* narrow: two columns over the answer, with room for its two-line result caption */
@media(max-width:760px){.schema--cobalt .schema-c{height:500px;width:min(100%,420px)}}
/* field D on wide screens: larger picture, so the pigment also lies under the answer and its red caption */
@media(min-width:761px){figure.schema--cobalt[data-bg="d"]{--field-w:2200px}}
/* Phones and tablets: the hero button is compact and stands at the left edge (Pavel, 11.10.2026) */
@media(max-width:900px){.hero--home .acts{align-items:flex-start}.hero--home .acts .btn{min-height:44px;padding:10px 18px;font-size:15px}}
/* Phones: the turned picture swings the other way, so the fold of light moves in and out of the lower right corner */
@keyframes field-drift-narrow{from{transform:rotate(calc(var(--field-rot) - 6deg)) scale(1.08)}to{transform:rotate(calc(var(--field-rot) + 5deg)) scale(1.1)}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){figure.schema--cobalt[data-bg] .schema-field__drift{animation-name:field-drift-narrow}}
/* === Hero field M: black and white liquid mineral, live since 11 October 2026 (Pavel: expensive, academic, monochrome) === */
/* The figure carries data-bg="m". The picture is moved by schema-field.js (WebGL); these styles show it still
   when the script cannot run. Red stays the colour of the infection only. */
figure.schema--cobalt[data-bg="m"]{background:#0B0D0F}
figure.schema--cobalt[data-bg="m"] .schema-field{background:#0B0D0F}
figure.schema--cobalt[data-bg="m"] .schema-field::before{content:none;animation:none}
figure.schema--cobalt[data-bg="m"] .schema-field__drift{inset:0;background:#0B0D0F url('/img/field-mineral.webp') center/cover no-repeat;background-blend-mode:normal;filter:none;mix-blend-mode:normal;opacity:1;animation:none;transform:none;will-change:auto}
figure.schema--cobalt[data-bg="m"] .schema-field canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .8s ease}
figure.schema--cobalt[data-bg="m"] .schema-field canvas[data-ready="true"]{opacity:1}
/* a dark veil keeps the hairlines of the diagram readable over the bright veins */
figure.schema--cobalt[data-bg="m"] .schema-field::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,11,13,.8) 0,rgba(9,11,13,.8) 50%,rgba(9,11,13,.2) 94%);animation:none;pointer-events:none}
figure.schema--cobalt[data-bg="m"] .schema-c{--schema-ink:#F5F6F7;--schema-dot:#E3E6E8;--schema-risk:#EE3B2E;--schema-risk-ink:#0B0D0F;--schema-sheet:rgba(9,11,13,.42);--schema-title-right:#F5F6F7}
/* Centre the composition and keep the dark veil under all three parts. */
@media(min-width:761px){
  figure.schema--cobalt[data-bg="m"] .schema-c{margin-inline:auto}
  figure.schema--cobalt[data-bg="m"] .schema-field::after{background:linear-gradient(90deg,rgba(9,11,13,.28) 0%,rgba(9,11,13,.82) max(0px,calc(50% - 470px)),rgba(9,11,13,.82) min(100%,calc(50% + 470px)),rgba(9,11,13,.28) 100%)}
}
/* phones: the diagram takes the whole width, so the veil is even and the stone opens in a band under it */
/* Pavel, 11.10.2026: the empty strip of stone under the answer was too tall on a phone (132px before) */
@media(max-width:760px){figure.schema--cobalt[data-bg="m"]{padding-bottom:40px}figure.schema--cobalt[data-bg="m"] .schema-field::after{background:linear-gradient(180deg,rgba(9,11,13,.82) 0,rgba(9,11,13,.82) calc(100% - 48px),rgba(9,11,13,.12) 100%)}}

/* Section wheel. Without JavaScript: a plain list of links to the sections.
   With JavaScript (class whl-on): one 3D cylinder of labels, upright in the aside,
   on its side in a low bar at the bottom edge on screens up to 900px. */
.whl{margin-top:28px;padding-top:14px;border-top:1px solid var(--rule,#C3CBD0);font:700 12px/1.5 "Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--grey,#566169)}
.whl ol{list-style:none;margin:0;padding:0}
.whl a{display:block;padding:5px 0;color:inherit;text-decoration:none}
.whl a:focus-visible{outline:2px solid var(--ink,#141A1D);outline-offset:-2px}
@media(hover:hover){.whl a:hover{color:var(--ink,#141A1D)}}

.whl-on{position:relative;margin-top:14px;padding-top:0;border-top:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.whl-on .whl-vp{position:relative;height:260px;overflow:hidden;cursor:grab;touch-action:pan-x pinch-zoom;-webkit-perspective:900px;perspective:900px;-webkit-perspective-origin:0 50%;perspective-origin:0 50%;-webkit-mask-image:linear-gradient(to bottom,transparent 2%,#000 30%,#000 70%,transparent 98%);mask-image:linear-gradient(to bottom,transparent 2%,#000 30%,#000 70%,transparent 98%)}
.whl-on .whl-cyl{position:absolute;left:0;top:50%;width:100%;height:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform}
.whl-on .whl-l{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.whl-on li,.whl-on .whl-t{position:absolute;left:0;top:-15px;height:30px;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.whl-on li{width:100%}
.whl-on a{padding:0 0 0 30px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-drag:none;transition:color .18s linear}
.whl-on .whl-c a{color:var(--ink,#141A1D)}
/* scale: fine ticks on the cylinder, a longer one at every label */
.whl-on .whl-t{width:6px;background:linear-gradient(var(--rule,#C3CBD0) 1px,transparent 1px) 0 3px/100% 6px}
.whl-on li::before{content:"";position:absolute;left:0;top:15px;width:14px;height:1px;background:var(--grey,#566169)}
/* fixed index mark, the one accent */
.whl-on .whl-ix{position:absolute;z-index:1;left:0;top:50%;width:20px;height:3px;margin-top:-1px;background:var(--pine,#AD1635);pointer-events:none}
.whl-g .whl-vp,.whl-g a{cursor:grabbing}

@media(max-width:900px){
.whl-js body{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}
.whl-on{position:fixed;z-index:4;left:0;right:0;bottom:0;margin:0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper,#F5F6F7);border-top:1px solid var(--rule,#C3CBD0)}
.whl-on .whl-vp{height:52px;touch-action:pan-y pinch-zoom;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 24%,#000 76%,transparent 100%)}
.whl-on .whl-cyl{left:var(--whl-c,50%);top:0;width:0;height:100%}
.whl-on li,.whl-on .whl-t{top:0;height:52px}
.whl-on li{width:auto}
.whl-on a{padding:10px 14px 0;line-height:42px;overflow:visible}
.whl-on .whl-t{left:-20px;width:40px;height:5px;background:linear-gradient(to right,var(--rule,#C3CBD0) 1px,transparent 1px) 0 0/10px 100%}
.whl-on li::before{left:50%;top:0;width:1px;height:10px}
.whl-on .whl-ix{left:var(--whl-c,50%);top:0;width:3px;height:14px;margin:0 0 0 -1px}
}
@media(prefers-reduced-motion:reduce){.whl-on a{transition:none}}


@media(min-width:901px){
.mast:not(.compact){padding-top:clamp(16px,1.6vw,24px)}
.mast:not(.compact) .nav{margin-top:clamp(12px,1.3vw,18px)}
.hero--home{padding-block:clamp(20px,1.9vw,28px)}
.hero--home .hero-copy{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:16px 40px}
.hero--home .hero-copy h1{font-size:clamp(28px,2.6vw,38px);line-height:1.1;letter-spacing:-.025em;max-width:none}
.hero--home .acts{margin-top:0;flex:none}
figure.schema--cobalt{padding-block:36px}
}
@media(max-width:900px){
.hero--home{padding-block:24px 28px}
.hero--home .hero-copy h1{font-size:clamp(28px,7.4vw,34px);line-height:1.08}
.hero--home .acts{margin-top:18px}
}
/* outline button on hover: the brand crimson with white text, not pink (Pavel, 11.10.2026) */
.btn.line:hover,.hero--home .btn.line:hover{background:var(--pine);border-color:var(--pine);color:var(--on)}
/* two tones on a call-to-action button: ink outline and text, plus the small crimson square of the logo (Pavel, 11.10.2026).
   The share buttons of the benchmark are tools, not calls to action, so they stay plain. */
.btn.line{gap:10px}
.btn.line::before{content:"";flex:none;width:9px;height:9px;background:var(--pine)}
.btn.line:hover::before{background:var(--on)}
.bm-share .btn.line::before,.btn.line.ib::before{content:none}
.sec#benchmark .bm-go{margin-top:28px}


.nw{white-space:nowrap}
.audience li{padding-left:22px}
.audience li::before{top:.52em;width:9px;height:9px;border-radius:0}
.join{border:1px solid var(--pine);border-radius:2px;background:transparent;color:var(--pine);text-decoration:none}
.join:hover,.join:focus-visible{background:var(--pine);color:var(--on);text-decoration:none}
.join:focus-visible{outline:2px solid var(--pine);outline-offset:4px}
.join-email{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.signal-square{display:inline-block;width:9px;height:9px;margin-right:12px;background:var(--pine);vertical-align:.18em}
.signal-lead .signal-square{animation-delay:-2s}
.signal-heading .signal-square{margin:0 0 0 12px;vertical-align:.22em;animation-delay:-6s}
.bm-go .btn.line::before{animation:dose-signal 9s linear infinite;animation-delay:-4s}
.nav .nav-cur{position:relative;display:inline-flex;align-items:center;gap:8px}
.nav .nav-cur::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor}
.nav .nav-cur:hover{text-decoration:none}
.nav .nav-cur i{flex:none;width:9px;height:9px;background:var(--pine);animation-delay:-7s}
.foot .in{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;padding-block:24px 32px;border-top:1px solid var(--ink);color:var(--grey);font-size:15px}
.foot-brand{display:flex;align-items:center;gap:20px;min-width:0}
.foot-wordmark{display:block;width:200px;text-decoration:none;flex:none}
.foot-wordmark svg{display:block;width:100%;height:auto}
.foot-city{white-space:nowrap;font-size:14px}
.foot-links{display:flex;align-items:center;gap:28px}
.foot-links a{white-space:nowrap;padding-block:4px}
@media(max-width:900px){
.foot .in{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.foot-brand{justify-content:space-between;gap:16px}
.foot-wordmark{width:200px;max-width:calc(100% - 64px)}
.foot-links{justify-content:space-between;gap:16px}
}
@media(max-width:600px){
/* a phone shows the whole menu in ONE row, never in two (Pavel, 12.10.2026: "на мобайле должен быть только один ряд") */
.nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:0 4px;font-size:min(15px,3.7vw)}
.nav .nav-cur{gap:3px}
.nav .nav-cur i{width:6px;height:6px}
}
@media(prefers-reduced-motion:reduce){.signal-square,.bm-go .btn.line::before,.nav .nav-cur i{animation:none}}
/* shared text roles: the two families and the look stay, equal parts get equal sizes */
:root{
--type-family-sans:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
--type-body:18px;--type-body-mobile:17px;--type-body-leading:1.55;
--type-section:clamp(28px,2.7vw,38px);--type-section-leading:1.1;--type-section-tracking:-.025em;
--type-lead:clamp(20px,1.75vw,25px);--type-lead-leading:1.3;--type-lead-tracking:-.02em;
--type-action:16px;--type-caption:14px;--type-small-label:12px;
--type-weight-regular:400;--type-weight-medium:500;--type-weight-bold:700;
}
body{font-family:var(--type-family-sans);font-size:var(--type-body);line-height:var(--type-body-leading)}
.sec:not(.page)>.lab>h2,.sec#benchmark>.lab>h2{font-size:var(--type-section);line-height:var(--type-section-leading);font-weight:var(--type-weight-medium);letter-spacing:var(--type-section-tracking)}
#software .sw .big,#benchmark .ix .big,#who .audience,.join>span:first-child{font-size:var(--type-lead);line-height:var(--type-lead-leading);font-weight:var(--type-weight-medium);letter-spacing:var(--type-lead-tracking)}
.btn,.btn.s,.hero--home .acts .btn{font-size:var(--type-action)}
.bm-share .btn.s{font-size:15px}
.entry .cr,.entry.pic.blog-card .cr,.entry.pic.blog-card figcaption,.lead figcaption,.lead .fc,.prose .fg figcaption,.prose .fg .fc,.prose .src,.prose .src.pc,.prose blockquote footer,.fk .fc,.gl .gsrc,.say-n,.foot .in,.foot-city{font-size:var(--type-caption)}
.crg .cl-l{font-size:var(--type-small-label)}
@media(max-width:900px){body{font-size:var(--type-body-mobile)}}
/* the benchmark in short form on the home page */
.hbp{display:block;margin-top:28px;padding:24px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;font-size:var(--type-caption);line-height:1.4}
.hbp:hover{border-color:var(--pine);text-decoration:none}
.hbp:focus-visible{outline:2px solid var(--pine);outline-offset:4px}
.hbp .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hbp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.hbp-title{display:block;min-width:0}
.hbp-country{display:block;font-size:var(--type-lead);line-height:1.15;font-weight:var(--type-weight-medium);letter-spacing:var(--type-lead-tracking)}
.hbp-date{display:block;margin-top:6px;color:var(--grey)}
.hbp-logo{flex:none;width:136px;margin-top:3px}
.hbp-logo svg{display:block;width:100%;height:auto}
.hbp-keys{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:20px}
.hbp-k{display:inline-flex;align-items:center;gap:8px}
.hbp-k i{flex:none;width:9px;height:9px;background:var(--grey)}
.hbp-k i.r{background:#C8322D}
.hbp-rows{list-style:none;margin:14px 0 0;padding:0}
.hbp-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--rule)}
.hbp-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:var(--type-weight-medium);min-width:0}
.hbp-name svg{flex:none;width:14px;height:14px;fill:currentColor}
.hbp-bars{display:grid;gap:4px;min-width:0}
.hbp-bar{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:12px}
.hbp-sq{display:block;width:100%;height:auto}
.hbp-sq .e{fill:var(--ink);fill-opacity:.16}
.hbp-sq .r{fill:#C8322D}
.hbp-sq .k{fill:var(--grey)}
.hbp-sq .h{fill:none;stroke:#C8322D;stroke-width:1}
.hbp-pct{text-align:right;line-height:1;font-size:15px;font-weight:var(--type-weight-medium)}
.hbp-pct.ok{font-size:13px;font-weight:var(--type-weight-regular);color:var(--grey)}
.hbp-followup{display:block;padding-top:12px;border-top:1px solid var(--rule);font-size:var(--type-caption);color:var(--ink)}
.hbp-followup+.hbp-followup{border-top:0;padding-top:4px}
.hbp-key{display:block;padding-top:12px;border-top:1px solid var(--rule);font-size:var(--type-small-label);color:var(--grey)}
.hbp-foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;font-size:var(--type-small-label);color:var(--grey)}
.hbp-arrow{color:var(--pine)}
@media(max-width:600px){
.hbp{padding:16px}
.hbp-logo{width:104px;margin-top:2px}
.hbp-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 0}
.hbp-bar{gap:8px}
}
