.di-hero{overflow:hidden}.di-hero-in{column-gap:var(--fl-space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.di-hero-t{min-width:0}.di-h1{font-family:var(--fl-font-display);letter-spacing:-.025em;color:var(--fl-ink);text-wrap:balance;margin:0;font-size:clamp(40px,3.7vw,56px);font-weight:400;line-height:1.06}.di-h1 span{color:var(--fl-text-large);display:block}.di-lede{margin:var(--fl-space-3) 0 0;max-width:30em;font:400 20px/1.45 var(--fl-font-sans);letter-spacing:-.01em;color:var(--fl-text-secondary)}.di-strip{flex-direction:column;align-items:flex-start;gap:12px}.di-art-w{min-width:0;margin-right:calc(var(--fl-gutter) * -1)}.di-art{width:100%;height:auto;display:block;overflow:visible}.di-grid path{fill:none;stroke:#2223200f;stroke-width:1px}.di-top,.di-left,.di-right,.di-band-l,.di-cyl,.di-head{stroke:#2b2c29;stroke-width:1px;stroke-linejoin:round}.di-top,.di-cyl,.di-head{fill:#fff}.di-left{fill:#f0f0eb}.di-right{fill:#e2e2dc}.di-band-l{fill:#ecece6}.di-band{fill:none;stroke:#2b2c29;stroke-width:.9px}.di-tile{fill:#fff;stroke:#cfcfc8;stroke-width:.8px}.di-dark{fill:#2b2c29}.di-cube-t,.di-cube-l,.di-cube-r{stroke:#12302e;stroke-width:1px;stroke-linejoin:round}.di-cube-t{fill:#2f6a62}.di-cube-l{fill:var(--fl-canal)}.di-cube-r{fill:#163331}.di-face{font:500 8.5px var(--fl-font-mono);letter-spacing:.12em;fill:#62625f}.di-lead{fill:none;stroke:#8e8f88;stroke-width:1px;stroke-dasharray:2 3}.di-dash{fill:none;stroke:#8e8f88;stroke-width:1.1px;stroke-dasharray:2 4;transition:stroke .3s}.di-grp,.di-lg{transition:opacity .3s}.di-grp.is-on .di-dash{stroke:var(--fl-canal);stroke-width:1.5px}.di-grp.is-dim,.di-lg.is-dim{opacity:.4}.di-pkt{fill:#2b2c29;transition:opacity .3s}.di-pkt.is-on{fill:var(--fl-canal)}.di-pkt.is-dim{opacity:.25}.di-bar{fill:#b4b5ae}.di-bar.is-hi{fill:var(--fl-canal)}.di-val{font:600 9px var(--fl-font-mono);fill:#2b2c29;animation:.4s both di-in}.di-l{font:500 12px var(--fl-font-mono);letter-spacing:.08em;fill:#62625f;text-anchor:middle}.di-l.is-metric{fill:var(--fl-canal);animation:.4s both di-in}.di-lg{cursor:default}.di-lg.is-on .di-l{fill:var(--fl-canal)}.di-demo{font:400 10px var(--fl-font-mono);fill:#9c9d96;text-anchor:end}@keyframes di-in{0%{opacity:0}to{opacity:1}}.di-hist{box-sizing:border-box;height:100%;padding:16px;overflow:auto}.di-proj{border-top:1px solid var(--fl-hairline);border-bottom:1px solid var(--fl-hairline);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.di-proj li{min-width:0}.di-proj li+li{border-left:1px solid var(--fl-hairline)}.di-proj a{box-sizing:border-box;height:100%;color:inherit;flex-direction:column;padding:28px 28px 26px;text-decoration:none;transition:background-color .2s;display:flex}.di-proj li:first-child a{padding-left:0}.di-proj a:hover{background-color:var(--fl-hover-bg,#eeeee9)}.di-proj li:first-child a:hover{background:0 0}.di-proj a:focus-visible{outline:2px solid var(--fl-focus);outline-offset:-2px}.di-proj-tag{font:500 12px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);align-items:center;gap:8px;display:inline-flex}.di-proj-tag svg{color:var(--fl-canal)}.di-proj-t{font:450 22px/1.2 var(--fl-font-sans);letter-spacing:-.015em;color:var(--fl-ink);text-wrap:balance;margin-top:18px}.di-proj-b{font:400 15px/1.5 var(--fl-font-sans);color:var(--fl-text-secondary);margin-top:12px}.di-proj-c{font:500 11px/1.4 var(--fl-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fl-text-muted);align-items:center;gap:6px;margin-top:auto;padding-top:28px;display:inline-flex}.di-proj a:hover .di-proj-c{color:var(--fl-ink)}@media (max-width:1279px){.di-proj{grid-template-columns:repeat(2,minmax(0,1fr))}.di-proj li:nth-child(3){border-left:0}.di-proj li:nth-child(n+3){border-top:1px solid var(--fl-hairline)}.di-proj li:nth-child(3) a{padding-left:0}}@media (max-width:1023px){.di-hero-in{row-gap:var(--fl-space-4);grid-template-columns:minmax(0,1fr)}.di-art-w{margin:0 calc(var(--fl-gutter) * -1)}}@media (max-width:767px){.di-lede{font-size:18px}.di-proj{grid-template-columns:minmax(0,1fr)}.di-proj li+li{border-left:0;border-top:1px solid var(--fl-hairline)}.di-proj a,.di-proj li:nth-child(3) a{padding:24px 0}.di-proj a:hover{background:0 0}.di-art-w{overflow:hidden}.di-art{width:150%;margin-left:-22%}.di-lg,.di-demo{display:none}.di-l{font-size:15px}}@media (prefers-reduced-motion:reduce){.di-val,.di-l.is-metric{animation:none}}
