:root{--field: #1a1c1e;--field-1: #1f2224;--field-2: #242729;--plate-dark: #0a0a0b;--line: #e9e4d8;--line-70: rgba(233, 228, 216, .72);--line-45: rgba(233, 228, 216, .45);--line-25: rgba(233, 228, 216, .22);--line-12: rgba(233, 228, 216, .11);--red: #e03d2d;--display: "Bricolage Grotesque", sans-serif;--mono: "Martian Mono", monospace;--ease-draw: cubic-bezier(.6, .01, .18, 1);--measure: 34em}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--field);color:var(--line);font-family:var(--display);font-weight:300;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative}body:after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.91 0 0 0 0 0.89 0 0 0 0 0.85 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23t)'/%3E%3C/svg%3E")}::selection{background:var(--red);color:var(--field)}a{color:inherit}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.skip{position:absolute;left:1rem;top:-3rem;z-index:60;background:var(--red);color:var(--field);font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .8rem;text-decoration:none;transition:top .15s}.skip:focus-visible{top:.75rem}.site-head{display:flex;justify-content:space-between;align-items:baseline;padding:1.4rem clamp(1.2rem,4vw,3.5rem);position:relative;z-index:50}.mark{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.34em;text-decoration:none}.site-head nav{display:flex;gap:clamp(1rem,3vw,2.4rem)}.site-head nav a{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;color:var(--line-70)}.site-head nav a:hover{color:var(--red)}.site-foot{margin-top:clamp(5rem,10vw,9rem);background:var(--field-1);padding:clamp(2.5rem,5vw,4rem) clamp(1.2rem,4vw,3.5rem) 2rem}.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:72rem}.foot-mark{font-weight:700;letter-spacing:.34em;font-size:.9rem}.foot-line{margin-top:.9rem;color:var(--line-70);max-width:22em}.foot-data div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.45rem 0}.foot-data dt{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--line-45);padding-top:.25em}.foot-data dd{font-size:.95rem;color:var(--line-70)}.credit{margin-top:3.5rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--line-45)}@media(max-width:720px){.foot-grid{grid-template-columns:1fr}.foot-data div{grid-template-columns:8.5rem 1fr}}.plate svg{display:block;width:100%;height:auto}.plate svg text{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;fill:var(--line-45)}.plate .s{stroke:var(--line);stroke-width:1;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.plate .s2{stroke:var(--line);stroke-width:1.9;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.plate .g{stroke:var(--line-45);stroke-width:2.6;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.plate .c{stroke:var(--line-25);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.plate .cf{stroke:var(--line-12);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.plate .r{stroke:var(--red);stroke-width:1.3;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.plate .rf{fill:var(--red);stroke:none}.plate .w{stroke:#f0f1ef;stroke-width:1;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.plate .wf{fill:#f0f1ef;stroke:none}.plate text.ann{fill:var(--line-45);font-size:8.5px;letter-spacing:.05em}.plate text.annb{fill:var(--line-70)}.plate text.annr{fill:var(--red)}.plate text.annw{fill:#f0f1efbf}@media(prefers-reduced-motion:no-preference){html.js .plate .d{stroke-dasharray:100 100;stroke-dashoffset:100}html.js .plate.in .d{animation:pl-draw 1.15s var(--ease-draw) forwards;animation-delay:var(--d, 0ms)}html.js .plate .f{opacity:0}html.js .plate.in .f{animation:pl-ink .7s ease-out forwards;animation-delay:calc(1.05s + var(--d, 0ms))}html.js .plate .ann{opacity:0}html.js .plate.in .ann{animation:pl-ann .5s ease-out forwards;animation-delay:calc(1.3s + var(--d, 0ms))}}@keyframes pl-draw{to{stroke-dashoffset:0}}@keyframes pl-ink{0%{opacity:0}to{opacity:1}}@keyframes pl-ann{0%{opacity:0}to{opacity:1}}.plate-cap{display:flex;gap:1.2rem;align-items:baseline;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--line-45);margin-top:.9rem}.plate-cap .fig{color:var(--red);font-weight:700;white-space:nowrap}.plate-cap .cap{max-width:46em;line-height:1.7}.lbl{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:var(--line-45)}
