/* KESTIR blog. Own sheet, the site's 150 kB base.css stays out of it. White page, pure black type,
   no photographs (Adam, 31 Oct). One big thing per page: the black lead panel. */
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/InstrumentSans-400-700-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: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/InstrumentSans-400-700-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: "Geist"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/Geist-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: "Geist"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/Geist-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; }

:root { --ink: #000; --ink-2: #5E6266; --line: #DFE0E1; --soft: #EBEBEA; --x: clamp(16px, 3.6vw, 56px); --title: "Geist", "Instrument Sans", system-ui, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; background: #fff; color: var(--ink); font: 400 18px/1.62 "Instrument Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--title); font-weight: 400; letter-spacing: -.01em; line-height: 1.1; text-wrap: balance; margin: 0; }
p { margin: 0; }
:focus-visible { outline: 2px solid #000; outline-offset: 3px; border-radius: 4px; }

.bar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 28px; padding: 15px var(--x); background: rgba(255, 255, 255, .84); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); font-size: 16px; font-weight: 400; }
.mark { display: flex; align-items: center; gap: 10px; margin-right: auto; text-decoration: none; font-weight: 500; letter-spacing: .14em; font-size: 15px; }
.mark svg { height: 20px; width: auto; }
.bar nav { display: flex; gap: 26px; }
.bar nav a, .lang { text-decoration: none; }
.bar nav a:hover, .lang:hover { opacity: .55; }
.cta { background: #000; color: #fff; text-decoration: none; padding: 10px 19px; border-radius: 999px; white-space: nowrap; }
.cta:hover { background: #33383C; }

main { padding: 0 var(--x); }
.top { padding: clamp(44px, 9vh, 100px) 0 clamp(28px, 5vh, 52px); max-width: 1000px; }
.top h1 { font-size: clamp(40px, 5.6vw, 76px); line-height: 1.04; }
.top p { margin-top: 20px; max-width: 58ch; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.45; color: var(--ink-2); }
.tabs { display: flex; flex-wrap: wrap; gap: 8px 26px; padding-bottom: 22px; }
.tabs a { text-decoration: none; color: var(--ink-2); }
.tabs a:hover { color: #000; }
.tabs a[aria-current] { color: #000; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; }
.meta { font-size: 15px; color: var(--ink-2); }

.lead { display: block; border-radius: 26px; color: #fff; text-decoration: none; background: #000; transition: background .25s; }
.lead:hover { background: #1C1E20; }
.lead div { padding: clamp(90px, 16vh, 190px) clamp(20px, 3.4vw, 48px) clamp(24px, 3.4vw, 44px); }
.lead h2 { max-width: 22ch; font-size: clamp(32px, 4.6vw, 66px); line-height: 1.05; margin: 8px 0 12px; }
.lead p:last-child { max-width: 56ch; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.4; }
.lead .meta { color: #E4E2DD; }

.rows { margin-top: clamp(20px, 3vh, 34px); }
.row { display: block; padding: clamp(24px, 3.4vh, 36px) 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.row:last-child { border-bottom: 0; }
.row h2 { font-size: clamp(25px, 2.7vw, 38px); line-height: 1.1; margin: 6px 0 10px; max-width: 26ch; }
.row-t > p:last-child { max-width: 62ch; color: var(--ink-2); line-height: 1.45; }
.row:hover h2 { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
.empty { padding: 50px 0; color: var(--ink-2); }

.art-h { max-width: 980px; padding: clamp(36px, 7vh, 78px) 0 clamp(26px, 4vh, 42px); }
.back { display: inline-block; margin-bottom: 18px; color: var(--ink-2); text-decoration: none; }
.back:hover { color: #000; }
.art-h h1 { font-size: clamp(36px, 5vw, 68px); line-height: 1.05; }
.perex { margin-top: 20px; max-width: 54ch; font-size: clamp(19px, 1.6vw, 23px); line-height: 1.4; color: var(--ink-2); }
.by { display: flex; align-items: center; gap: 12px; margin-top: 22px; font-size: 15.5px; color: var(--ink-2); }
.by img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }

.art-g { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 700px); gap: clamp(32px, 7vw, 120px); justify-content: center; padding-top: clamp(32px, 6vh, 64px); }
.art-g:not(:has(.toc)) { grid-template-columns: minmax(0, 700px); }
.toc { position: sticky; top: 92px; align-self: start; display: grid; gap: 10px; font-size: 15.5px; line-height: 1.3; }
.toc p { color: var(--ink-2); margin-bottom: 4px; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
article { min-width: 0; }
article > p, article > ul, article > ol, article > blockquote, article > .tw { margin: 0 0 1.05em; }
article h2 { font-size: clamp(27px, 2.5vw, 35px); margin: 1.5em 0 .55em; }
article h3 { font-size: clamp(21px, 1.8vw, 25px); margin: 1.4em 0 .45em; line-height: 1.2; }
article ul, article ol { padding-left: 1.2em; }
article li { margin-bottom: .4em; }
article a { text-underline-offset: 3px; }
article code { font-size: .92em; background: var(--soft); padding: .1em .3em; border-radius: 5px; }
li.tick { list-style: none; position: relative; margin-left: -1.2em; padding-left: 34px; }
.box { position: absolute; left: 0; top: .28em; width: 19px; height: 19px; border: 1.5px solid #000; border-radius: 5px; }
blockquote { padding-left: 20px; border-left: 2px solid #000; }
.brief { padding: clamp(20px, 2.6vw, 30px); background: var(--soft); border-radius: 20px; margin-bottom: 2em; }
.brief h2 { font-size: 21px; margin: 0 0 10px; }
.brief ul { margin: 0; padding-left: 1.15em; }
.brief li:last-child { margin-bottom: 0; }
.tw { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.4; }
th { text-align: left; font-weight: 500; }
th, td { padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.next { margin-top: 2.2em; display: grid; gap: 8px; font-size: 17px; line-height: 1.4; }
.refs { margin-top: 2.6em; padding-top: 4px; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.4; }
.refs h2 { font-size: 21px; margin: 1em 0 .6em; }
.note { margin-top: 1.6em; font-size: 15px; line-height: 1.4; color: var(--ink-2); }
.print { font: inherit; padding: 11px 20px; border: 0; border-radius: 999px; background: #000; color: #fff; cursor: pointer; margin-top: .6em; }
.print:hover { background: #33383C; }

.band { margin-top: clamp(56px, 10vh, 110px); padding: clamp(36px, 6vw, 84px) clamp(24px, 5vw, 72px); border-radius: 26px; background: #000; color: #fff; }
.band h2 { max-width: 19ch; font-size: clamp(30px, 3.8vw, 54px); line-height: 1.06; }
.band p { margin: 16px 0 26px; max-width: 48ch; color: #C9C9C9; line-height: 1.45; }
.band a { display: inline-block; padding: 12px 24px; border-radius: 999px; background: #fff; color: #000; text-decoration: none; }
.band a:hover { background: #D9DDDF; }
.more { margin-top: clamp(50px, 9vh, 96px); }
.more > h2 { font-size: clamp(26px, 2.6vw, 36px); }

.foot { margin-top: clamp(60px, 11vh, 120px); padding: clamp(50px, 8vh, 84px) var(--x) 0; background: #000; color: #F1EDE4; overflow: hidden; }
.foot-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; }
.foot-mail { font-family: var(--title); font-size: clamp(28px, 3.4vw, 50px); letter-spacing: -.01em; text-decoration: none; }
.foot-top p { font-size: 14px; line-height: 1.6; color: #8F8A80; text-align: right; }
.foot-word { margin: clamp(46px, 9vh, 104px) 0 -.18em; font-family: "KESTIR Logo", "Archivo", Arial, sans-serif; font-weight: 400; font-synthesis: none; font-size: min(21vw, 400px); line-height: .72; letter-spacing: .02em; text-align: center; white-space: nowrap; }

@media (max-width: 900px) {
  .art-g, .art-g:not(:has(.toc)) { grid-template-columns: minmax(0, 1fr); }
  .toc { display: none; }
}
@media (max-width: 760px) {
  body { font-size: 17px; }
  .bar { flex-wrap: wrap; gap: 8px 16px; padding-top: 11px; padding-bottom: 9px; }
  .bar nav { order: 3; width: 100%; gap: 18px; font-size: 14.5px; }
  .bar nav .opt { display: none; }
  .lead, .band { border-radius: 20px; }
  .foot-top p { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .lead { transition: none; } }
@media print {
  .bar, .foot, .band, .more, .toc, .print, .back { display: none; }
  body { font-size: 12pt; }
  .art-g { display: block; padding: 0; }
  main { padding: 0; }
}

/* KESTIR logo word, 31 Oct 2026 (Adam: weight 4 on a scale from the old word 0 to Archivo Black 10): Archivo wght 625 (OFL), caps only, kerning kept, caps centred in the em box.
   One source: brand/system/kestir-logo.css. Stem .197 of cap height, tracking +7.6 %, gap 7 px at a 20 px symbol. */
@font-face { font-family: "KESTIR Logo"; font-style: normal; font-weight: 400; font-display: block; src: url(data:font/woff2;base64,d09GMgABAAAAAATcAA8AAAAACxAAAASFAAIAQgAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbgRIcKgZgAEwRCAqDXIMNATYCJAMcCxAABCAFi1wHIAwHG6sJIxG2g1GqofiLA5vIdA+s4eKCUkM4jLGnMSuyWqDkzyxp+YjwCKdP/tbKkLXvnMbnecbD/+/3bZ/z7nebNEg0rSolkaB0sZInkfGQtHqF1Un6hvTy/t1Lvik9SUpBbAYmUFu3dkQA9D/A2M5lOu16ck783C73P4WMUiHFJhatqQ2QJBVJGzAuVhJM2CUb1Aiyp0JCvZCV1SyJXGSELcrqShY6wvjaJm0fkTJERO7zHxPoA1IITSGwNNQVtsTtWwkxQEieu2CNA4E7/kkxQEBqC1sIFKj/BdIpBRfIaqgAAOovAPVraEghhYZQKRqapalIDlQ1+6BHyRxjS0tQ8RBKns14FPJVFuHRYi/xDRzxu54CNuvmdVsLsOE8vLKqD6qrWgnIYT7FtgpJYJurhKE49aCutpTOs2AFr2FD5vjO+pVFC6YKFbGgYrTkFkaVHvyEV0ABDSHAykep+jUjoGQUgwZ0hMIgBzBccFeXYBIu64oiFAygGIUZaSDkaWIoEhQMPXDgcfPiiwsZ5+bu0AUCUq/4jJA5tgShf9Fl6F2ZrCcgGTUgY/Viv7o1P9xcZNd2y9j7LHrV63vFFwUAHtVg0fYCObazHX/HeqPzHgUSMACL9cr3SrcCPvi3dTLxptny3yJ6n56C243xJVT3hsaHzjQmrOXyx8JTdKS1e+mcjPqOHY0ov5vtNxFtHaik4KdvpBXSWMpRk/J79Fd+UjBXFE3eEr0hC270NMN47JVlbNWoSHU3YdnlbcKtIMylmzjILKi8eI3dntNaaE/sjJyCuLmVbCCXlrofl6W8hKUKmtsV4L6Q2PeMcfMqzJEfJ5e1wL7YaTkbS58siV+7S9RNvB/4XyCdea+Z7otp/7RJ1U+AL/8EJuFH73hzU3/ndK6gKUHweDL5kaKzkBD6k1r5yLXsdi2EF7H1ifz407TZn/F4BVpOo4AQXjb1XSVKBzs2KCztUBp6Q5UT3s4WIjVsBZGa9oYAtdwIfWpbR1msE6j7qBtPYo16TlTWnn0axDYpi4aOla7ZsRKaGJfL9TbW5YmfRlx9nVZpgEFvsim4pQRjJ1L9Yjg5zkgEkiEGCzuPGt82C5UfdrtKhzQmHcFl91ganUTfvn0r6spus/p2fr2tL7BjxRdSsUA36PR6/dFxf1iPgr9rX6nUEy7kg5zXbIBrh3AkWtAOxHigIRgQ6g6lpJ++fznwE6yv1jlOrnD7IddhiemqWoNcGTi4exup7tHQ4I1Da0qGqP5EQeYnYuLiu+XnW71Uz7B+DfxGkSS/qmFtsOBjSbDlikkKBG0l0zeYLBbJYIaNpNgIJQxTsvNCpbVXHTwwOgoE8OYqJtwDFwiIwRCJAlVS8OLomEvjEhuENhG6YB15+cEU70Gqw+hUIfwXZsyUFqwV1wwBKlwQpJUKrTDpMSKC8ocAAyCO/vUOjmLzhn9+xyNriX+BvD/bxywWjzQWfKEfKSdFJn8HQQLFeXze2C0MARN7AZarABGeEZ2XcdhV97jYeQp/uui34AL/w9D8Q120+t5nUedOlMcAAAA=) format("woff2"); }
html .mark, html .lockup { gap: 7px; letter-spacing: 0; }
html .o-ch-b { gap: 6px; letter-spacing: 0; }
html .mark > span, html .lockup > span, html .o-ch-b > b, html .fx-word, html .foot .word { font-family: "KESTIR Logo", "Archivo", Arial, sans-serif; font-weight: 400; font-synthesis: none; font-kerning: normal; }
html .mark.mark > span, html .lockup.lockup > span, html .o-ch-b > b { font-size: 16px; letter-spacing: .076em; line-height: 1; translate: none; transform: none; }
html .o-ch-b > b { font-size: 13.5px; }
html .foot .lockup > span { font-size: 23px; }
