/* Reading pages generated from the exhibition's own data (tools/build-pages.js):
   /inventions, /inventions/<id>, /practice, /evidence, /research, /about. */
main:focus{outline:none}
.crumbs{padding-top:34px;font-size:13.5px;color:var(--grey)}
.crumbs a{border-bottom:1px solid var(--grey-2)}
.crumbs a:hover{border-color:var(--red)}
.phero{padding-top:clamp(40px,8vh,96px);padding-bottom:clamp(28px,5vh,56px)}
.phero h1{font-weight:400;font-size:clamp(44px,6.6vw,104px);line-height:.98;letter-spacing:-.045em;margin:18px 0 22px;max-width:16ch}
.phero h1 em{font-style:italic;color:var(--grey)}
.phero .statement{font-size:clamp(22px,2.4vw,34px);line-height:1.2;letter-spacing:-.02em;font-style:italic;color:var(--ink);max-width:28ch;margin-bottom:18px}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ink-soft);max-width:62ch}
.lead a,.prose a{border-bottom:1px solid var(--red)}
.cat{font-size:13px;color:var(--grey);letter-spacing:.01em}

/* two-column reading layout */
.pgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:clamp(40px,8vh,90px)}
@media(max-width:960px){.pgrid{grid-template-columns:1fr}.pside{order:-1}}
.psec{padding-top:24px;margin-top:36px;border-top:1px solid var(--rule)}
.psec:first-child{margin-top:0}
.psec h2{font-weight:400;font-size:clamp(22px,2vw,30px);letter-spacing:-.022em;margin-bottom:14px}
.psec h3{font-weight:500;font-size:17px;color:var(--ink);margin:18px 0 6px}
.prose{color:var(--ink-soft);max-width:70ch;line-height:1.7}
.prose p+p{margin-top:12px}
.prose .em{color:var(--ink)}
.blist{list-style:none;display:flex;flex-direction:column;gap:8px;color:var(--ink-soft);max-width:70ch;line-height:1.6}
.blist li{position:relative;padding-left:18px}
.blist li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--red)}
.mech{display:grid;gap:14px;max-width:72ch}
.mech>div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 22px;padding:14px 0;border-bottom:1px solid var(--rule)}
.mech dt{color:var(--ink);font-weight:500}
.mech dd{color:var(--ink-soft);line-height:1.6}
@media(max-width:620px){.mech>div{grid-template-columns:1fr}}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-size:13px;padding:5px 10px;border:1px solid var(--rule);background:var(--white);color:var(--ink-soft)}
.word{font-size:15px;color:var(--grey)}
.word b{color:var(--ink);font-weight:500}
.pside{position:sticky;top:100px;background:var(--white);border:1px solid var(--rule);padding:22px;display:flex;flex-direction:column;gap:16px}
.pside dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
.pside dt{color:var(--grey);font-size:13px}
.pside dd{color:var(--ink)}
.pside dd a{border-bottom:1px solid var(--red)}
.btn.wide{justify-content:center}

/* index cards (inventions, practice disciplines) */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:clamp(40px,8vh,90px)}
@media(max-width:860px){.cards{grid-template-columns:1fr}}
.card{position:relative;background:var(--white);border:1px solid var(--rule);padding:26px;display:flex;flex-direction:column;gap:10px}
.card::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.card:hover::before,.card:focus-within::before{transform:scaleY(1)}
.card h2,.card h3{font-weight:400;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.025em;line-height:1.1}
.card h2 a:hover,.card h3 a:hover{color:var(--red)}
.card .st{font-style:italic;color:var(--ink);font-size:17px}
.card p{color:var(--ink-soft);line-height:1.6}
.card .more{margin-top:auto;padding-top:6px}

/* registers: evidence and research, one article per entry */
.reg{display:flex;flex-direction:column;padding-bottom:clamp(40px,8vh,90px)}
.rec{padding:30px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:16px clamp(24px,4vw,60px);scroll-margin-top:96px}
@media(max-width:860px){.rec{grid-template-columns:1fr}}
.rec h2{font-weight:400;font-size:clamp(21px,1.9vw,28px);letter-spacing:-.02em;line-height:1.15;margin-top:6px}
.rec .meta{font-size:13px;color:var(--grey);line-height:1.5}
.rec .no{font-size:12px;letter-spacing:.06em;color:var(--grey);font-variant-numeric:tabular-nums}
.pairs{display:grid;gap:14px}
.pairs>div{display:grid;grid-template-columns:150px 1fr;gap:4px 18px}
.pairs dt{font-size:13px;color:var(--grey);padding-top:2px}
.pairs dd{color:var(--ink-soft);line-height:1.65}
.pairs dd.em{color:var(--ink)}
@media(max-width:620px){.pairs>div{grid-template-columns:1fr}}
.jump{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;margin-bottom:26px}
.jump a{border-bottom:1px solid var(--grey-2)}
.jump a:hover{border-color:var(--red)}

/* about */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:8px 0 10px}
.facts>div{background:var(--white);padding:18px 20px}
.facts dt{font-size:12.5px;color:var(--grey);margin-bottom:6px}
.facts dd{color:var(--ink);line-height:1.5}
.stages,.tenets,.culture{list-style:none;display:grid;gap:0;max-width:78ch}
.stages li,.tenets li{display:grid;grid-template-columns:48px 1fr;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.stages .n,.tenets .n,.culture .n{font-size:12px;color:var(--grey);font-variant-numeric:tabular-nums;padding-top:4px}
.stages h3,.tenets h3{font-weight:500;font-size:17px;color:var(--ink);margin:0 0 4px}
.tenets h3 em{font-style:italic;color:var(--grey);font-weight:400}
.stages p,.tenets p{color:var(--ink-soft);line-height:1.6}
.culture li{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.person{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px clamp(24px,4vw,60px);padding:28px 0;border-top:1px solid var(--rule)}
@media(max-width:860px){.person{grid-template-columns:1fr}}
.person h3{font-weight:400;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.025em;color:var(--ink);margin:0}
.person .role{color:var(--grey);font-size:14px;margin-top:6px}
.person .theme{font-style:italic;color:var(--ink);margin-top:14px;line-height:1.5}
.person .li{display:inline-block;margin-top:12px;font-size:14px;border-bottom:1px solid var(--red)}
.offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.offices address{font-style:normal;color:var(--ink-soft);line-height:1.6;margin-top:6px}
.offices h3{margin-top:0}

/* closing band */
.cta{background:var(--ink);color:#EEECE6;padding-top:clamp(40px,7vh,72px);padding-bottom:clamp(40px,7vh,72px)}
.cta .in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta h2{font-weight:400;font-size:clamp(26px,2.8vw,40px);letter-spacing:-.025em;max-width:24ch}
.cta p{color:#B9B6AE;margin-top:10px;max-width:56ch}
.cta .btn{background:#EEECE6;color:var(--ink);border-color:#EEECE6}
.cta .btn:hover{background:var(--red);color:#fff;border-color:var(--red)}
.cta .ask{color:#EEECE6;border-color:#6A675F}
.cta .acts{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.others{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px}
.others a{border-bottom:1px solid var(--grey-2)}
.others a:hover{border-color:var(--red)}
.missing{padding-top:clamp(70px,12vh,140px);padding-bottom:clamp(70px,12vh,140px)}
.missing h1{font-weight:400;font-size:clamp(44px,6.6vw,96px);line-height:.98;letter-spacing:-.045em;margin:18px 0 22px}
