@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:light;--paper:#eeece4;--ink:#292c29;--muted:#6e7168;--wine:#803d3f;--line:#292c2929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:var(--wine);text-underline-offset:4px}a:hover{color:#a45251}a:focus-visible,button:focus-visible{outline:2px solid var(--wine);outline-offset:5px}.masthead{margin:0 5%;height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{color:var(--ink);text-decoration:none;font:500 16px 'IBM Plex Mono';letter-spacing:3px}.brand span{font-size:9px;letter-spacing:1px;margin-left:20px;color:var(--muted)}nav{display:flex;gap:30px;font-size:12px}nav a{text-decoration:none;color:var(--ink)}nav [aria-current]{color:var(--wine)}.cover{max-width:1400px;margin:48px auto 0;padding:0 5%}.cover img{display:block;width:100%;height:clamp(260px,38vw,500px);object-fit:cover;object-position:50% 44%;mix-blend-mode:multiply}.cover figcaption{margin-top:14px;font:9px/1.8 'IBM Plex Mono';letter-spacing:1px;color:var(--muted)}.article-head{max-width:1060px;margin:60px auto 50px;padding:0 35px}.kicker,.date,.quick-label,.toc,.figure-number,.foot,.tags{font:10px/1.8 'IBM Plex Mono';letter-spacing:1px}.kicker{color:var(--wine);text-transform:uppercase;margin-bottom:22px}.date{color:var(--muted)}h1{font:400 clamp(48px,5.8vw,84px)/1.03 'Instrument Serif',Georgia,serif;letter-spacing:-2px;margin:20px 0 28px}h1 em{color:var(--wine);font-weight:400}.byline{font-size:12px;color:var(--muted);margin-bottom:28px}.standfirst{font-size:21px;line-height:1.65;max-width:880px;color:#50564e}.quick{margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.quick-label{color:var(--muted);margin-right:12px}.quick a{font-size:12px;text-decoration:none}.article-body{max-width:1280px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:180px minmax(0,780px);gap:65px;justify-content:center}.toc{position:sticky;top:35px;align-self:start;display:flex;flex-direction:column;gap:15px;padding-top:12px}.toc span{color:var(--muted);margin-bottom:10px}.toc a{color:var(--muted);text-decoration:none;letter-spacing:0}.toc a:hover{color:var(--wine)}.prose{min-width:0}.prose p,.prose li{font-size:16px;line-height:1.95;color:#4c524b}.prose p{margin:0 0 25px}.prose h2{font:400 43px/1.12 'Instrument Serif';letter-spacing:-.5px;margin:60px 0 24px;scroll-margin-top:35px}.prose h3{font:400 28px 'Instrument Serif';margin:35px 0 16px}.prose strong{font-weight:600;color:var(--ink)}.prose figure{margin:38px 0 45px}.prose figure img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.image-link{display:block;cursor:zoom-in}.prose figcaption{font-size:12px;line-height:1.8;color:var(--muted);padding-top:16px;border-top:1px solid var(--line);margin-top:14px}.figure-number{color:var(--wine);display:block;margin-bottom:6px}.note{padding:23px 26px;border-left:2px solid var(--wine);background:#e5e2d8;margin:35px 0}.note p{font-size:14px;margin:0}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0}.numbers div{padding:25px 15px 25px 0}.numbers b{font:400 47px 'Instrument Serif';display:block;color:var(--wine)}.numbers span{font:9px/1.7 'IBM Plex Mono';color:var(--muted);display:block;margin-top:8px}.circuit-plate{background:#e5e3d8;padding:20px 30px}.circuit-plate svg{display:block;width:100%;height:auto}.circuit-plate text{fill:var(--ink);font:15px 'IBM Plex Mono'}.circuit-plate path{fill:none;stroke:#536c60;stroke-width:1.5}.circuit-plate path.ach{stroke:var(--wine)}.circuit-plate circle{fill:var(--paper);stroke:#687266;stroke-width:1.5}.sources{list-style:none;padding:0;counter-reset:refs}.sources li{counter-increment:refs;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.sources li:before{content:counter(refs,decimal-leading-zero) ' / ';font:10px 'IBM Plex Mono';color:var(--wine)}.sources small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.tags{display:flex;gap:10px;margin:35px 0 55px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:6px 12px;font-size:9px}.next{max-width:1100px;margin:40px auto 80px;padding:45px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:35px}.next h2{font:400 44px 'Instrument Serif';margin:0 0 15px}.next p{color:var(--muted);font-size:14px}.cta{display:inline-block;background:var(--wine);color:white;padding:16px 24px;font-size:12px;text-decoration:none;white-space:nowrap}.cta:hover{background:#673134;color:#fff}.foot{display:flex;justify-content:space-between;padding:32px 5%;background:var(--ink);color:#d7d7cb;gap:20px}.foot a{color:#eee8d9;text-decoration:none}.lightbox{border:0;padding:0;background:#eeece4;max-width:96vw;max-height:94vh;overflow:auto}.lightbox::backdrop{background:#292c29c9}.lightbox img{display:block;max-width:92vw;max-height:82vh;object-fit:contain}.lightbox button{display:block;margin:12px 18px 12px auto;border:1px solid var(--line);background:none;padding:8px 15px;color:var(--ink);cursor:pointer;font:12px 'DM Sans'}
@media(max-width:950px){.article-body{grid-template-columns:minmax(0,780px)}.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 22px;padding:0 0 25px;border-bottom:1px solid var(--line)}.toc span{width:100%;margin:0}.article-body{gap:25px}.article-head{margin-top:40px}.cover{margin-top:30px}}@media(max-width:600px){.masthead{height:72px;gap:15px}.brand span{display:none}nav{gap:14px;font-size:10px}.cover{padding:0 5%;margin-top:25px}.cover img{height:260px}.article-head{padding:0 5%;margin:35px auto}.article-head h1{font-size:48px;letter-spacing:-1px}.standfirst{font-size:18px}.quick{gap:14px 20px}.quick-label{width:100%}.prose p,.prose li{font-size:15px;line-height:1.85}.prose h2{font-size:35px;margin-top:45px}.note{padding:20px}.numbers b{font-size:37px}.numbers span{font-size:8px}.circuit-plate{padding:10px}.next{display:block;margin:20px 5% 45px;padding:35px 0}.next h2{font-size:37px}.next .cta{margin-top:15px}.foot{flex-direction:column;font-size:9px}.prose figure{margin:30px 0}}
/* Shared LOBSTER blue accent */
:root{--wine:#2e5f8a}
