body{overflow-x:clip}.fig.smap{--smap-h:min(calc(100svh - var(--header-height)), 900px);background:var(--white);width:100vw;max-width:none;margin:44px calc(50% - 50vw);position:relative;left:auto;transform:none}.fig.smap--tall{--smap-h:min(calc(100svh - var(--header-height)), 1200px)}.smap .smap__body{position:relative}.smap .smap__mapcol{top:var(--header-height);height:var(--smap-h);background:var(--paper-2);min-height:420px;position:sticky;overflow:hidden}.smap .smap__svg{will-change:transform;width:100%;height:100%;font-family:var(--sans);display:block}.smap .smap__fail{font:400 13px/1.5 var(--sans);color:var(--taupe);place-content:center;margin:0;display:grid;position:absolute;inset:0}.smap .smap__clock{z-index:2;border:1px solid var(--rule);border-left:3px solid var(--ink);pointer-events:none;background:#ffffffeb;gap:3px;padding:9px 13px 10px;display:grid;position:absolute;top:14px;left:14px}.smap .smap__clock[hidden]{display:none}.smap .smap__clock-date{font:700 15px/1.1 var(--sans);color:var(--ink)}.smap .smap__clock-ais{font:700 10px/1.1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}.smap .smap__clock-ais[data-ais=on]{color:var(--steelB)}.smap .smap__clock-ais[data-ais=spoof]{color:var(--rust)}.smap .smap__ship{transition:opacity .25s}.smap.is-moving .smap__ship{transition:none}.smap .smap__fail[hidden]{display:none}.smap .smap__rail{z-index:2;width:min(430px,44%);margin:calc(-1 * var(--smap-h)) clamp(20px, 5vw, 110px) 0 auto;gap:var(--smap-gap,12vh);pointer-events:none;padding:0;display:grid;position:relative}.fig.smap--slow{--smap-gap:58vh;--smap-gap-mobile:calc(1.15 * var(--smap-h))}.smap .smap__step{pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);color:#fff;opacity:.55;background:#2a2a2ab8;border:1px solid #ffffff24;align-content:center;gap:12px;padding:26px 28px;transition:opacity .25s,background .25s;display:grid;box-shadow:0 18px 44px #00000038}.smap .smap__step:first-child{margin-top:22vh}.smap .smap__step:last-child{margin-bottom:26vh}.smap .smap__step.is-active,.smap .smap__step:hover{opacity:1;background:#2a2a2adb}.smap.is-moving .smap__step,.smap.is-scrolling .smap__step{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:#2a2a2ae6}.smap .smap__steph{font:700 21px/1.25 var(--sans);letter-spacing:-.01em;text-transform:none;color:#fff;margin:0}.smap .smap__stepp{font:400 15.5px/1.6 var(--sans);color:#ffffffe0;margin:0}.smap .smap__stepp em{color:inherit;font-style:italic}.smap .smap__stepp b{color:#fff;font-weight:700}.smap .smap__grid{background:#ffffff29;border:1px solid #ffffff29;gap:1px;margin-top:2px;display:grid}.smap .smap__cell{background:#2a2a2a80;padding:12px 14px}.smap .smap__k{font:700 10px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}.smap .smap__v{font:400 13.5px/1.5 var(--sans);color:#ffffffdb;margin-top:3px}.smap .smap__quote{font:300 italic 16px/1.55 var(--sans);color:#ffffffeb;border-left:2px solid var(--orange);margin:0;padding-left:14px}.smap .smap__cite{font:400 12.5px/1.5 var(--sans);color:#ffffffb3;margin:0}.smap .smap__ref{font:700 11.5px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--warm-gray);margin-top:2px}.smap .smap__ref a{color:#ff8a5c;border-bottom:none;font-weight:700}.smap .smap__ref a:hover{color:#fff;border-bottom:1px solid #fff}.smap--pinned .smap__rail{pointer-events:none;gap:0}.smap--pinned .smap__step{pointer-events:none;height:88vh;padding:0}.smap--pinned .smap__step,.smap--pinned .smap__step.is-active,.smap--pinned .smap__step:hover,.smap--pinned.is-moving .smap__step,.smap--pinned.is-scrolling .smap__step{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;background:0 0;border:0}.smap--pinned .smap__step:first-child{margin-top:0}.smap--pinned .smap__step:last-child{margin-bottom:30vh}.smap__panel{z-index:3;width:min(430px,44%);display:grid;position:absolute;top:50%;right:clamp(20px,5vw,110px);transform:translateY(-50%)}.smap__card{color:#fff;opacity:0;visibility:hidden;background:#2a2a2adb;border:1px solid #ffffff24;grid-area:1/1;align-content:center;gap:12px;padding:26px 28px;transition:opacity .3s,visibility .3s;display:grid;box-shadow:0 18px 44px #00000038}.smap__card.is-on{opacity:1;visibility:visible}@media (max-width:900px){.fig.smap{--smap-h:max(300px, 52svh)}.smap .smap__mapcol{z-index:3;min-height:300px}.smap .smap__rail{gap:var(--smap-gap-mobile,calc(.28 * var(--smap-h)));width:auto;margin:0 12px}.smap .smap__step{padding:20px}.smap--pinned .smap__step{height:76svh;padding:0}.smap--pinned .smap__mapcol{height:calc(100svh - var(--header-height) - 10px);flex-direction:column;display:flex}.smap--pinned .smap__svg{flex:auto;height:auto;min-height:0}.smap--pinned .smap__panel{flex:none;width:auto;margin:8px 0 0;position:static;transform:none}.smap--pinned .smap__card{padding:16px 18px}.smap .smap__step:first-child{margin-top:16px}.smap .smap__step:last-child{margin-bottom:24px}}@media (prefers-reduced-motion:reduce){.smap .smap__step{transition:none}}
figure.fig.lmap{grid-template-rows:1fr auto auto 1fr;grid-template-columns:auto minmax(300px,660px);justify-content:center;align-items:start;gap:0 clamp(20px,2vw,36px);width:100vw;max-width:none;margin:36px calc(50% - 50vw);padding:0 clamp(16px,2.2vw,40px);display:grid}.lmap__canvas{grid-row:1/5}.lmap__side{grid-row:2}.lmap .lmap__src{grid-row:3}.lmap__side,.lmap .lmap__src{grid-column:2}.lmap{--lmap-h:.899;--lmap-cap:min(calc((100svh - var(--header-height) - 46px) / var(--lmap-h)), calc(100vw - 420px))}.lmap__canvas{top:calc(var(--header-height) + 14px);width:var(--lmap-cap);max-width:100%;position:sticky;container-type:inline-size}.lmap__canvas svg{border:1px solid var(--rule);width:100%;height:auto;display:block}.lmap__cards{margin:0;padding:0;list-style:none}.lmap__card{border-bottom:1px solid var(--rule);grid-template-columns:22px 1fr;gap:9px;padding:9px 0;display:grid}.lmap__card:last-child{border-bottom:none;padding-bottom:0}.lmap__n{color:var(--taupe);font-variant-numeric:tabular-nums;padding-top:3px;font-size:10px;font-weight:700}.lmap p.lmap__cardh{margin:0 0 3px;font-size:14px;font-weight:700;line-height:1.25}.lmap__role{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700}.lmap__role--doc,.lmap__role--image{color:var(--orange)}.lmap__role--list{color:var(--taupe)}.lmap p.lmap__cardp{margin:0;font-size:12.5px;line-height:1.5}.lmap .lmap__src{letter-spacing:.02em;text-transform:none;color:var(--taupe);border-top:none;margin-top:10px;padding-top:14px;font-size:10.5px;font-weight:400;line-height:1.5}@media (max-width:820px){figure.fig.lmap{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:20px}.lmap__canvas,.lmap__side,.lmap .lmap__src{grid-row:auto}.lmap__side,.lmap .lmap__src{grid-column:1}.lmap__canvas{width:auto;position:static}.lmap__side{max-width:720px}}
figure.fig.tplan{width:100vw;max-width:none;margin:36px calc(50% - 50vw);padding:0 clamp(16px,2.2vw,40px)}.tplan__grid{grid-template-columns:minmax(0,auto) minmax(460px,560px);justify-content:center;align-items:center;gap:36px;display:grid}.tplan__canvas{top:calc(var(--header-height) + 14px);position:sticky}.tplan .tplan__canvas img{width:auto;max-width:100%;max-height:calc(100svh - var(--header-height) - 60px);background:0 0;border:none;height:auto;margin-inline:auto}.tplan__items{margin:0;padding:0;list-style:none}.tplan__item{grid-template-columns:20px 1fr;gap:10px;padding:8px 0;display:grid}.tplan__n{font-family:var(--mono);color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:4px;font-size:12.5px;font-weight:700;line-height:1.4}.tplan__swatch{background-image:repeating-linear-gradient(90deg,#111 0 7px,#0000 7px 12px);width:19px;height:2px;margin-top:11px}.tplan .tplan__h{margin:0;font-size:15.5px;font-weight:700;line-height:1.35}.tplan .tplan__h .tplan__tail{color:var(--slate);font-size:14px;font-weight:400}.tplan .tplan__prov{color:var(--taupe);margin:20px 0 0;font-size:11.5px;font-style:italic;line-height:1.5}@media (max-width:1400px){.tplan__grid{grid-template-columns:1fr;align-items:start;gap:22px}.tplan__canvas{position:static}.tplan__side{max-width:720px}}
