@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-vietnamese-400-normal.Dpl4UHAZ.woff2)format("woff2"),url(/_astro/barlow-vietnamese-400-normal.BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-latin-ext-400-normal.HxX4XjxC.woff2)format("woff2"),url(/_astro/barlow-latin-ext-400-normal.CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-latin-400-normal.qiz4-Cze.woff2)format("woff2"),url(/_astro/barlow-latin-400-normal.fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-vietnamese-500-normal.zTViEIzf.woff2)format("woff2"),url(/_astro/barlow-vietnamese-500-normal.GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-latin-ext-500-normal.DOaysfXq.woff2)format("woff2"),url(/_astro/barlow-latin-ext-500-normal.CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-latin-500-normal.BPAOfeC8.woff2)format("woff2"),url(/_astro/barlow-latin-500-normal.C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-vietnamese-600-normal.DcjprdFV.woff2)format("woff2"),url(/_astro/barlow-vietnamese-600-normal.CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-latin-ext-600-normal.B8NK_A3D.woff2)format("woff2"),url(/_astro/barlow-latin-ext-600-normal.DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-latin-600-normal.DILqtrty.woff2)format("woff2"),url(/_astro/barlow-latin-600-normal.CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-condensed-vietnamese-500-normal.DjeaNLFD.woff2)format("woff2"),url(/_astro/barlow-condensed-vietnamese-500-normal.CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-condensed-latin-ext-500-normal.yA5ONLQ9.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-ext-500-normal.B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/barlow-condensed-latin-500-normal.BgYH2mbd.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-500-normal.HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-vietnamese-600-normal.A5AYRdjN.woff2)format("woff2"),url(/_astro/barlow-condensed-vietnamese-600-normal.CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-ext-600-normal.18ESti3H.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-ext-600-normal.Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-600-normal.DepVgxBB.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-600-normal.BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-vietnamese-700-normal.DYeBwlKR.woff2)format("woff2"),url(/_astro/barlow-condensed-vietnamese-700-normal.DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-ext-700-normal.CwuXbfVR.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-ext-700-normal.BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-700-normal.v1xN8_Wq.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-700-normal.Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--film:#e8ebe7;--film-2:#dfe3de;--ink:#16191c;--ink-2:#3b4247;--construction:#8d959a;--red:#c8102e;--red-text:#b00d27;--on-red:#fff;--hatch:color-mix(in srgb, var(--ink) 55%, transparent);--stroke:var(--ink);--m:8px;--band:20px;--gutter:12px;--sans:"Barlow", "Helvetica Neue", Arial, sans-serif;--cond:"Barlow Condensed", "Arial Narrow", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--film:#101315;--film-2:#161a1d;--ink:#e4e8e5;--ink-2:#a8b0b4;--construction:#4d565b;--red:#d81f36;--red-text:#ff7a83;--hatch:color-mix(in srgb, var(--ink) 50%, transparent)}}@media (width>=720px){:root{--gutter:24px;--band:32px}}*,:before,:after{box-sizing:border-box}html{background:var(--film);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ink-2) var(--film);font-variant-numeric:tabular-nums;scroll-padding-top:72px;font-size:100%;line-height:1.55}body{background:var(--film);min-height:100vh;margin:0}::selection{background:var(--ink);color:var(--film)}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.label{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.8125rem;font-weight:500;line-height:1.3}.h2{font-family:var(--cond);letter-spacing:-.005em;text-transform:uppercase;text-wrap:balance;font-size:clamp(2rem,4.2vw,3.25rem);font-weight:600;line-height:1}.lede{color:var(--ink-2);text-wrap:pretty;max-width:60ch;font-size:1.125rem}.sheet{margin:var(--gutter);border:1px solid var(--stroke);padding:0 var(--band);position:relative}.zones{height:var(--band);grid-template-columns:repeat(8,1fr);display:grid}.zones span{font-family:var(--cond);color:var(--ink-2);border-left:1px solid var(--stroke);place-items:center;font-size:.75rem;font-weight:500;display:grid}.zones span:first-child{border-left:0}.zones span:nth-child(n+5){display:none}@media (width>=720px){.zones span:nth-child(n+5){display:grid}}@media (width<=719px){.zones{grid-template-columns:repeat(4,1fr)}}.sheet-inner{border:2px solid var(--ink)}.view{--stroke:var(--ink);padding:calc(var(--m) * 7) var(--gutter) calc(var(--m) * 8);border-top:1px solid var(--ink);transition:--stroke .6s var(--ease-out);position:relative}.view:first-of-type{border-top:0}@media (width>=720px){.view{padding:calc(var(--m) * 10) calc(var(--m) * 5) calc(var(--m) * 11)}}.view:before{content:attr(data-zone);left:calc(-1 * var(--band) - 2px);width:var(--band);height:calc(var(--m) * 6);font-family:var(--cond);border-top:1px solid var(--ink);border-bottom:1px solid var(--construction);place-items:center;font-size:.875rem;font-weight:600;display:grid;position:absolute;top:0}.view:after{content:attr(data-zone);right:calc(-1 * var(--band) - 2px);width:var(--band);height:calc(var(--m) * 6);font-family:var(--cond);border-top:1px solid var(--ink);border-bottom:1px solid var(--construction);place-items:center;font-size:.875rem;font-weight:600;display:grid;position:absolute;top:0}.view:first-of-type:before,.view:first-of-type:after{border-top:0}.js .view:not(.is-active){--stroke:var(--construction)}@property --stroke{syntax:"<color>";inherits:true;initial-value:#16191c}.view-head{gap:calc(var(--m) * 2);margin-bottom:calc(var(--m) * 6);display:grid}.caption{margin-top:calc(var(--m) * 5);padding-top:calc(var(--m) * 1.5);border-top:1px solid var(--stroke);gap:var(--m) calc(var(--m) * 3);flex-wrap:wrap;display:flex}.caption strong{color:var(--ink);font-weight:600}.btn{align-items:center;gap:var(--m);min-height:48px;padding:0 calc(var(--m) * 2.5);font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--ink);color:var(--ink);transition:background-color .2s var(--ease-out), color .2s var(--ease-out);background:0 0;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn:hover{background:var(--film-2)}.btn--red{background:var(--red);border-color:var(--red);color:var(--on-red)}.btn--red:hover{background:color-mix(in srgb, var(--red) 86%, black)}.btn:active,.btn--red:active{background:var(--ink);border-color:var(--ink);color:var(--film)}.link-arrow{align-items:center;gap:6px;display:inline-flex}.link-arrow svg{width:14px;height:14px}.hatch{background-image:repeating-linear-gradient(-45deg, var(--hatch) 0 1px, transparent 1px 6px)}.rev-tri{width:40px;height:34px;font-family:var(--cond);color:var(--on-red);background:var(--red);clip-path:polygon(50% 0,100% 100%,0 100%);place-items:center;padding-top:12px;font-size:1.0625rem;font-weight:700;line-height:1;display:inline-grid}.rev-plain{border:1px solid var(--stroke);width:28px;height:28px;font-family:var(--cond);place-items:center;font-size:.875rem;font-weight:700;display:inline-grid}@media (prefers-reduced-motion:no-preference){.js .view.undrawn [data-draw]{transform:scaleX(0)}.js .view.undrawn [data-draw=y]{transform:scaleY(0)}.js .view.undrawn path[data-draw],.js .view.undrawn line[data-draw]{stroke-dashoffset:1px;transform:none}.js .view [data-draw]{transition:transform .9s var(--ease-out), stroke-dashoffset 1.1s var(--ease-out);transition-delay:calc(var(--i,0) * 90ms)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view{transition:none}}.skip:focus{clip:auto;z-index:10;background:var(--ink);width:auto;height:auto;color:var(--film);padding:8px 12px;position:fixed;top:8px;left:8px}.bar{z-index:5;padding:0 0 0 var(--gutter);background:var(--film);border-bottom:2px solid var(--ink);align-items:center;gap:24px;min-height:56px;display:flex;position:sticky;top:0}.bar-name{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;margin-right:auto;font-size:1.125rem;font-weight:700;text-decoration:none}.bar-nav{display:none}@media (width>=900px){.bar-nav{display:flex}}.bar-nav a{height:56px;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--construction);align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.bar-nav a:hover{background:var(--film-2)}.zone-ref{border:1px solid var(--ink);border-radius:50%;place-items:center;width:20px;height:20px;font-size:.75rem;font-weight:600;display:grid}.bar-cta{border-width:0 0 0 2px;border-color:var(--ink);background:var(--ink);min-height:56px;color:var(--film)}.bar-cta:hover{background:var(--ink-2);border-color:var(--ink-2)}.bar-cta:active{background:var(--film);color:var(--ink)}.view--a{padding-top:calc(var(--m) * 6)}.hero{gap:40px;margin-bottom:56px;display:grid}@media (width>=1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:end;gap:56px;margin-bottom:56px}}.name{font-family:var(--cond);letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;font-size:clamp(3.25rem,9vw,6rem);font-weight:700;line-height:.88}.given{color:var(--ink-2);font-weight:500}.role{font-family:var(--cond);letter-spacing:.03em;text-transform:uppercase;margin-top:20px;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600}.hero .lede{max-width:52ch;margin-top:16px;font-size:clamp(1.0625rem,1.4vw,1.25rem)}.tb{border:2px solid var(--ink);background:var(--film)}.tb-grid{grid-template-columns:1fr 1fr;display:grid}.tb-grid>div{border-bottom:1px solid var(--ink);padding:8px 12px 10px}.tb-grid>div:nth-child(odd){border-right:1px solid var(--ink)}.tb-grid dt{font-size:.6875rem}.tb-grid dd{font-family:var(--cond);text-transform:uppercase;letter-spacing:.02em;font-size:1.0625rem;font-weight:600;line-height:1.2}.tb .tb-actions{border-bottom:1px solid var(--ink);padding:12px}.tb-actions{flex-wrap:wrap;gap:8px;display:flex}.tb .btn{flex:160px;justify-content:center}.tb-links{color:var(--ink);gap:24px;padding:12px;display:flex}.balance{text-wrap:balance}.callouts{border-top:1px solid var(--stroke);margin-top:32px;display:grid}.callouts a{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px 12px;padding:12px 0;text-decoration:none;display:grid}.callouts a:hover .callout-text{text-decoration:underline}.callout-ref{border:1px solid var(--stroke);width:28px;height:28px;font-family:var(--cond);border-radius:50%;align-self:center;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid}.callout-val{font-family:var(--cond);white-space:nowrap;font-size:1.5rem;font-weight:700;line-height:1}.callout-text{color:var(--ink-2);font-size:.9375rem}@media (width>=1000px){.callouts{border-bottom:0;grid-template-columns:repeat(3,1fr)}.callouts li+li a{border-left:1px solid var(--stroke);padding-left:20px}.callouts a{border-bottom:0;padding-right:16px}}.revs{border-top:2px solid var(--stroke)}.rev{border-bottom:1px solid var(--stroke);padding:32px 0 40px}.rev-head{grid-template-columns:40px 1fr;align-items:start;gap:4px 16px;display:grid}.rev-head>span{margin-top:4px}.rev-org{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.05}.rev-title{margin-top:4px;font-size:1.0625rem;font-weight:500}.rev-when{flex-wrap:wrap;grid-column:2;gap:4px 16px;margin-top:6px;display:flex}@media (width>=900px){.rev-head{grid-template-columns:40px 1fr auto}.rev-when{flex-direction:column;grid-area:1/3;align-items:flex-end;margin-top:8px}}.rev-group{margin:24px 0 0 56px}@media (width<=600px){.rev-group{margin-left:0}}.rev-group-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px;display:flex}.shipped{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.shipped svg{width:18px;height:18px}.rev-group-head h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.02em;font-size:1.25rem;font-weight:600}.client{border:1px solid var(--stroke);color:var(--ink);padding:3px 8px}.client span{background:var(--film);padding:0 4px}.points{gap:10px;max-width:75ch;display:grid}.points li{text-wrap:pretty;padding-left:22px;position:relative}.points li:before{content:"";background:var(--stroke);width:12px;height:1px;position:absolute;top:.72em;left:0}.projects{gap:56px;display:grid}@media (width>=1000px){.projects{grid-template-columns:1.3fr 1fr;gap:0}.project+.project{border-left:1px solid var(--stroke);padding-left:40px}.project:first-child{padding-right:40px}}.project-head{border-bottom:1px solid var(--stroke);gap:6px;margin-bottom:20px;padding-bottom:16px;display:grid}.project-name{font-family:var(--cond);text-transform:uppercase;font-size:clamp(1.75rem,3vw,2.375rem);font-weight:700;line-height:1}.project-sub{font-size:1.0625rem;font-weight:500}.repo-link{color:var(--ink);margin-top:20px}.refdocs{margin-top:80px}.sub-h{font-family:var(--cond);letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px;font-size:1.25rem;font-weight:600}.table{border-collapse:collapse;border-top:2px solid var(--stroke);width:100%}.table th,.table td{text-align:left;vertical-align:baseline;border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);padding:12px 16px 12px 0}.table thead th{border-bottom:1px solid var(--stroke);padding-top:10px;padding-bottom:10px}.repo{font-family:var(--cond);white-space:nowrap;font-size:1.0625rem;font-weight:600}.lang{text-align:right!important;padding-right:0!important}@media (width<=700px){.table:not(.bom) thead{display:none}.table:not(.bom) tr{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);grid-template-columns:1fr auto;padding:12px 0;display:grid}.table:not(.bom) td{border:0;padding:2px 0}.table:not(.bom) td:nth-child(2){grid-area:2/1/auto/-1}}.item{width:3ch;font-family:var(--cond);color:var(--ink-2);font-weight:600}.group{width:15rem;font-family:var(--cond);text-transform:uppercase;letter-spacing:.02em;font-size:1.125rem;font-weight:700;line-height:1.15}.chips{clip-path:inset(0 0 0 13px);flex-wrap:wrap;gap:6px 0;margin-left:-13px;display:flex}.chips li{border-left:1px solid var(--construction);padding:0 12px;line-height:1.5}@media (width<=700px){.bom thead{display:none}.bom tr{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);grid-template-columns:3ch 1fr;padding:14px 0;display:grid}.bom td,.bom th{border:0;width:auto;padding:0}.bom td:last-child{grid-column:2;margin-top:8px}}.notes-grid{gap:48px;display:grid}@media (width>=1000px){.notes-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px}}.gnotes{counter-reset:gn;border-top:2px solid var(--stroke)}.gnotes li{counter-increment:gn;border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);gap:4px;padding:14px 0 16px 32px;display:grid;position:relative}.gnotes li:before{content:counter(gn) ".";font-family:var(--cond);color:var(--ink-2);font-weight:600;position:absolute;top:14px;left:0}.gn-title{text-wrap:balance;font-family:var(--cond);text-transform:uppercase;font-size:1.1875rem;font-weight:700;line-height:1.15}.langs{border-top:2px solid var(--stroke)}.langs>div{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.langs dt{font-weight:500}.view--contact{justify-items:start;gap:24px;display:grid}.contact-mail{font-family:var(--cond);letter-spacing:.01em;text-decoration-thickness:2px;text-decoration-color:var(--red);text-underline-offset:.14em;overflow-wrap:anywhere;font-size:clamp(1.5rem,5.4vw,4rem);font-weight:600;line-height:1}.view--contact .tb-actions{margin-top:8px}.foot{border-top:2px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.foot span{padding:12px var(--gutter);border-right:1px solid var(--ink)}.foot span:nth-child(2n){border-right:0}.foot span:nth-child(-n+2){border-bottom:1px solid var(--ink)}@media (width>=720px){.foot{grid-template-columns:repeat(4,1fr)}.foot span{border-right:1px solid var(--ink);border-bottom:0!important}.foot span:last-child{border-right:0}}.flow[data-astro-cid-hwtyynxx]{grid-template-columns:1fr;justify-items:start;display:grid}.term[data-astro-cid-hwtyynxx]{align-items:center;gap:10px;display:flex}.term[data-astro-cid-hwtyynxx] .label[data-astro-cid-hwtyynxx]{color:var(--ink)}.term-dot[data-astro-cid-hwtyynxx]{border:2px solid var(--stroke);border-radius:50%;flex:none;width:12px;height:12px}.term--out[data-astro-cid-hwtyynxx] .term-dot[data-astro-cid-hwtyynxx]{background:var(--stroke)}.conn[data-astro-cid-hwtyynxx]{place-items:center;width:40px;height:40px;margin-left:28px;display:grid}.conn[data-astro-cid-hwtyynxx] svg[data-astro-cid-hwtyynxx]{width:40px;height:16px;overflow:visible;transform:rotate(90deg)}.conn[data-astro-cid-hwtyynxx] path[data-astro-cid-hwtyynxx]{stroke:var(--stroke);stroke-width:1.5px;stroke-dasharray:1}.node[data-astro-cid-hwtyynxx]{width:100%}.box[data-astro-cid-hwtyynxx]{border:2px solid var(--stroke);background:var(--film);padding:18px 16px 14px 20px;position:relative}.balloon[data-astro-cid-hwtyynxx]{border:1px solid var(--stroke);background:var(--film);width:30px;height:30px;font-family:var(--cond);border-radius:50%;place-items:center;font-size:.9375rem;font-weight:600;display:grid;position:absolute;top:-15px;left:-15px}.node-name[data-astro-cid-hwtyynxx]{font-family:var(--cond);text-transform:uppercase;letter-spacing:.01em;font-size:1.25rem;font-weight:700;line-height:1.1}.node-spec[data-astro-cid-hwtyynxx]{color:var(--ink-2);margin-top:4px;font-size:.9375rem;line-height:1.35}.parts[data-astro-cid-hwtyynxx]{border-top:1px solid var(--stroke);margin-top:10px}.parts[data-astro-cid-hwtyynxx] li[data-astro-cid-hwtyynxx]{border-bottom:1px solid color-mix(in srgb, var(--stroke) 40%, transparent);padding:6px 0;font-size:.875rem;line-height:1.3}.parts[data-astro-cid-hwtyynxx] li[data-astro-cid-hwtyynxx]:last-child{border-bottom:0}.dim[data-astro-cid-hwtyynxx]{margin-top:6px;padding-top:22px;position:relative}.dim[data-astro-cid-hwtyynxx]:before,.dim[data-astro-cid-hwtyynxx]:after{content:"";background:var(--stroke);width:1px;height:30px;position:absolute;top:0}.dim[data-astro-cid-hwtyynxx]:before{left:0}.dim[data-astro-cid-hwtyynxx]:after{right:0}.dim-line[data-astro-cid-hwtyynxx]{background:var(--ink);transform-origin:0;height:1px;display:block;position:relative}.dim-line[data-astro-cid-hwtyynxx]:before,.dim-line[data-astro-cid-hwtyynxx]:after{content:"";background:var(--ink);width:9px;height:10px;position:absolute;top:-4.5px}.dim-line[data-astro-cid-hwtyynxx]:before{clip-path:polygon(0 50%,100% 0,100% 100%);left:0}.dim-line[data-astro-cid-hwtyynxx]:after{clip-path:polygon(0 0,100% 50%,0 100%);right:0}.dim-text[data-astro-cid-hwtyynxx]{font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-align:center;margin-top:10px;font-size:1rem;font-weight:600}@media (width>=1100px){.flow[data-astro-cid-hwtyynxx]{grid-template-columns:auto 40px 1fr 40px 1fr 40px .9fr 40px 1.45fr 40px 1.15fr 40px auto;place-items:start stretch}.term[data-astro-cid-hwtyynxx]{flex-direction:column;align-items:flex-start;max-width:96px;margin-top:30px}.conn[data-astro-cid-hwtyynxx]{height:16px;margin:36px 0 0}.conn[data-astro-cid-hwtyynxx] svg[data-astro-cid-hwtyynxx]{transform:none}}.details[data-astro-cid-sqeluoqq]{gap:48px;display:grid}@media (width>=1000px){.details[data-astro-cid-sqeluoqq]{grid-template-columns:repeat(3,1fr);gap:40px}}.detail[data-astro-cid-sqeluoqq]{align-content:start;gap:12px;display:grid}.detail-title[data-astro-cid-sqeluoqq]{font-family:var(--cond);letter-spacing:.02em;text-transform:uppercase;text-wrap:balance;min-height:2.5em;font-size:1.0625rem;font-weight:600;line-height:1.25}svg[data-astro-cid-sqeluoqq]{width:100%;height:auto;display:block;overflow:visible}.s[data-astro-cid-sqeluoqq]{stroke:var(--stroke);stroke-width:1px;transition:stroke .6s var(--ease-out)}.hl[data-astro-cid-sqeluoqq]{stroke:var(--ink);stroke-width:1.2px}.thin[data-astro-cid-sqeluoqq]{stroke-width:.75px}.r[data-astro-cid-sqeluoqq]{stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:1;fill:none}.rf[data-astro-cid-sqeluoqq]{fill:var(--ink)}text[data-astro-cid-sqeluoqq]{fill:var(--ink);font-family:var(--cond);font-variant-numeric:tabular-nums}.tick[data-astro-cid-sqeluoqq]{letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-2);font-size:13px;font-weight:500}.val[data-astro-cid-sqeluoqq]{letter-spacing:.03em;text-transform:uppercase;font-size:16px;font-weight:600}.val[data-astro-cid-sqeluoqq].red{fill:var(--ink);font-size:17px;font-weight:700}@media (width<=600px){.tick[data-astro-cid-sqeluoqq]{font-size:16px}.val[data-astro-cid-sqeluoqq]{font-size:18px}.val[data-astro-cid-sqeluoqq].red{font-size:19px}}.cell[data-astro-cid-sqeluoqq]{fill:none;stroke:var(--stroke);stroke-width:1px}.cell[data-astro-cid-sqeluoqq].hatched{fill:url(#hatch)}.notes[data-astro-cid-sqeluoqq]{max-width:880px;margin-top:72px}table[data-astro-cid-sqeluoqq]{border-collapse:collapse;border-top:1px solid var(--stroke);width:100%;margin-top:16px}td[data-astro-cid-sqeluoqq]{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);vertical-align:baseline;padding:12px 12px 12px 0}.n[data-astro-cid-sqeluoqq]{width:2.5ch;color:var(--ink-2);font-family:var(--cond)}.v[data-astro-cid-sqeluoqq]{width:5.5ch;font-family:var(--cond);white-space:nowrap;font-size:1.375rem;font-weight:700}.t[data-astro-cid-sqeluoqq]{font-size:1rem}.w[data-astro-cid-sqeluoqq]{text-align:right;white-space:nowrap;padding-right:0}@media (width<=600px){tr[data-astro-cid-sqeluoqq]{border-bottom:1px solid color-mix(in srgb, var(--stroke) 45%, transparent);grid-template-columns:1.75rem 4.75rem 1fr;padding:10px 0;display:grid}td[data-astro-cid-sqeluoqq]{border:0;padding:0 8px 0 0}.w[data-astro-cid-sqeluoqq]{text-align:left;grid-column:3;margin-top:4px}}
