.contact{background:var(--accent-plate);color:var(--on-accent);padding:var(--space-5);margin-top:var(--space-6)}.contact .section-head{margin:0 0 var(--space-4);border-top-color:var(--on-accent)}.contact .num{color:var(--on-accent)}.panel-title{margin:0 0 var(--space-4);font-size:clamp(var(--text-xl), 7vw, var(--text-2xl));line-height:var(--leading-tight);letter-spacing:var(--track-tight);text-transform:uppercase;font-weight:var(--weight-bold);overflow-wrap:break-word}.terms{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);max-width:var(--measure);display:grid}@media (width>=768px){.terms{grid-template-columns:auto 1fr}}.terms dt{color:var(--on-accent);align-self:baseline}.terms dd{margin:0}.contact a{color:var(--on-accent)}.contact .links a{border-bottom-color:var(--on-accent)}.opening{margin:0 0 var(--space-5)}@media (width>=1024px){.opening{gap:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.lede{margin-bottom:0}.facts{gap:var(--space-2);flex-direction:column}}.lede{font-size:var(--text-lg);line-height:var(--leading-snug);max-width:var(--measure)}.facts{gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.facts li{border-left:var(--border-heavy) solid var(--accent);padding-left:var(--space-2)}.journey .section-head{margin:var(--space-6) 0 var(--space-4)}.rows{margin:0;padding:0;list-style:none;display:grid}.row{gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border-hairline) solid var(--rule);display:grid}@media (width>=768px){.row{grid-template-columns:var(--space-8) var(--space-4) 1fr minmax(0, 1fr);align-items:start}}.row>*{min-width:0}.row:last-child{border-bottom:0}.row strong{letter-spacing:var(--track-tight);display:block}.row p{margin:var(--space-1) 0 0;color:var(--ink-muted);max-width:var(--measure)}.when{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent)}.ongoing{margin-top:var(--space-1);padding:0 var(--space-2);background:var(--accent-plate);color:var(--on-accent);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-wide);display:inline-block}.rail{align-self:stretch;display:none;position:relative}@media (width>=768px){.rail{display:block}}.rail:before{content:"";top:0;left:50%;bottom:calc(var(--space-4) * -1);width:var(--flow-stroke);background:var(--rule);transform:translateX(calc(var(--flow-stroke) / -2));position:absolute}.row:last-child .rail:before{bottom:50%}.rail:after{content:"";left:50%;top:var(--space-2);width:var(--space-2);height:var(--space-2);background:var(--paper);border:var(--flow-stroke) solid var(--ink);transition:background var(--motion-base) var(--ease-out-quart);position:absolute;transform:translate(-50%)}.row.current .rail:after{background:var(--accent);border-color:var(--accent)}.used{gap:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--track-wide);flex-wrap:wrap;display:flex}.used span{border:var(--border-hairline) solid var(--ink);background:var(--paper-raised);color:var(--ink);padding:var(--space-1) var(--space-2);transition:background var(--motion-fast) var(--ease-out-quart), color var(--motion-fast) var(--ease-out-quart)}.row:hover .used span{background:var(--ink);color:var(--ink-inverse)}.skills{gap:var(--border-hairline);background:var(--rule);border:var(--border-hairline) solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.skills{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill{background:var(--paper);padding:var(--space-3);min-width:0}.skill h3{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent);margin:0 0 var(--space-2)}.skill .used{gap:var(--space-1)}.journey .links{margin-top:var(--space-5)}@media (prefers-reduced-motion:reduce){.rail:after,.used span{transition-duration:var(--motion-fast)}}.work{gap:var(--space-5);border-top:var(--border-hairline) solid var(--rule);padding-top:var(--space-4);margin-bottom:var(--space-5);display:grid}@media (width>=768px){.work:has(.diagram){gap:var(--space-6);grid-template-columns:7fr 5fr;align-items:start}}.work>*{min-width:0}.kind,.story dt,.diagram figcaption{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-wide)}.kind{margin-bottom:var(--space-2);color:var(--accent);display:block}.work h2{margin:0 0 var(--space-3);font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--track-tight);font-weight:var(--weight-bold);overflow-wrap:anywhere}.story{margin:0}.story dt{color:var(--ink-muted)}.story dd{margin:var(--space-1) 0 var(--space-3);max-width:var(--measure)}.story .result{color:var(--accent)}.tools{gap:var(--space-1) var(--space-2);margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--track-wide);flex-wrap:wrap;display:flex}.tools span{border:var(--border-hairline) solid var(--ink);background:var(--paper-raised);color:var(--ink);padding:var(--space-1) var(--space-2);transition:background var(--motion-fast) var(--ease-out-quart)}.work:hover .tools span{background:var(--ink);color:var(--ink-inverse)}.work .links{margin-top:var(--space-4)}.diagram{border:var(--border-hairline) solid var(--rule);background:var(--paper-raised);padding:var(--space-3);margin:0}.diagram svg{width:100%;height:auto;display:block}.diagram figcaption{gap:var(--space-2);margin-top:var(--space-2);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;display:flex}.node{fill:var(--paper);stroke:var(--ink);stroke-width:var(--flow-stroke)}.node-fill{fill:var(--ink);stroke:var(--ink);stroke-width:var(--flow-stroke)}.node-accent{fill:var(--accent-plate);stroke:var(--accent-plate);stroke-width:var(--flow-stroke)}.edge{fill:none;stroke:var(--ink);stroke-width:var(--flow-stroke)}.edge-dash{fill:none;stroke:var(--ink-muted);stroke-width:var(--flow-stroke);stroke-dasharray:var(--flow-dash)}.cap{font-family:var(--font-mono);font-size:var(--text-xs);fill:var(--ink);text-transform:uppercase}.cap-invert{fill:var(--ink-inverse)}.cap-on-accent{fill:var(--on-accent)}.packet{fill:var(--accent);offset-distance:0%;animation:travel var(--motion-flow) linear infinite}.packet-2{animation-delay:calc(var(--motion-flow) / 3)}.packet-3{animation-delay:calc(var(--motion-flow) / 3 * 2)}.packet-slow{animation-duration:var(--motion-flow-slow)}@keyframes travel{to{offset-distance:100%}}@media (prefers-reduced-motion:reduce){.packet{animation:none}.tools span{transition:none}}.works .section-head{margin:var(--space-6) 0 var(--space-5)}
