.so-root{background:var(--fl-surface);color:var(--fl-ink);font-family:var(--fl-font-sans);-webkit-font-smoothing:antialiased;--so-tone:var(--fl-canal);overflow-x:clip}.so-root[data-tone=stone]{--so-tone:#473531}.so-fig{margin:0;padding:0;position:relative}.so-fig-v{width:100%;position:relative}.so-fig-v svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.so-fig-mid,.so-fig-narrow{display:none}.so-d{opacity:0;transition:opacity .5s ease var(--d)}.so-fig.is-in .so-d{opacity:var(--o)}.so-d-faint,.so-d-lit,.so-d-rule{fill:var(--fl-ink)}.so-d-canal{fill:var(--so-tone)}.so-ln{fill:none;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--t) cubic-bezier(.45,0,.25,1) var(--d)}.so-fig.is-in .so-ln{stroke-dashoffset:0}.so-ln-rule{stroke:var(--fl-ink);stroke-opacity:.28;stroke-width:1px;stroke-dasharray:.004 .012;stroke-dashoffset:0;opacity:0;transition:opacity .7s ease var(--d)}.so-fig.is-in .so-ln-rule{opacity:1}.so-ln-trace{stroke:var(--fl-ink);stroke-width:1.4px;stroke-linejoin:round}.so-ln-link{stroke:var(--fl-ink);stroke-opacity:.3;stroke-width:1px}.so-ln-thread{stroke:var(--so-tone);stroke-width:1.6px}.so-node{opacity:0;transition:opacity .45s ease var(--d)}.so-fig.is-in .so-node{opacity:1}.so-node-ring{fill:var(--fl-surface);stroke-width:1px;stroke-opacity:.35}.so-node-ink{color:var(--fl-ink)}.so-node-canal{color:var(--so-tone)}.so-node-coral{color:var(--fl-coral)}.so-node-coral .so-node-ring{stroke-opacity:.55}.so-node .so-node-ring{stroke:currentColor}.so-node .so-node-core{fill:currentColor}.so-tag{font-family:var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);white-space:nowrap;opacity:0;transition:opacity .5s ease var(--d);background:var(--fl-surface);margin:0 -4px;padding:3px 4px;font-size:11px;font-weight:500;line-height:1;position:absolute;transform:translate(calc(4px - 50%),-50%)}.so-fig.is-in .so-tag{opacity:1}.so-tag-left{transform:translateY(-50%)}.so-tag-right{transform:translate(calc(8px - 100%),-50%)}.so-tag-ink{color:var(--fl-ink);text-transform:none;letter-spacing:.01em;font-size:12px;font-weight:400}.so-tag-canal{color:var(--so-tone)}.so-vis{min-width:0;height:100%}.so-vis>*{height:100%}.so-vis .pa-app{--pa-h:100%!important}.so-vis .pb-app{--pb-h:100%!important}.so-job{min-width:0}@media (min-width:1200px){.so-job .so-vis-value .pa-vl-side{flex-basis:262px;display:flex}.so-job .so-vis-value .pa-vl-select{display:none}.so-job .so-vis-value .pa-vl-main{border-left:1px solid var(--pa-line2);border-top-left-radius:10px;margin:12px 0 0 2px}.so-job .so-vis-value .pa-vl-cases{border-right:0;flex:auto}.so-job .so-vis-value .pa-vl-detail{display:none}}.so-feat-in{border-top:1px solid var(--fl-hairline);padding-top:var(--fl-space-3)}.so-root .so-feat-head{align-items:start}.so-root .so-feat-head>.so-feat-lede{color:var(--fl-text-secondary);max-width:34em;margin-top:0}.so-feat-body{column-gap:var(--fl-split-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.so-feat-body>*{min-width:0}.so-feat-list{margin:0;padding:0;list-style:none}.so-feat-list>li{border-top:1px solid var(--fl-hairline);padding:20px 0 32px}.so-feat-list>li:last-child{padding-bottom:0}.so-feat-t{font-family:var(--fl-font-sans);letter-spacing:-.006em;color:var(--fl-ink);margin:0;font-size:16px;font-weight:500;line-height:1.3}.so-feat-d{font-family:var(--fl-font-sans);letter-spacing:-.006em;color:var(--fl-text-muted);text-wrap:pretty;margin:6px 0 0;font-size:16px;font-weight:400;line-height:1.3}@media (max-width:1023px){.so-feat-body{row-gap:var(--fl-space-3);grid-template-columns:minmax(0,1fr)}}.so-root .fl-statement+.fl-lede{margin-top:calc(var(--fl-space-3) + var(--fl-statement-size) * .1)}.so-items{gap:var(--fl-item-gap) var(--fl-split-gap);margin:var(--fl-group-gap) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.so-root .so-door{padding-top:var(--fl-space-3);border-top:1px solid var(--fl-hairline);align-items:start}.so-door .fl-btn--outline{margin-top:4px}@media (max-width:1023px){.so-door .fl-btn--outline{margin-top:0}}@media (min-width:1024px){.so-side{top:calc(var(--fl-nav-h) + var(--fl-space-3));align-self:start;position:sticky}}.so-led{min-width:0}.so-led-cols,.so-led-row{column-gap:var(--fl-item-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.so-led-cols{padding-bottom:var(--fl-space-2);border-bottom:1px solid var(--fl-ink)}.so-led-side,.so-led-who{font-family:var(--fl-font-sans);font-size:var(--fl-body-size);line-height:var(--fl-body-lh);letter-spacing:-.006em;color:var(--fl-ink);font-weight:500}.so-led-rows{margin:0;padding:0;list-style:none}.so-led-row{padding:var(--fl-space-2) 0 var(--fl-space-3);row-gap:var(--fl-h3-gap)}.so-led-row+.so-led-row{border-top:1px solid var(--fl-hairline)}.so-led-row>.fl-h3{grid-column:1/-1}.so-led-row>.fl-body{margin:0}.so-led-who,.so-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.so-sec{margin:0;padding:0;list-style:none}.so-sec>li{column-gap:var(--fl-item-gap);padding:var(--fl-space-3) 0;border-top:1px solid var(--fl-hairline);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:baseline;display:grid}.so-sec>li:first-child{border-top:0;padding-top:0}.so-sec>li>.fl-body{margin:0}@media (min-width:768px) and (max-width:1023px){.so-fig-wide{display:none}.so-fig-mid{display:block}}@media (max-width:767px){.so-fig-wide{display:none}.so-fig-narrow{max-width:420px;display:block}.so-items{grid-template-columns:minmax(0,1fr)}.so-led-cols{display:none}.so-led-row{row-gap:var(--fl-space-2);grid-template-columns:minmax(0,1fr)}.so-led-row>.fl-h3+.fl-body{margin-top:calc(var(--fl-h3-gap) - var(--fl-space-2))}.so-led-row:first-child{padding-top:0}.so-led-who{clip-path:none;width:auto;height:auto;margin:0 0 2px;display:block;position:static;overflow:visible}.so-sec>li{row-gap:var(--fl-h3-gap);grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.so-d,.so-ln,.so-node,.so-tag{transition:none}}.uc{margin-top:var(--fl-group-gap)}.uc-cards{grid-template-columns:repeat(var(--uc-n,6),minmax(0,1fr));gap:12px;display:grid}.uc-card{grid-row:span 2;grid-template-rows:subgrid;border:1px solid var(--fl-hairline);background:var(--fl-surface);min-width:0;font:inherit;text-align:left;color:var(--fl-ink);cursor:pointer;border-radius:4px;row-gap:0;margin:0;padding:0;scroll-margin-top:16px;transition:border-color .2s,background-color .2s;display:grid}.uc-card:hover{border-color:var(--fl-text-floor)}.uc-card:focus-visible{outline:2px solid var(--fl-focus);outline-offset:3px}.uc-card:target:focus-visible{outline:none}.uc-name{border-bottom:1px solid var(--fl-hairline);font-family:var(--fl-font-sans);letter-spacing:-.006em;align-items:center;gap:9px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.3;display:flex}.uc-name i{background:var(--fl-ink);flex:none;width:8px;height:8px}.uc-items{font-family:var(--fl-font-sans);color:var(--fl-text-muted);flex-direction:column;gap:4px;padding:12px 14px 14px;font-size:14px;line-height:1.35;display:flex}.uc-items span:first-child{color:var(--fl-text-secondary)}.uc-card.is-on{border-color:var(--so-tone)}.uc-card.is-on .uc-name{background:color-mix(in srgb,var(--so-tone) 9%,var(--fl-surface));color:var(--so-tone);border-bottom-color:var(--so-tone)}.uc-card.is-on .uc-name i{background:var(--so-tone)}.uc-body{column-gap:var(--fl-split-gap);margin-top:var(--fl-space-3);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.uc-shot,.uc-detail{min-width:0}.uc-count{font-family:var(--fl-font-mono);letter-spacing:.06em;color:var(--fl-text-muted);margin:0;font-size:12px}.uc-title{font-family:var(--fl-font-display);font-weight:400;font-size:var(--fl-section-head-size);letter-spacing:-.012em;color:var(--so-tone);margin:10px 0 0;line-height:1.1}.uc-line{max-width:30em;font-family:var(--fl-font-sans);font-size:var(--fl-body-size);line-height:var(--fl-body-lh);color:var(--fl-text-secondary);text-wrap:pretty;margin:14px 0 0}.uc-dl{margin:var(--fl-space-3) 0 0;gap:8px;display:grid}.uc-dl>div{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.uc-dl dt{font-family:var(--fl-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fl-text-muted);font-size:11px}.uc-dl dd{font-family:var(--fl-font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fl-ink);margin:0;font-size:13px;line-height:1.5}@media (max-width:1279px){.uc-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1023px){.uc-body{row-gap:var(--fl-space-3);grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.uc-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.uc-card{flex-direction:column;grid-row:auto;display:flex}.uc-items{display:none}.uc-name{border-bottom:0;flex:1;padding:11px 12px;font-size:14px}.uc-card.is-on .uc-name{border-bottom:0}}.fa-steps{margin:var(--fl-group-gap) 0 0;gap:var(--fl-item-gap);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.fa-steps li{border:1px solid var(--fl-hairline);border-radius:4px}.fa-st{border-bottom:1px solid var(--fl-hairline);font-family:var(--fl-font-sans);color:var(--fl-ink);align-items:center;gap:9px;margin:0;padding:12px 16px;font-size:15px;font-weight:500;line-height:1.3;display:flex}.fa-st i{background:var(--fl-mark);flex:none;width:8px;height:8px}.fa-n{font-family:var(--fl-font-mono);color:var(--fl-text-muted);font-size:12px;font-weight:400}.fa-sd{font-family:var(--fl-font-sans);font-size:var(--fl-body-size);color:var(--fl-text-secondary);text-wrap:pretty;margin:0;padding:14px 16px 18px;line-height:1.45}.fa-qh{margin:var(--fl-space-4) 0 0;font-family:var(--fl-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fl-text-muted);font-size:11px;font-weight:500}.fa-qs{column-gap:var(--fl-item-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0;padding:0;list-style:none;display:grid}.fa-qs--two{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-qs li{border-top:1px solid var(--fl-hairline);padding:16px 0 18px}.fa-q{font-family:var(--fl-font-sans);letter-spacing:-.01em;color:var(--fl-ink);text-wrap:pretty;margin:0;font-size:18px;line-height:1.38}.fa-tag{font-family:var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-secondary);margin:6px 0 -4px;padding:4px 0;font-size:11px;font-weight:500;text-decoration:none;display:inline-block}a.fa-tag:hover{color:var(--fl-ink);text-underline-offset:3px;text-decoration:underline}.fa-tag:focus-visible{outline:2px solid var(--fl-focus);outline-offset:3px;border-radius:2px}.fa-tag.is-plain{color:var(--fl-text-muted)}.fa-inline,.fa-light{scroll-margin-top:calc(var(--fl-nav-h) + 16px)}.fa-head{column-gap:var(--fl-split-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.fa-label{margin:0 0 var(--fl-space-2);font:500 12px/1.4 var(--fl-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fl-text-muted)}.fa-h2{font-family:var(--fl-font-display);font-feature-settings:normal;font-weight:400;font-size:var(--fl-h2-size);line-height:var(--fl-h2-lh);letter-spacing:-.015em;color:var(--fl-ink);text-wrap:balance;margin:0}.fa-lede{margin:calc(var(--fl-space-2) + 18px) 0 0;max-width:34em;font:400 20px/1.5 var(--fl-font-sans);letter-spacing:-.011em;color:var(--fl-text-secondary);text-wrap:pretty}.fa-inline .fa-steps{column-gap:64px}.fa-inline .fa-steps li{background:#fff;border-color:#2b2c29;border-radius:0;position:relative}.fa-inline .fa-st{border-bottom-color:#2b2c29;padding:14px 20px;font-size:18px;font-weight:450}.fa-inline .fa-st i{background:var(--fl-canal)}.fa-inline .fa-sd{min-height:3em;padding:18px 20px 26px;font-size:16px}.fa-inline .fa-steps li:not(:last-child):after{content:"";border-top:1px dotted #2b2c29;width:64px;position:absolute;top:24px;left:100%}.fa-inline .fa-qs li{padding:20px 0 22px}.fa-inline .fa-q{font-size:20px;line-height:1.3}@media (max-width:1023px){.fa-qs{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-head{row-gap:var(--fl-space-3);grid-template-columns:minmax(0,1fr)}.fa-lede{margin-top:0}.fa-inline .fa-steps{column-gap:24px}.fa-inline .fa-steps li:not(:last-child):after{width:24px}}@media (max-width:767px){.fa-steps,.fa-qs,.fa-qs--two{grid-template-columns:minmax(0,1fr)}.fa-steps{gap:12px}.fa-q{font-size:18px}.fa-inline .fa-steps{row-gap:20px}.fa-inline .fa-steps li:not(:last-child):after{border-top:0;border-left:1px dotted #2b2c29;width:0;height:20px;top:100%;left:28px}.fa-inline .fa-q,.fa-lede{font-size:18px}}
