.pm{padding:var(--space-9) 0;background:var(--bg-page)}.pm__container{max-width:var(--container-w);padding:0 var(--container-px);margin:0 auto}.pm__head{max-width:660px;margin-bottom:var(--space-7)}.pm__title{margin-top:var(--space-3)}.pm__lede{margin:var(--space-3) 0 0;color:var(--fg-2)}.pm__grid{gap:var(--space-8);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;display:grid}.pm__map svg{width:100%;height:auto;display:block}.pm__map .ln{stroke:var(--color-navy-600);fill:none;stroke-linecap:round;stroke-linejoin:round}.pm__map .ms{font-family:var(--font-mono);letter-spacing:.12em;fill:var(--color-navy-600);opacity:.55;font-size:7px}.pm__art{pointer-events:none}.pm__flow{stroke:#5a7ca6}@media (hover:hover) and (prefers-reduced-motion:no-preference){.pm__flow{stroke-dasharray:7 4;animation:2.6s linear infinite pm-flow}}@keyframes pm-flow{to{stroke-dashoffset:-22px}}.pm__node{cursor:pointer}.pm__node .pm__hit{fill:#0000}.pm__node .pm__dot{fill:var(--bg-page)}.pm__node .pm__ring{opacity:0}.pm__node .pm__lbl{font-family:var(--font-mono);letter-spacing:.1em;fill:var(--color-navy-600);paint-order:stroke;stroke:var(--bg-page);stroke-width:3px;stroke-linejoin:round;font-size:9px}.pm__node.is-on .pm__ring{opacity:1}.pm__node.is-on .pm__lbl{fill:var(--accent)}.pm__map[data-active] .pm__node:not(.is-on){opacity:.35}.pm__map[data-active] .pm__dim{opacity:.25}@media (prefers-reduced-motion:no-preference){.pm__node,.pm__node .pm__ring,.pm__node .pm__lbl,.pm__dim{transition:opacity .35s var(--ease-out), fill .35s var(--ease-out)}}.pm__list{flex-direction:column;gap:8px;display:flex}.pm__item{align-items:baseline;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-hairline);color:inherit;border-radius:0;padding:10px 14px;text-decoration:none;display:flex}.pm__item:hover,.pm__item:focus-visible,.pm__item.is-active{border-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.pm__item{transition:border-color .25s var(--ease-out), transform .25s var(--ease-out)}.pm__item:hover,.pm__item:focus-visible,.pm__item.is-active{transform:translate(3px)}}.pm__item-name{color:var(--fg-1);min-width:0;font-size:15px;font-weight:600;line-height:1.3}.pm__item-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-2);opacity:.75;flex:none;margin-left:auto;font-size:10px}.pm__foot{margin:var(--space-2) 2px 0;color:var(--fg-2);font-size:13px}.pm__foot a{color:var(--fg-1);font-weight:600;text-decoration:none}.pm__foot a:hover{color:var(--accent)}.pm__carousel{display:none}.pm__cartrack{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.pm__cartrack::-webkit-scrollbar{display:none}.pm__carcard{scroll-snap-align:start;background:var(--bg-surface);border:1px solid var(--border-hairline);border-left:3px solid var(--border-hairline);color:inherit;flex-direction:column;flex:0 0 60%;gap:5px;padding:13px 15px;text-decoration:none;display:flex}.pm__carcard.is-on{border-left-color:var(--accent)}.pm__carcard-name{color:var(--fg-1);font-size:16px;font-weight:600;line-height:1.2}.pm__carcard-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-2);opacity:.72;font-size:10.5px}.pm__carnav{justify-content:center;align-items:center;gap:16px;margin-top:14px;display:flex}.pm__cararrow{border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:var(--bg-surface);width:36px;height:36px;color:var(--fg-1);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:border-color .2s,color .2s;display:inline-flex}.pm__cararrow:hover{border-color:var(--accent);color:var(--accent)}.pm__cardots{align-items:center;gap:6px;display:inline-flex}.pm__cardot{background:var(--color-navy-200);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:width .2s,background .2s;position:relative}.pm__cardot:after{content:"";position:absolute;inset:-9px}.pm__cardot.is-on{background:var(--accent);border-radius:999px;width:20px}@media (max-width:900px){.pm{padding:var(--space-8) 0}.pm__grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.pm__list{display:none}.pm__carousel{display:block}.pm__node{pointer-events:none}.pm__map[data-active] .pm__node:not(.is-on),.pm__map[data-active] .pm__dim{opacity:.5}}
