/* In-Droner — site styles
   Ground: white paper, graphite ink. Colour arrives as flat fields:
   cobalt (weekly), flare (key event), haze (specs), lichen (report). */

@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;
  src:url(../fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;
  src:url(../fonts/bricolage-grotesque-latin-standard-normal.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:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:100 800;
  src:url(../fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:100 800;
  src:url(../fonts/jetbrains-mono-latin-wght-normal.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{
  --paper:#fff; --ink:#0b0e12; --steel:#56616d; --soft:#dde2e8;
  --cobalt:#2b45f0; --flare:#ff5a47; --haze:#dce6ff; --lichen:#cfdcc6;
  --sans:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Consolas,monospace;
  --gut:clamp(16px,2.4vw,36px);
  --top:60px;
  --field:var(--lichen); --on-field:var(--ink);
}
.k-weekly{--field:var(--cobalt);--on-field:#fff}
.k-event{--field:var(--flare);--on-field:var(--ink)}
.k-specs{--field:var(--haze);--on-field:var(--ink)}
.k-report{--field:var(--lichen);--on-field:var(--ink)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.5;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.07em}
a:hover{text-decoration-thickness:.14em}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.k-weekly :focus-visible,.foot :focus-visible,.logo:focus-visible{outline-color:#fff;outline-offset:-5px}
::selection{background:var(--cobalt);color:#fff}

.wrap{padding-inline:var(--gut);max-width:1680px;margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;z-index:100}
.skip:focus{left:0}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:stretch;height:var(--top);background:var(--paper);border-bottom:1px solid var(--ink)}
.logo{--logo-bg:var(--ink);display:flex;align-items:center;gap:.5rem;padding-inline:var(--gut) 1.25rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:800;font-stretch:75%;font-size:1.625rem;line-height:1;letter-spacing:.005em}
.logo:hover{--logo-bg:var(--cobalt);background:var(--cobalt)}
.logo__mark{height:1.5rem;width:auto;margin-right:.15rem}
.logo__in{background:#fff;color:var(--logo-bg);padding:.16em .3em .12em .26em;clip-path:polygon(0 0,calc(100% - .3em) 0,100% .3em,100% 100%,0 100%)}
.logo__word{margin-left:-.18rem}
.top__panel{display:flex;flex:1;align-items:center;justify-content:space-between;padding-inline:1.75rem var(--gut)}
.top__nav{display:flex;gap:1.75rem;font-weight:500}
.top__nav a{text-decoration:none;padding-block:.35rem;border-bottom:2px solid transparent}
.top__nav a:hover,.top__nav a[aria-current]{border-bottom-color:var(--ink)}
.top__lang{display:flex;gap:.25rem;font-family:var(--mono);font-size:.8125rem;font-weight:500}
.top__lang a,.top__lang span{padding:.3rem .55rem;text-decoration:none;border:1px solid transparent}
.top__lang a:hover{border-color:var(--ink)}
.top__lang span{background:var(--ink);color:#fff}
.top__menu{display:none}

/* ---------- home: hero ---------- */
.mosaic{position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:calc(100vw / 12);grid-template-rows:repeat(5,calc(100vw / 12));background:var(--haze);overflow:hidden}
.tile{position:relative;overflow:hidden;animation:settle .7s cubic-bezier(.2,.7,.2,1) both}
.tile img{width:100%;height:100%;object-fit:cover}
.tile figcaption{position:absolute;left:0;bottom:0;max-width:100%;background:#fff;color:var(--ink);font-family:var(--mono);font-size:.6875rem;line-height:1.3;padding:.3rem .5rem}
.tile--p1{grid-area:2/5/6/9;animation-delay:.05s}
.tile--p2{grid-area:3/1/6/4;animation-delay:.15s}
.tile--p3{grid-area:1/9/4/12;animation-delay:.25s}
.tile--p4{grid-area:4/10/6/12;animation-delay:.35s}
.tile--p5{grid-area:1/3/3/5;animation-delay:.3s}
.tile--p6{grid-area:4/12/6/13;animation-delay:.4s}
.tile--p5 figcaption,.tile--p6 figcaption{display:none}
.tile--c1{grid-area:1/1/3/3;background:var(--cobalt);animation-delay:.2s}
.tile--c2{grid-area:2/12/4/13;background:var(--flare);animation-delay:.45s}
.tile--c3{grid-area:4/9/5/10;background:var(--lichen);animation-delay:.5s}
.mosaic__credits{position:absolute;right:0;top:0;background:var(--ink);color:#fff;font-family:var(--mono);font-size:.6875rem;padding:.3rem .5rem;text-decoration:none}
.mosaic__credits:hover{background:var(--cobalt)}
@keyframes settle{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

.hero__text{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);align-items:end;padding-block:clamp(1.5rem,3.2vw,3.25rem) clamp(2rem,4vw,4rem)}
.hero__lede{grid-column:1/5;font-size:1.0625rem;line-height:1.45;max-width:34ch;padding-bottom:.6rem}
.hero__title{grid-column:5/13;font-size:clamp(2.75rem,7.4vw,8.75rem);line-height:.92;letter-spacing:-.028em;font-weight:600;font-stretch:84%;text-wrap:balance}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut);padding-block:0 clamp(3rem,6vw,6rem)}
.pillars > div{border-top:1px solid var(--ink);padding-top:1rem}
.pillars h2{font-size:1.5rem;line-height:1.1;font-weight:600;letter-spacing:-.02em}
.pillars p{margin-top:.5rem;color:var(--steel);max-width:36ch}

/* ---------- home: latest report ---------- */
.lead{background:var(--field);color:var(--on-field)}
.lead__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);padding-block:var(--gut)}
.lead__photo{grid-column:1/7;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.lead__photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.lead__photo:hover img{transform:scale(1.02)}
.lead__text{grid-column:7/13;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding-block:.25rem}
.lead__kicker{font-family:var(--mono);font-size:.8125rem;font-weight:500}
.lead__title{font-size:clamp(2rem,4.6vw,5rem);line-height:.95;letter-spacing:-.028em;font-weight:600;font-stretch:85%;text-wrap:balance}
.lead__title a{text-decoration:none}
.lead__title a:hover{text-decoration:underline;text-decoration-thickness:.05em}
.lead__desc{font-size:1.1875rem;line-height:1.4;max-width:46ch}
.lead__figs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid currentColor}
.lead__figs > div{padding:.85rem 1rem .25rem 0}
.lead__figs > div + div{border-left:1px solid currentColor;padding-left:1rem}
.lead__figs dt{font-size:clamp(1.75rem,3.2vw,3.25rem);line-height:1;font-weight:700;font-stretch:75%;letter-spacing:-.03em}
.lead__figs dd{margin-top:.4rem;font-size:.875rem;line-height:1.3}
.lead__more{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.lead__meta{font-family:var(--mono);font-size:.8125rem}

.btn{display:inline-block;background:var(--ink);color:#fff;font-weight:600;padding:.95rem 1.4rem;text-decoration:none;line-height:1}
.btn:hover{background:var(--cobalt)}
.k-weekly .btn{background:#fff;color:var(--ink)}
.k-weekly .btn:hover{background:var(--ink);color:#fff}

/* ---------- report rows ---------- */
.archive{padding-block:clamp(3rem,6vw,6rem) 0}
.archive--page{padding-top:0}
.archive__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem}
.archive__head h2,.topicstrip h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1;letter-spacing:-.025em;font-weight:600;font-stretch:85%}
.archive__head a{font-family:var(--mono);font-size:.8125rem}
.rows{border-bottom:1px solid var(--ink)}
.row{display:grid;grid-template-columns:6rem minmax(0,1fr) 11rem 12rem;gap:var(--gut);align-items:start;padding:1.35rem 0 1.5rem;border-top:1px solid var(--ink);text-decoration:none;transition:background-color .15s,padding .15s}
.row:hover{background:var(--field);color:var(--on-field);padding-inline:1rem}
.row__no,.row__date{font-family:var(--mono);font-size:.8125rem;padding-top:.5rem}
.row__date{text-align:right}
.row__title{display:block;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.02;letter-spacing:-.022em;font-weight:600;font-stretch:85%;text-wrap:balance}
.row__desc{display:block;margin-top:.6rem;color:var(--steel);max-width:62ch;font-size:1rem}
.row:hover .row__desc{color:inherit}
.row__kind{padding-top:.35rem}
.kind{display:inline-block;background:var(--field);color:var(--on-field);font-size:.8125rem;font-weight:600;padding:.25rem .55rem;line-height:1.2}
.row:hover .kind{background:var(--paper);color:var(--ink)}

.topicstrip{padding-block:clamp(3rem,6vw,6rem)}
.topicstrip h2{margin-bottom:1.25rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;gap:.6rem;align-items:baseline;border:1px solid var(--ink);padding:.5rem .8rem;text-decoration:none;font-weight:500;line-height:1.2}
.chip span{font-family:var(--mono);font-size:.75rem;color:var(--steel)}
.chip:hover,.chip[aria-current]{background:var(--ink);color:#fff}
.chip:hover span,.chip[aria-current] span{color:#fff}

/* ---------- page heads ---------- */
.pagehead{border-bottom:1px solid var(--ink);padding-block:clamp(2.5rem,7vw,7rem) clamp(1.5rem,3vw,2.5rem);margin-bottom:clamp(1.5rem,3vw,3rem)}
.pagehead--tall{border-bottom:0;min-height:60vh}
.pagehead h1{font-size:clamp(2.75rem,8vw,8.5rem);line-height:.92;letter-spacing:-.028em;font-weight:600;font-stretch:84%;text-wrap:balance}
.pagehead__intro{margin-top:1.25rem;font-size:1.1875rem;max-width:60ch}
.pagehead__kicker{font-family:var(--mono);font-size:.8125rem;margin-bottom:1rem}
.pagehead .btn{margin-top:2rem}
.archive--page .rows .row:first-child,.archive--page .rows li:first-child .row{border-top:0}

.topiclist{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,4vw,4rem) var(--gut);padding-bottom:clamp(3rem,6vw,6rem)}
.topiclist__item{border-top:1px solid var(--ink);padding-top:1rem}
.topiclist h2{font-size:1.75rem;line-height:1.05;letter-spacing:-.03em;font-weight:600;font-stretch:85%}
.topiclist h2 a{text-decoration:none}
.topiclist h2 a:hover{text-decoration:underline}
.topiclist h2 span,.topiclist time{font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:0;color:var(--steel);white-space:nowrap}
.topiclist ul{margin-top:.75rem}
.topiclist li{padding-block:.4rem;border-top:1px solid var(--soft)}

.creditlist{padding-bottom:clamp(3rem,6vw,6rem)}
.creditlist__item{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.25rem;padding-block:1.25rem;border-top:1px solid var(--soft)}
.creditlist__item:first-child{border-top:0;padding-top:0}
.creditlist img{width:9rem;height:9rem;object-fit:cover}
.creditlist h2{font-size:1.25rem;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.creditlist p{margin-top:.35rem;max-width:70ch}
.creditlist__used{color:var(--steel);font-size:.9375rem}
.page{padding-bottom:clamp(3rem,6vw,6rem)}
.page .prose{margin-left:calc((100% + var(--gut)) / 12 * 4)}

/* ---------- post ---------- */
.post__head{background:var(--field);color:var(--on-field)}
.post__headgrid{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2.5rem)}
.post__kicker{display:flex;gap:1rem;align-items:baseline;font-family:var(--mono);font-size:.8125rem;font-weight:500}
.post__title{margin-top:clamp(2rem,8vw,7rem);font-size:clamp(2.5rem,7.2vw,8rem);line-height:.92;letter-spacing:-.028em;font-weight:600;font-stretch:84%;max-width:16ch;text-wrap:balance}
.post__desc{margin-top:1.5rem;font-size:clamp(1.125rem,1.7vw,1.5rem);line-height:1.3;max-width:52ch}
.post__meta{display:flex;flex-wrap:wrap;gap:.4rem 2rem;margin-top:2rem;padding-top:.85rem;border-top:1px solid currentColor;font-family:var(--mono);font-size:.8125rem}
.post__cover img{width:100%;height:clamp(260px,52vw,760px);object-fit:cover}
.post__cover figcaption{padding-block:.6rem 0}
.photo__cap{font-size:.875rem}
.photo__credit{font-size:.8125rem;color:var(--steel)}

.post__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);padding-block:clamp(2rem,5vw,5rem) clamp(3rem,6vw,6rem)}
.toc{grid-column:1/4;position:sticky;top:calc(var(--top) + 1.5rem);align-self:start;max-height:calc(100vh - var(--top) - 3rem);overflow:auto;font-size:.9375rem;line-height:1.3}
.toc__title{font-family:var(--mono);font-size:.75rem;color:var(--steel);margin-bottom:.6rem}
.toc li{border-top:1px solid var(--soft)}
.toc a{display:block;padding:.5rem .5rem .5rem 0;text-decoration:none}
.toc a:hover{text-decoration:underline}
.toc a.is-active{font-weight:700;box-shadow:inset 3px 0 0 var(--ink);padding-left:.75rem}
.prose{grid-column:5/13;min-width:0}
.post__grid > .prose:first-child{grid-column:5/13}

.prose{font-size:1.125rem;line-height:1.6}
.prose > *{max-width:66ch}
.prose > * + *{margin-top:1.15em}
.prose > .table-wrap,.prose > .stats-wrap,.prose > .cards,.prose > .photo-row,.prose > .photo--wide,.prose > .timeline,.prose > .chart,.prose > h2{max-width:none}
.prose h2{margin-top:clamp(3rem,6vw,5.5rem);padding-top:1.1rem;border-top:1px solid var(--ink);font-size:clamp(1.875rem,3.4vw,3rem);line-height:1.02;letter-spacing:-.025em;font-weight:600;font-stretch:85%;text-wrap:balance}
.prose > h2:first-child{margin-top:0}
.prose h3{margin-top:2.4em;font-size:1.5rem;line-height:1.15;letter-spacing:-.02em;font-weight:600;text-wrap:balance}
.prose h4{margin-top:2em;font-size:1.125rem;font-weight:700}
.prose h2 + *,.prose h3 + *,.prose h4 + *{margin-top:.8em}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul{list-style:square}
.prose ol{list-style:decimal}
.prose li + li{margin-top:.45em}
.prose li::marker{color:var(--steel)}
.prose strong{font-weight:700}
.prose hr{border:0;border-top:1px solid var(--soft);margin-block:2.5em}
.prose a:not(.src){text-decoration-color:var(--cobalt);text-decoration-thickness:.1em}
.prose a:not(.src):hover{color:var(--cobalt)}

.src{display:inline-block;font-size:.72em;line-height:1.25;padding:.12em .55em;border:1px solid var(--soft);border-radius:99px;color:var(--steel);text-decoration:none;vertical-align:.12em;font-weight:500}
a.src:hover{border-color:var(--ink);color:var(--ink)}
.badge{display:inline-block;font-family:var(--mono);font-size:.6875rem;font-weight:500;line-height:1.2;padding:.2em .5em;vertical-align:.14em;border:1px solid var(--ink)}
.badge--confirmed{background:var(--ink);color:#fff}
.badge--unverified{border-style:dashed;border-color:var(--steel);color:var(--steel)}

.table-wrap{overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.prose table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.9375rem;line-height:1.35;font-variant-numeric:tabular-nums}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.7rem 1rem .7rem 0}
.prose th{font-size:.8125rem;font-weight:600;color:var(--steel);border-bottom:1px solid var(--ink)}
.prose td{border-top:1px solid var(--soft)}
.prose tr:first-child td{border-top:0}
.prose td:first-child{font-weight:600}

.block-title{font-weight:700;font-size:1rem;line-height:1.3;margin-bottom:.75rem}
.blocknote{margin-top:.75rem;font-size:.8125rem;line-height:1.4;color:var(--steel);max-width:80ch}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.stat{padding:1.1rem 1.25rem 1.25rem 0}
.stat + .stat{border-left:1px solid var(--soft);padding-left:1.25rem}
.stat__n{font-size:clamp(2.25rem,4.3vw,3.75rem);line-height:.95;font-weight:700;font-stretch:75%;letter-spacing:-.02em;white-space:nowrap}
.stat__l{margin-top:.6rem;font-size:.9375rem;line-height:1.35}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem var(--gut)}
.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--1{grid-template-columns:minmax(0,1fr)}
.card{border-top:1px solid var(--ink);padding-top:1rem;display:flex;flex-direction:column;gap:1rem}
.card .photo img{aspect-ratio:1/1;object-fit:cover;width:100%}
.card .photo{order:-1}
.card .photo figcaption{margin-top:.4rem}
.card .photo__cap{display:none}
.card__body{font-size:1rem;line-height:1.5}
.card__body > * + *{margin-top:.7em}
.card__body h3,.card__body h4{margin-top:0;font-size:1.375rem;line-height:1.1;letter-spacing:-.02em;font-weight:600}
.card__body ul{list-style:square;padding-left:1.1em}
.card__tag{font-family:var(--mono);font-size:.75rem;color:var(--steel);line-height:1.35}
.card__tag + *{margin-top:.35rem}
.cards--1 .card{flex-direction:row;gap:var(--gut)}
.cards--1 .card .photo{flex:0 0 34%}
.cards--1 .card__body{max-width:62ch}

.photo img{width:100%}
.photo figcaption{margin-top:.5rem;line-height:1.35}
.photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut)}
.photo-row .photo img{aspect-ratio:4/3;object-fit:cover}

.timeline{border-bottom:1px solid var(--ink);padding-left:0 !important;list-style:none !important}
.timeline li{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:var(--gut);padding-block:1.1rem 1.25rem;border-top:1px solid var(--ink);margin:0 !important}
.tl__when{font-size:2.5rem;line-height:.95;font-weight:700;font-stretch:75%;letter-spacing:-.03em}
.tl__title{display:block;font-size:1.25rem;line-height:1.2}
.timeline p{margin-top:.35rem;max-width:60ch;font-size:1rem}

.note{background:var(--haze);padding:1.25rem 1.5rem 1.4rem;font-size:1rem}
.note > * + *{margin-top:.7em}
.note ul{list-style:square;padding-left:1.1em}
.note .table-wrap{border-color:var(--ink)}
.note td{border-top-color:rgba(11,14,18,.18)}

.chart{border-top:1px solid var(--ink);padding-top:1rem}
.chart__rows{display:grid;gap:.5rem}
.chart__row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 5.5rem;gap:.9rem;align-items:center;font-size:.9375rem}
.chart__track{display:block;height:1.6rem;background:var(--haze)}
.chart__bar{display:block;height:100%;background:var(--cobalt)}
.chart__val{font-family:var(--mono);font-size:.8125rem;text-align:right}

.formula{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;font-size:1.0625rem;font-weight:600;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding-block:1.25rem}
.formula__frac{display:inline-grid;text-align:center}
.formula__frac span:first-child{border-bottom:2px solid var(--ink);padding:0 .5rem .3rem}
.formula__frac span:last-child{padding:.3rem .5rem 0}

.post__foot{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem var(--gut);padding-bottom:clamp(2rem,4vw,4rem)}
.post__foot h2{font-family:var(--mono);font-size:.75rem;font-weight:400;color:var(--steel);margin-bottom:.75rem}
.post__topics{grid-column:1/5;border-top:1px solid var(--ink);padding-top:1rem}
.post__credits{grid-column:5/13;border-top:1px solid var(--ink);padding-top:1rem;font-size:.875rem;line-height:1.45}
.post__credits li + li{margin-top:.3rem}
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.pager__a{display:block;padding:1.5rem var(--gut) 2.5rem 0;text-decoration:none;font-size:clamp(1.25rem,2vw,1.875rem);line-height:1.05;letter-spacing:-.02em;font-weight:600;font-stretch:85%}
.pager__a span{display:block;font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:0;font-stretch:100%;color:var(--steel);margin-bottom:.6rem}
.pager__a--next{border-left:1px solid var(--ink);padding-left:var(--gut)}
.pager__a:hover{text-decoration:underline;text-decoration-thickness:.06em}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#fff;padding-block:clamp(2.5rem,5vw,4.5rem) 1.5rem}
.foot__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem var(--gut)}
.foot__brand{grid-column:1/7}
.foot__word{font-size:clamp(3.5rem,11vw,11rem);line-height:.85;letter-spacing:-.02em;font-weight:700;font-stretch:75%;margin-bottom:1rem}
.foot__links{grid-column:span 2;display:grid;gap:.5rem;align-content:start}
.foot__links a{text-decoration:none}
.foot__links a:hover{text-decoration:underline}
.foot__note{grid-column:11/13;font-size:.8125rem;line-height:1.45;color:#b8c0c9}
.foot__legal{margin-top:clamp(2rem,4vw,4rem);padding-top:1rem;border-top:1px solid #3a424c;font-family:var(--mono);font-size:.75rem;color:#b8c0c9}

/* ---------- smaller screens ---------- */
@media (max-width:1100px){
  .row{grid-template-columns:5rem minmax(0,1fr) 10rem}
  .row__kind{display:none}
  .foot__brand{grid-column:1/13}
  .foot__links{grid-column:span 4}
  .foot__note{grid-column:span 4}
  .toc{grid-column:1/13;position:static;max-height:none;margin-bottom:2.5rem;border-bottom:1px solid var(--ink)}
  .toc ol{columns:2;column-gap:var(--gut)}
  .toc li{break-inside:avoid}
  .prose,.post__grid > .prose:first-child{grid-column:1/13}
  .page .prose{margin-left:0}
  .post__topics,.post__credits{grid-column:1/13}
}
@media (max-width:760px){
  body{font-size:1rem}
  .top__menu{display:block;margin-left:auto;padding-inline:var(--gut);background:none;border:0;border-left:1px solid var(--ink);font:inherit;font-weight:600;color:inherit;cursor:pointer}
  .top__menu[aria-expanded="true"]{background:var(--ink);color:#fff}
  .top__panel{display:none;position:absolute;left:0;right:0;top:var(--top);flex-direction:column;align-items:flex-start;gap:1.5rem;padding:1.5rem var(--gut) 2rem;background:var(--paper);border-bottom:1px solid var(--ink)}
  .top__panel.is-open{display:flex}
  .top__nav{flex-direction:column;gap:.5rem;font-size:2rem;font-weight:600;font-stretch:85%;letter-spacing:-.03em}
  .logo{font-size:1.375rem}
  .mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:calc(100vw / 6);grid-template-rows:repeat(6,calc(100vw / 6))}
  .tile--p1{grid-area:1/1/5/5}
  .tile--p2{grid-area:3/5/5/7}
  .tile--p3{grid-area:5/3/7/7}
  .tile--c1{grid-area:5/1/7/3}
  .tile--c2{grid-area:1/5/3/7}
  .tile--p4,.tile--p5,.tile--p6,.tile--c3{display:none}
  .tile--p2 figcaption{display:none}
  .hero__text{display:block}
  .hero__lede{max-width:none;padding-bottom:0;margin-bottom:1.5rem}
  .hero__title{font-size:clamp(2.75rem,14vw,5rem)}
  .pillars{grid-template-columns:1fr;gap:1.5rem}
  .lead__grid{display:block}
  .lead__photo{margin-bottom:1.25rem}
  .lead__text{gap:1.25rem}
  .lead__figs{grid-template-columns:1fr}
  .lead__figs > div + div{border-left:0;border-top:1px solid currentColor;padding-left:0}
  .lead__figs > div{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;align-items:baseline;padding:.7rem 0}
  .lead__figs dd{margin-top:0}
  .row{grid-template-columns:minmax(0,1fr);gap:.4rem;padding-block:1.1rem 1.25rem}
  .row:hover{padding-inline:.6rem}
  .row__no,.row__date{padding-top:0;text-align:left}
  .row__date{order:-1}
  .row__no{display:none}
  .topiclist{grid-template-columns:1fr}
  .creditlist__item{grid-template-columns:5.5rem minmax(0,1fr)}
  .creditlist img{width:5.5rem;height:5.5rem}
  .prose{font-size:1.0625rem}
  .toc ol{columns:1}
  .cards,.cards--3,.photo-row{grid-template-columns:minmax(0,1fr)}
  .cards--1 .card{flex-direction:column}
  .stat + .stat{border-left:0;padding-left:0;border-top:1px solid var(--soft)}
  .stats{grid-template-columns:1fr}
  .stat{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;align-items:baseline;padding:.8rem 0}
  .stat__n{font-size:2.5rem}
  .stat__l{margin-top:0}
  .timeline li{grid-template-columns:5.5rem minmax(0,1fr);gap:1rem}
  .tl__when{font-size:1.875rem}
  .chart__row{grid-template-columns:4.5rem minmax(0,1fr) 4.25rem;gap:.6rem}
  .pager{grid-template-columns:1fr}
  .pager__a--next{border-left:0;border-top:1px solid var(--ink);padding-left:0}
  .foot__links,.foot__note{grid-column:1/13}
}
@media (prefers-reduced-motion:reduce){
  .tile{animation:none}
  *{transition:none !important;scroll-behavior:auto !important}
}
@media print{
  .top,.toc,.foot,.pager,.mosaic{display:none}
  .prose,.post__grid > .prose:first-child{grid-column:1/13}
}
