/* la-metro-safety-hub: the source zip's own stylesheet, scoped to .zp so it styles only this page's
   content. Generated from the zip; edit the source and rebuild rather than this file. */
/* The site stylesheet is imported into the "site" layer for the status bar, the jump palette
   and the footer. Inside .zp only the rules below apply: site rules are reset to the browser
   defaults, so the content renders exactly as the source HTML does on its own. Images and SVG
   keep their attributes, and the site footer keeps its own styles. */
:where(.zp *):not(:where(img, svg, svg *, .foot, .foot *)){all:revert}
:where(.zp *):not(:where(.foot, .foot *))::before,:where(.zp *):not(:where(.foot, .foot *))::after{all:revert}
.zp{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.zp{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}
.zp img{max-width:100%}
.zp [hidden]:not([hidden=until-found i]){display:none!important}
.zp{color-scheme:light;
  --bg:#f7f6f3;--bar:rgba(250,249,246,.9);--panel:#fffefb;--fg:#33383f;--bright:#0d1014;
  --mute:#5c6167;--dim:#6b7076;--rule:#dedbd3;--hair:#eceae4;--accent:#94600f;
  --accent-soft:rgba(148,96,15,.08);--halo:rgba(148,96,15,.30);--shadow:rgba(64,44,12,.22);
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --stage:980px;--prose:66ch;--gap:64px;}
.zp,.zp *{box-sizing:border-box}
.zp{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:14px;
  -webkit-font-smoothing:antialiased;}
.zp ::selection{background:var(--accent);color:var(--bg)}
.zp a{color:var(--accent);text-decoration:none}
.zp a:hover{opacity:.75}
.zp a:focus-visible,.zp button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.zp img{max-width:100%;height:auto;display:block}
.zp .shell{max-width:calc(var(--stage) + 260px);margin:0 auto;
  display:grid;grid-template-columns:190px minmax(0,var(--stage));gap:0 70px;justify-content:center;
  padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));
  padding-block:56px 110px;}
.zp .toc{position:sticky;top:94px;align-self:start}
.zp .toc-label{font-size:10px;letter-spacing:.14em;color:var(--dim);margin-bottom:12px}
.zp .toc ol{list-style:none;margin:0;padding:0}
.zp .toc a{display:grid;grid-template-columns:20px 1fr;gap:6px;padding:5px 0;
  font-size:11.5px;line-height:1.45;color:var(--mute);text-wrap:pretty;transition:color .25s ease;}
.zp .toc a span{color:var(--dim)}
.zp .toc a:hover{color:var(--bright);opacity:1}
.zp .toc a.on{color:var(--bright)}
.zp .toc a.on span{color:var(--accent)}
.zp main{min-width:0}
.zp .eyebrow{font-size:10.5px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin:0 0 12px}
.zp h1{margin:0;font-size:clamp(26px,3.4vw,34px);font-weight:600;letter-spacing:-.015em;line-height:1.15;color:var(--bright);text-wrap:balance}
.zp h1 .cursor{color:var(--accent);font-weight:400;animation:blink 1.15s step-end infinite;text-shadow:0 0 8px var(--halo)}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.zp .dek{margin:14px 0 0;max-width:58ch;font-size:15px;line-height:1.7;color:var(--fg);text-wrap:pretty}
.zp .facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:34px 0 0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.zp .facts div{padding:13px 14px 14px 0;min-width:0}
.zp .facts div+div{padding-left:14px;border-left:1px solid var(--hair)}
.zp .facts dt{font-size:9.5px;letter-spacing:.13em;color:var(--dim);text-transform:uppercase;margin-bottom:6px}
.zp .facts dd{margin:0;font-size:12.5px;line-height:1.45;color:var(--bright)}
.zp .facts .hl dd{color:var(--accent);font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}
.zp .sec{scroll-margin-top:70px;padding-top:var(--gap)}
.zp .h2{display:flex;gap:10px;align-items:baseline;margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.zp .h2 .n{font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums}
.zp .h2 h2{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--bright);text-wrap:balance}
.zp h3{margin:44px 0 14px;font-size:14.5px;font-weight:600;color:var(--bright);letter-spacing:-.005em;text-wrap:balance}
.zp h3::before{content:"### ";color:var(--accent);font-weight:400;opacity:.8}
.zp .sub-first{margin-top:0}
.zp p{margin:0 0 16px;line-height:1.8;max-width:var(--prose);text-wrap:pretty}
.zp .lead{font-size:16px;line-height:1.65;color:var(--bright);max-width:60ch}
.zp strong,.zp b{color:var(--bright);font-weight:600}
.zp ul.list{list-style:none;margin:0 0 16px;padding:0;max-width:var(--prose);display:grid;gap:9px}
.zp ul.list li{display:grid;grid-template-columns:18px 1fr;line-height:1.7;font-size:13.5px}
.zp ul.list li::before{content:"→";color:var(--accent);font-size:12px;line-height:1.95}
.zp .callout{border-left:2px solid var(--accent);padding:2px 0 2px 16px;margin:6px 0 22px}
.zp .callout p{margin:0}
.zp .role{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
.zp .people{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.zp .people li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--hair);font-size:13px}
.zp .people li > span{font-size:11px;color:var(--mute);text-align:right}
.zp .people .me b{color:var(--accent)}
.zp .tag{font-size:9px;letter-spacing:.14em;color:var(--accent);border:1px solid rgba(148,96,15,.45);padding:1px 5px;border-radius:3px;margin-left:8px;vertical-align:2px}
.zp .org{margin:14px 0 0;font-size:11px;line-height:1.7;color:var(--mute)}
.zp .org i{font-style:normal;color:var(--dim);padding:0 4px}
.zp .feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start;margin:44px 0 0}
.zp .feature > div > h3:first-child{margin-top:0}
.zp .feature .fig{margin:0}
.zp .panel{border:1px solid var(--rule);border-radius:4px;background:var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.zp .panel-head{padding:9px 14px;border-bottom:1px solid var(--rule);font-size:10px;letter-spacing:.13em;color:var(--dim);text-transform:uppercase}
.zp .compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zp .compare .panel-body{padding:16px 18px 6px}
.zp .compare h4{margin:0 0 12px;font-size:13.5px;font-weight:600;color:var(--bright)}
.zp .vision{margin:18px 0 0}
.zp .vision-body{display:grid;grid-template-columns:minmax(0,220px) 40px minmax(0,1fr);gap:0;padding:20px}
.zp .tools{list-style:none;margin:0;padding:0;counter-reset:t}
.zp .tools li{counter-increment:t;font-size:12px;padding:5px 0;border-bottom:1px dashed var(--hair);color:var(--mute)}
.zp .tools li::before{content:counter(t,decimal-leading-zero);color:var(--dim);margin-right:10px;font-size:10.5px}
.zp .vision-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:16px}
.zp .groups{display:grid;gap:16px;align-content:center}
.zp .grp-k{font-size:10px;letter-spacing:.13em;color:var(--dim);text-transform:uppercase;margin-bottom:6px}
.zp .map-row{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,150px);align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--hair)}
.zp .map-row .from{font-size:12px;color:var(--fg)}
.zp .map-row .from small{display:block;font-size:10px;color:var(--dim);margin-top:2px}
.zp .map-row .arr{color:var(--dim);text-align:center}
.zp .map-row .to{font-size:12px;font-weight:600;color:var(--accent);border:1px solid rgba(148,96,15,.4);border-radius:3px;padding:4px 8px;background:var(--accent-soft)}
.zp .steps{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.zp .steps li{padding-top:12px;border-top:2px solid var(--accent);min-width:0}
.zp .steps li:last-child{border-top-color:var(--rule)}
.zp .steps .k{font-size:10px;color:var(--accent);letter-spacing:.1em}
.zp .steps b{display:block;margin:4px 0 4px;font-size:13.5px}
.zp .steps span{display:block;font-size:11.5px;line-height:1.55;color:var(--mute)}
.zp .chips{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.zp .chips li{padding:6px 10px;border:1px solid var(--rule);border-radius:3px;font-size:11.5px;color:var(--fg);background:var(--panel)}
.zp .chips li .p{color:var(--accent);margin-right:6px;font-variant-numeric:tabular-nums}
.zp .insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 0}
.zp .insights .panel{padding:14px 15px}
.zp .insights h4{margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--bright)}
.zp .insights p{margin:0;font-size:12px;line-height:1.6;color:var(--mute)}
.zp .fig{margin:28px 0 0}
.zp .fig button{display:block;width:100%;padding:0;border:1px solid var(--rule);border-radius:6px;background:#fff;cursor:zoom-in;overflow:hidden;position:relative}
.zp .fig button::after{content:"⤢";position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:rgba(247,246,243,.82);color:var(--bright);font-size:12px;opacity:0;transition:opacity .18s;}
.zp .fig button:hover::after,.zp .fig button:focus-visible::after{opacity:1}
.zp .fig img{width:100%}
.zp .fig.bare button{border:0;background:transparent;border-radius:0}
.zp .fig button{padding:16px}
.zp .fig img{border-radius:3px}
.zp .fig figcaption,.zp .cap{margin-top:10px;font-size:10.5px;line-height:1.6;color:var(--dim);max-width:none}
.zp .fig figcaption .fn{color:var(--accent)}
.zp .fig.cap-w{max-width:640px}
.zp .row{display:flex;gap:16px;margin:28px 0 0;align-items:flex-start}
.zp .row .fig{margin:0;min-width:0}
.zp .hero-fig{margin:34px 0 0}
.zp .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 0 26px}
.zp .metrics div{padding:18px 18px 18px 0}
.zp .metrics div+div{padding-left:18px;border-left:1px solid var(--hair)}
.zp .metrics .num{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}
.zp .metrics p{margin:8px 0 0;font-size:12px;line-height:1.55;color:var(--mute)}
.zp .learn{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin:0}
.zp .learn div{padding:16px 0;border-top:1px solid var(--hair)}
.zp .learn b{display:block;font-size:13.5px;margin-bottom:6px}
.zp .learn p{margin:0;font-size:13px;line-height:1.7;color:var(--fg)}
.zp .quote{display:grid;grid-template-columns:18px 1fr;gap:10px;margin:40px 0 0;max-width:62ch}
.zp .quote span{color:var(--accent)}
.zp .quote p{margin:0;color:var(--bright);font-size:15px;line-height:1.7}
.zp .nextnav{margin-top:56px;padding-top:22px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.zp .next{display:inline-flex;gap:9px;align-items:center;padding:9px 12px;border:1px solid var(--rule);border-radius:3px;font-size:12.5px;color:var(--fg);background:var(--panel)}
.zp .next:hover{color:var(--accent);border-color:var(--accent);opacity:1}
.zp .next .l{color:var(--dim)}
.zp .lb[hidden]{display:none}
.zp .lb{position:fixed;inset:0;z-index:90;background:rgba(247,246,243,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:max(56px,env(safe-area-inset-top,0px)) max(64px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(64px,env(safe-area-inset-left,0px));cursor:zoom-out}
.zp .lb img{max-width:100%;max-height:calc(100vh - 140px);width:auto;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px -30px var(--shadow);background:var(--panel);cursor:default}
.zp .lb-cap{font-size:11px;color:var(--dim);text-align:center;max-width:90ch;line-height:1.5}
.zp .lb-cap b{color:var(--accent);font-weight:400;margin-right:10px;font-variant-numeric:tabular-nums}
.zp .lb-btn{position:fixed;border:1px solid var(--rule);border-radius:3px;background:var(--panel);color:var(--fg);cursor:pointer;font:inherit;font-size:12px}
.zp .lb-btn:hover{color:var(--accent);border-color:var(--accent)}
.zp .lb-close{top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));padding:6px 10px}
.zp .lb-prev,.zp .lb-next{top:50%;transform:translateY(-50%);width:40px;height:40px;font-size:15px}
.zp .lb-prev{left:calc(14px + env(safe-area-inset-left,0px))}
.zp .lb-next{right:calc(14px + env(safe-area-inset-right,0px))}
@media (max-width:1240px){
.zp .shell{grid-template-columns:170px minmax(0,var(--stage));column-gap:44px}
}
@media (max-width:960px){
.zp .shell{grid-template-columns:minmax(0,var(--stage))}
.zp .toc{display:none}
}
@media (max-width:900px){
.zp .feature,.zp .role{grid-template-columns:1fr;gap:22px}
.zp .facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.zp .facts div:nth-child(4){padding-left:0;border-left:0}
.zp .facts div:nth-child(n/**/+4){border-top:1px solid var(--hair)}
.zp .insights{grid-template-columns:1fr 1fr}
.zp .steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
.zp .vision-body{grid-template-columns:1fr;gap:14px}
.zp .vision-arrow{transform:rotate(90deg);height:20px}
}
@media (max-width:640px){
.zp .shell{padding-block:36px 80px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.zp .facts{grid-template-columns:1fr 1fr}
.zp .facts div:nth-child(n){padding-left:0;border-left:0;border-top:1px solid var(--hair)}
.zp .facts div:nth-child(-n/**/+2){border-top:0}
.zp .facts div:nth-child(even){padding-left:14px;border-left:1px solid var(--hair)}
.zp .compare,.zp .learn,.zp .insights{grid-template-columns:1fr}
.zp .steps{grid-template-columns:1fr 1fr}
.zp .metrics{grid-template-columns:1fr}
.zp .metrics div+div{padding-left:0;border-left:0;border-top:1px solid var(--hair)}
.zp .row{flex-direction:column}
.zp .row .fig{flex:none !important;width:100%}
.zp .lb{padding-left:12px;padding-right:12px}
.zp .lb-prev,.zp .lb-next{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:none}
}
@media (prefers-reduced-motion:reduce){
.zp,.zp *{animation:none !important;transition:none !important}
}
@media (min-width:901px){
.zp .facts[data-n="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.zp .steps.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){
.zp .steps.six{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
.zp .steps.six{grid-template-columns:1fr 1fr}
}
/* the source's progress line, now on the site's status bar */
#progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
/* the source's 34px status bar sat in the flow; the site's is fixed, so the content keeps the
   source's position below it (the site bar's 1px border sits on the source's top padding) */
.zp{padding-top:calc(34px + env(safe-area-inset-top,0px))}
