.jx-ph{--jx-serif:Georgia,serif;--jx-sans:"Helvetica Neue",Arial,sans-serif;--jx-mono:ui-monospace,monospace;--jx-caps:.16em;background:var(--jx-section);color:var(--jx-lede);font-family:var(--jx-sans);overflow-x:clip;text-align:left}.jx-ph,.jx-ph *,.jx-ph :after,.jx-ph :before{box-sizing:border-box}:where(.jx-ph p){margin:0}.jx-ph__wrap{margin:0 auto;max-width:1140px;padding:130px 24px 68px}.jx-ph__grid{align-items:center;display:grid;gap:56px;grid-template-columns:1.05fr .95fr}.jx-ph__grid--solo{grid-template-columns:1fr}.jx-ph__grid--solo .jx-ph__h1{max-width:18ch}.jx-ph__grid--solo .jx-ph__lede{max-width:58ch}.jx-ph__grid>*{min-width:0}.jx-ph__eyebrow{align-items:center;color:var(--jx-accent);display:inline-flex;font-family:var(--jx-mono);font-size:12px;font-weight:600;gap:10px;letter-spacing:var(--jx-caps);text-transform:uppercase}.jx-ph__eyebrow:before{background:var(--jx-accent);content:"";display:inline-block;height:2px;width:26px}.jx-ph__h1{color:var(--jx-heading);font-family:var(--jx-serif);font-size:var(--jx-h-size);font-weight:600;letter-spacing:-.022em;line-height:1.06;margin:22px 0 18px}.jx-ph__em{color:var(--jx-accent);font-style:normal}.jx-ph__lede{color:var(--jx-lede);font-size:var(--jx-lede-size);margin:0 0 36px;max-width:30em}.jx-ph__cta{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.jx-ph__btn{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-family:var(--jx-sans);font-size:14px;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:all .16s ease}.jx-ph__btn--primary{background:var(--jx-accent);color:#fff}.jx-ph__btn--primary:hover{background:var(--jx-accent-deep)}.jx-ph__btn--ghost{background:transparent;border-color:var(--jx-rule);color:var(--jx-navy)}.jx-ph__btn--ghost:hover{border-color:var(--jx-navy)}.jx-ph__ar{height:16px;width:16px}.jx-ph__note{color:var(--jx-note);font-family:var(--jx-mono);font-size:11.5px;letter-spacing:.04em;margin-top:28px;text-transform:uppercase}.jx-ph__img{border:1px solid var(--jx-rule);border-radius:12px;box-shadow:0 30px 60px -28px rgba(16,14,11,.45);display:block;height:auto;width:100%}.jx-ph__shot{background:var(--jx-shot);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;box-shadow:0 30px 60px -28px rgba(16,14,11,.55);overflow:hidden}.jx-ph__bar{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;gap:7px;padding:12px 14px}.jx-ph__dot{background:#3a3326;border-radius:50%;height:10px;width:10px}.jx-ph__tag{color:#8c8473;font-family:var(--jx-mono);font-size:10.5px;letter-spacing:.12em;margin-left:auto;text-transform:uppercase}.jx-ph__body{padding:16px}.jx-ph__row{align-items:center;border-radius:7px;color:#bcb3a3;display:grid;font-family:var(--jx-mono);font-size:11.5px;gap:12px;grid-template-columns:90px 1fr 78px 64px;padding:11px 12px}.jx-ph__row+.jx-ph__row{margin-top:4px}.jx-ph__row--head{color:#8c8473;font-size:10px;letter-spacing:.1em;padding-bottom:4px;text-transform:uppercase}.jx-ph__row--live{background:rgba(243,108,33,.12);color:#f7e6da}.jx-ph__pill{background:hsla(0,0%,100%,.08);border-radius:999px;font-size:10px;justify-self:start;padding:3px 8px}.jx-ph__pill--ok{background:rgba(74,180,120,.18);color:#8fe0b3}.jx-ph__pill--run{background:rgba(243,108,33,.22);color:#ffb588}.jx-ph__amt{color:#f3efe7;justify-self:end}.jx-ph__foot{border-top:1px solid hsla(0,0%,100%,.08);color:#8c8473;display:flex;font-family:var(--jx-mono);font-size:11px;justify-content:space-between;padding:12px 16px}.jx-ph__foot-accent{color:var(--jx-accent);font-weight:600}@media (max-width:880px){.jx-ph__grid{gap:40px;grid-template-columns:1fr}.jx-ph__wrap{padding:92px 24px 48px}}@media (max-width:520px){.jx-ph__row{font-size:11px;gap:8px;grid-template-columns:58px minmax(0,1fr) auto auto;padding:10px}.jx-ph__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jx-ph__row--head{font-size:9.5px}.jx-ph__pill{padding:3px 7px}}.jx-ph--animate .jx-ph__body .jx-ph__row{transition:background-color .55s ease,box-shadow .55s ease}.jx-ph--animate .jx-ph__tag{padding-left:15px;position:relative}.jx-ph--animate .jx-ph__tag:before{animation:jxphLive 1.8s ease-in-out infinite;background:var(--jx-accent,#f36c21);border-radius:50%;content:"";height:7px;left:0;margin-top:-3.5px;position:absolute;top:50%;width:7px}@keyframes jxphLive{0%,to{box-shadow:0 0 0 0 rgba(243,108,33,.55);opacity:.4}50%{box-shadow:0 0 0 5px rgba(243,108,33,0);opacity:1}}@media (prefers-reduced-motion:reduce){.jx-ph--animate .jx-ph__body .jx-ph__row{transition:none}.jx-ph--animate .jx-ph__tag:before{animation:none}}.jx-ph__mock{min-width:0}.jx-ph__mock>svg{display:block;height:auto;width:100%}.jx-ph__zoom{cursor:zoom-in;position:relative}.jx-ph__zoomhint{align-items:center;background:hsla(0,0%,100%,.9);border:1px solid var(--jx-rule,#e2dccd);border-radius:999px;box-shadow:0 4px 12px rgba(16,14,11,.1);color:var(--jx-note,#756d5d);display:inline-flex;font-family:var(--jx-mono);font-size:9.5px;gap:4px;letter-spacing:.08em;padding:4px 8px;pointer-events:none;position:absolute;right:12px;text-transform:uppercase;top:12px;z-index:2}.jx-ph__zoomhint svg{flex:0 0 auto;height:11px;width:11px}.jx-ph__lightbox{align-items:center;background:rgba(16,14,11,.82);cursor:zoom-out;display:none;inset:0;justify-content:center;padding:3vmin;position:fixed;z-index:1000}.jx-ph__lightbox.is-open{display:flex}.jx-ph__lightbox__inner{background:#fbf9f5;border-radius:16px;box-shadow:0 40px 90px rgba(0,0,0,.55);max-height:94vh;overflow:hidden;width:min(1240px,95vw)}.jx-ph__lightbox__inner img,.jx-ph__lightbox__inner svg{display:block;height:auto;max-height:94vh;width:100%}.jx-ph__lightbox__hint{bottom:20px;color:hsla(0,0%,100%,.75);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;left:0;letter-spacing:.12em;position:fixed;right:0;text-align:center;text-transform:uppercase}@keyframes jxphRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes jxphDot{0%,to{opacity:1}50%{opacity:.3}}@keyframes jxphFlow{to{stroke-dashoffset:-7.1}}@keyframes jxphVeh{0%{offset-distance:0;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes jxphPing{0%{opacity:.5;transform:scale(.55)}70%{opacity:0}to{opacity:0;transform:scale(2.4)}}@keyframes jxmGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.jx-ph__mock,.jx-ph__zoom>.jx-ph__img{animation:jxphRise .8s cubic-bezier(.2,.7,.3,1) both}.jx-ph__mock .jxm-livedot{animation:jxphDot 1.8s ease-in-out infinite}.jx-ph__mock .jxm-map-flow{animation:jxphFlow 1.4s linear infinite}.jx-ph__mock .jxm-mv{animation:jxphVeh 9s linear infinite;offset-rotate:0deg}.jx-ph__mock .jxm-v1{offset-path:path("M818 568 Q 641 485 463 521")}.jx-ph__mock .jxm-v2{animation-delay:-3s;animation-duration:12s;offset-path:path("M818 568 Q 868 561 918 613 Q 967 543 1015 553 Q 1029 467 1043 453 Q 987 330 931 287")}.jx-ph__mock .jxm-ping{animation:jxphPing 3.2s ease-out infinite;transform-box:fill-box;transform-origin:center}.jx-ph__mock .jxm-grow{animation:jxmGrow 1.1s cubic-bezier(.2,.7,.3,1) both;transform-box:fill-box;transform-origin:left center}.jx-ph__mock .jxm-sig-pulse{animation:jxphDot 1.8s ease-in-out infinite}.jx-ph__mock .jxm-sig-ping{animation:jxphPing 2.6s ease-out infinite;transform-box:fill-box;transform-origin:center}}@keyframes jxmWpop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes jxmWhot{0%,to{filter:none}50%{filter:drop-shadow(0 0 5px rgba(243,108,33,.8))}}@keyframes jxmSweep{0%{opacity:0;transform:translateX(0)}8%{opacity:1}92%{opacity:1}to{opacity:0;transform:translateX(356px)}}@keyframes jxmGrowY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes jxmPop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes jxmDraw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){.jx-ph__mock .jxm-cell{animation:jxmWpop .5s cubic-bezier(.2,.8,.3,1) both;opacity:0;transform-box:fill-box;transform-origin:center}.jx-ph__mock .jxm-cell--hot{animation:jxmWpop .5s cubic-bezier(.2,.8,.3,1) both,jxmWhot 2.6s ease-in-out 1.4s infinite}.jx-ph__mock .jxm-sweep{animation:jxmSweep 3.4s cubic-bezier(.5,0,.5,1) 1.7s infinite}.jx-ph__mock .jxm-growy{animation:jxmGrowY .9s cubic-bezier(.2,.7,.3,1) both;transform:scaleY(0);transform-box:fill-box;transform-origin:bottom}.jx-ph__mock .jxm-pop{animation:jxmPop .6s cubic-bezier(.2,.7,.3,1) both;opacity:0;transform-box:fill-box}.jx-ph__mock .jxm-draw{animation:jxmDraw .45s ease forwards;stroke-dasharray:1;stroke-dashoffset:1}.jx-ph__mock .jxm-draw--slow{animation-duration:1.1s}}