@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.BELOEI8R.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.CfSXsIbO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-italic.D9J6q4_O.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-italic.Bf1n82Tb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-italic.BEZwmy7D.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-italic.CTYLy0lX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-italic.BbRnwouv.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-italic.78jqtfZH.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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-italic.Du9zzoL2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-italic.V_9i1P_m.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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.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{--paper:#f5f6f8;--white:#fff;--ink:#1a1d26;--muted:#545b6b;--rule:#d5d9e2;--blue:#00a;--blue-dark:#00007a;--dos-grey:#aaa;--dos-cyan:#0aa;--dos-yellow:#ff5;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--step--1:.875rem;--step-0:1.125rem;--step-1:1.35rem;--step-2:1.7rem;--step-3:clamp(1.9rem, 1.4rem + 2vw, 2.6rem);--step-4:clamp(2.3rem, 1.5rem + 3.4vw, 3.6rem);--measure:68ch;--wide:72rem;--gutter:clamp(1.25rem, 4vw, 2.5rem)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg{max-width:100%;height:auto}a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--blue-dark);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .6em;font-weight:600;line-height:1.15}h1{font-size:var(--step-4);letter-spacing:-.02em}h2{font-size:var(--step-3);margin-top:1.6em}h3{font-size:var(--step-1);margin-top:1.4em}p,ul,ol{margin:0 0 1em}.wrap{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.measure{max-width:var(--measure)}.lede{font-size:var(--step-1);color:var(--muted);max-width:40ch;line-height:1.5}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--white);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.btn{font:600 var(--step-0)/1 var(--sans);border:2px solid var(--blue);cursor:pointer;border-radius:2px;padding:.95rem 1.4rem;text-decoration:none;display:inline-block}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:var(--white);text-decoration:none}.btn-plain{color:var(--blue);background:0 0}.btn-plain:hover{background:var(--white);text-decoration:none}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.1rem;display:flex}.wordmark{font:600 1.15rem/1 var(--mono);color:var(--ink);align-items:center;gap:.2rem;text-decoration:none;display:inline-flex}.wordmark:after{content:"";background:var(--blue);align-self:flex-end;width:.55em;height:.18em;margin-bottom:.08em}.wordmark:hover{color:var(--ink);text-decoration:none}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.4rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink);font-size:1rem;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--blue);text-decoration:underline 2px}.site-footer{background:var(--ink);color:#c9ccd4;margin-top:6rem;font-size:1rem}.site-footer .wrap{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem;padding-block:3rem;display:grid}.site-footer a{color:var(--white)}.site-footer h2{color:var(--white);letter-spacing:0;margin:0 0 .75rem;font-size:1rem}.site-footer ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.site-footer .small{font-size:var(--step--1);border-top:1px solid #343846;grid-column:1/-1;padding-top:1.5rem}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section+.section{border-top:1px solid var(--rule)}.section h2:first-child{margin-top:0}.hero{padding-block:clamp(3rem,8vw,6rem)}.hero .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,4rem);display:grid}.hero h1{max-width:16ch}@media (width<=860px){.hero .wrap{grid-template-columns:1fr}}figure.dos-fig{margin:0;container-type:inline-size}.dos{background:var(--blue);color:var(--dos-grey);font:400 clamp(.55rem, 3.1cqi, 1rem)/1.5 var(--mono);user-select:none;border:10px solid #2b2e36;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px #10121a}.dos-menu{background:var(--dos-grey);color:#000;white-space:nowrap;gap:1.6ch;padding:0 1ch;display:flex;overflow:hidden}.dos-menu span:first-letter{color:#a00}.dos-body{padding:1.3em 1.2ch 1em}.dos-win{border:4px double var(--white);color:var(--white);padding:.9em 1ch .5em;position:relative}.dos-win-title{background:var(--blue);padding:0 1ch;position:absolute;top:-.85em;left:50%;transform:translate(-50%)}.dos-grid{white-space:nowrap;grid-template-columns:7ch minmax(0,1fr) 5ch 7ch;column-gap:1.5ch;display:grid}.dos-grid>span{text-overflow:clip;overflow:hidden}.dos-grid .n{text-align:right}.dos-head{color:var(--dos-yellow);border-bottom:1px solid var(--dos-grey);margin-bottom:.2em}.dos-row.is-current{background:var(--dos-cyan);color:#000;margin-inline:-.5ch;padding-inline:.5ch}.dos-status{color:var(--dos-yellow);white-space:nowrap;justify-content:space-between;gap:2ch;margin-top:1em;display:flex}.dos-cmd{color:var(--white);margin-top:.7em}.dos-cursor{vertical-align:text-bottom;background:var(--white);width:1ch;height:1.1em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.dos-cursor{animation:none}}.dos-caption{font-size:var(--step--1);color:var(--muted);margin-top:.8rem}.tech-list{border-top:2px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:2rem 0 0;padding:0;list-style:none;display:grid}.tech-list li{border-bottom:1px solid var(--rule);padding:1.1rem 1.5rem 1.2rem 0}.tech-list strong{font-size:var(--step-1);font-weight:600;display:block}.tech-list span{color:var(--muted);font-size:1rem}.services{border-top:2px solid var(--ink);margin-top:2rem}.service{border-bottom:1px solid var(--rule);grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);gap:1rem 3rem;padding:1.75rem 0;display:grid}.service h3{margin:0}.service p{max-width:var(--measure);margin:0}.service .price{font-family:var(--mono);color:var(--blue);margin-top:.4rem;font-size:1rem;display:block}@media (width<=700px){.service{grid-template-columns:1fr}}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:2px solid var(--ink);padding-top:1rem}.steps li:before{content:counter(step);font:600 var(--step-2)/1 var(--mono);color:var(--blue);margin-bottom:.6rem;display:block}.steps h3{margin:0 0 .4rem}.steps p{color:var(--muted);margin:0}.guide-list{border-top:2px solid var(--ink);margin:2rem 0 0;padding:0;list-style:none}.guide-list li{border-bottom:1px solid var(--rule);padding:1.4rem 0}.guide-list a{font-size:var(--step-1);font-weight:600;text-decoration:none}.guide-list a:hover{text-decoration:underline}.guide-list p{color:var(--muted);max-width:var(--measure);margin:.35rem 0 0}.page-head{padding-top:clamp(2.5rem,6vw,4.5rem)}.page-head h1{max-width:22ch}.crumbs{font-size:var(--step--1);color:var(--muted);margin-bottom:1.5rem}.crumbs a{color:var(--muted)}.crumbs ol{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--rule);margin-right:.5rem}.meta{font-size:var(--step--1);color:var(--muted);margin-top:-.25rem}.prose{max-width:var(--measure)}.prose h2{font-size:var(--step-2)}.prose h3{font-size:var(--step-1)}.prose li{margin-bottom:.4em}.prose code{font-family:var(--mono);background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:.05em .35em;font-size:.9em}.prose blockquote{border-left:3px solid var(--blue);color:var(--muted);margin:1.5em 0;padding-left:1.2rem}.cta{background:var(--white);border:1px solid var(--rule);border-left:6px solid var(--blue);max-width:var(--measure);margin-top:3.5rem;padding:2rem clamp(1.25rem,4vw,2.5rem)}.cta h2{font-size:var(--step-2);margin-top:0}.cta p{margin-bottom:0}.cta .actions{margin-top:1.25rem}.split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:3rem;display:grid}@media (width<=860px){.split{grid-template-columns:1fr}}.aside{background:var(--white);border:1px solid var(--rule);padding:1.75rem}.aside h2{font-size:var(--step-1);margin-top:0}.aside ul{padding-left:1.2rem}.form{gap:1.1rem;max-width:36rem;display:grid}.form label{gap:.35rem;font-size:1rem;font-weight:500;display:grid}.form .hint{color:var(--muted);font-weight:400;font-size:var(--step--1)}.form input,.form textarea,.form select{font:inherit;background:var(--white);color:var(--ink);border:1px solid #9aa1b1;border-radius:2px;width:100%;padding:.75rem .85rem;font-size:1rem}.form textarea{resize:vertical;min-height:8rem}.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.form .hp{position:absolute;left:-9999px}.form button{justify-self:start}.site-nav .has-menu{position:relative}.menu summary{cursor:pointer;color:var(--ink);align-items:center;gap:.4rem;font-size:1rem;font-weight:500;list-style:none;display:inline-flex}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.4em;height:.4em;transition:transform .15s;transform:translateY(-.15em)rotate(45deg)}.menu[open] summary:after{transform:translateY(.1em)rotate(-135deg)}.menu summary:hover,.menu summary.current{color:var(--blue)}.menu summary.current{text-underline-offset:.18em;text-decoration:underline 2px}.site-nav .menu-panel{z-index:20;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--blue);gap:0;min-width:16rem;padding:.5rem 0;display:grid;position:absolute;top:calc(100% + .9rem);left:-1rem;box-shadow:0 8px 24px #1a1d261f}.site-nav .menu-panel a{padding:.55rem 1.1rem;display:block}.site-nav .menu-panel a:hover{background:var(--paper)}.site-nav .menu-panel li:first-child a{color:var(--muted);font-size:.95rem}@media (prefers-reduced-motion:reduce){.menu summary:after{transition:none}}@media (width<=700px){.site-nav .has-menu{flex-basis:100%}.site-nav .menu-panel{box-shadow:none;border:0;border-left:3px solid var(--blue);background:0 0;min-width:0;margin:.6rem 0 .4rem;padding:.2rem 0;position:static}.site-nav .menu-panel a{padding:.4rem .9rem}}.form-status{color:#a00;margin:0;font-size:1rem}.form-done{background:var(--white);border:1px solid var(--rule);border-left:6px solid var(--blue);max-width:36rem;padding:1.5rem}.form-done h3{margin-top:0}.form-done p{margin-bottom:0}.form button:disabled{opacity:.6;cursor:wait}
