@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/barlow-condensed-800.woff2)format("woff2")}:root{--ink:#111214;--paper:#f6f6f2;--white:#fff;--body:#33363b;--muted:#4a4d52;--rule:#c9c9c2;--volt:#f2d544;--ochre:#6b5800;--dim:#b8babe;--pass:#8fd9a8;--max:77.5rem;--line:2px solid var(--ink);--shadow:8px 8px 0 var(--ink);--display:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif-condensed, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);margin:0;font:1.0625rem/1.65 system-ui,-apple-system,Segoe UI,Helvetica Neue,sans-serif;overflow-x:clip}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{background:var(--volt)}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.ink :focus-visible,footer.site :focus-visible,.result :focus-visible{outline-color:var(--volt)}.skip{background:var(--ink);color:var(--white);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}h1,h2,.display{font-family:var(--display);text-transform:uppercase;letter-spacing:0;font-weight:800;line-height:.92}h1{margin:.75rem 0 1rem;font-size:clamp(2.9rem,6vw,5.25rem)}h2{margin:3rem 0 1rem;font-size:clamp(2.1rem,4.2vw,3.6rem)}h3{margin:1.75rem 0 .4rem;font-size:1.25rem;line-height:1.3}.mark{background:linear-gradient(var(--volt), var(--volt)) no-repeat 0 55% / 100% .86em;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .12em}.mono{font-family:var(--mono)}.topbar{background:var(--ink);color:#e9e9e4;font-size:.875rem}.topbar .wrap{flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;padding-block:.45rem;display:flex}.topbar a{color:var(--volt);padding-block:.15rem;display:inline-block}.topbar a:hover{background:0 0}header.site{background:var(--white);border-bottom:var(--line)}header.site .wrap{flex-wrap:wrap;align-items:center;gap:.75rem 1.75rem;padding-block:.8rem;display:flex}.logo{text-transform:uppercase;font-family:var(--display);align-items:center;gap:.6rem;font-size:1.75rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.logo:hover{background:0 0}.logo svg{flex:none;width:2rem;height:2rem}nav.main{flex-wrap:wrap;gap:.25rem 1.5rem;margin-left:auto;font-weight:600;display:flex}nav.main a{padding:.6rem 0;text-decoration:none}nav.main a:hover{box-shadow:inset 0 -3px 0 var(--volt);background:0 0}footer.site{background:var(--ink);color:#c4c6c9;padding:3.5rem 0 2.25rem;font-size:.95rem}footer.site .cols{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:2rem;display:grid}footer.site h2{text-transform:none;color:var(--white);margin:0 0 .75rem;font-family:inherit;font-size:.95rem;font-weight:700;line-height:1.4}footer.site ul{margin:0;padding:0;list-style:none}footer.site li{margin:.45rem 0}footer.site a{color:#c4c6c9;text-decoration:none}footer.site a:hover{color:var(--ink)}footer.site .fine{color:#9a9da1;border-top:1px solid #2e3034;margin:2.75rem 0 0;padding-top:1.25rem;font-size:.85rem}.btn{background:var(--ink);min-height:3rem;color:var(--white);border:var(--line);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:0 1.4rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:#2a2c30}.btn.volt{background:var(--volt);color:var(--ink)}.btn.volt:hover{background:#e5c63a}.btn.ghost{background:var(--white);color:var(--ink)}.btn.ghost:hover{background:var(--volt)}.btn.big{min-height:3.6rem;padding:0 1.75rem;font-size:1.125rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.pagehead{background:var(--white);border-bottom:var(--line);padding:2.25rem 0 2.5rem}.pagehead h1{margin-bottom:.75rem}.lede{color:var(--body);max-width:44em;margin:0;font-size:1.2rem}.crumbs{color:var(--muted);font-size:.9rem}.crumbs ol{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:.35rem}.crumbs a{color:var(--muted)}.meta{border:var(--line);width:fit-content;max-width:100%;font-family:var(--mono);flex-wrap:wrap;margin:1rem 0 0;font-size:.8rem;display:flex}.notice{border:var(--line);background:var(--paper);max-width:44em;color:var(--body);border-left-width:8px;margin:1rem 0 0;padding:.6rem .9rem;font-size:.95rem}.notice strong{color:var(--ink)}.meta span{padding:.25rem .7rem}.meta span+span{border-left:var(--line)}.page{padding-block:3rem 5rem}.page.has-toc{grid-template-columns:minmax(0,1fr);gap:2.5rem 3.5rem;display:grid}.page-main{min-width:0}.page-main>:first-child{margin-top:0}.toc{border-top:var(--line);min-width:0;padding-top:.75rem;font-size:.95rem}.toc strong{display:block}.toc ul{margin:.6rem 0 0;padding:0;list-style:none}.toc li{margin:.45rem 0}.toc a{color:var(--muted);text-decoration:none}@media (max-width:63.99rem){.toc ul{white-space:nowrap;scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.toc li{margin:0}.toc a{border:var(--line);background:var(--white);color:var(--ink);padding:.4rem .75rem;display:block}}@media (min-width:64rem){.page.has-toc{grid-template-columns:14rem minmax(0,1fr)}.toc{align-self:start;position:sticky;top:1.5rem}}.prose{max-width:46rem;color:var(--body)}.prose h2,.prose h3,.prose strong{color:var(--ink)}.prose p,.prose ul,.prose ol{margin:.9rem 0}.prose li{margin:.35rem 0}.prose img{max-width:100%;height:auto}.prose blockquote{background:var(--white);border:var(--line);border-left-width:8px;margin:1.25rem 0;padding:.9rem 1.2rem}.quote{margin:1.25rem 0}.quote blockquote{margin:0}.quote figcaption{color:var(--muted);margin-top:.4rem;font-size:.9rem}.prose code{font-family:var(--mono);font-size:.92em}.table-wrap{border:var(--line);background:linear-gradient(to right, var(--white) 30%, #fff0) left / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--white) 30%, #fff0) right / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #11121438, transparent) left / .75rem 100% no-repeat, radial-gradient(farthest-side at 100% 50%, #11121438, transparent) right / .75rem 100% no-repeat, var(--white);margin:1.25rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;color:var(--ink);font-size:.95rem}th,td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.6rem .9rem}thead th{background:var(--ink);color:var(--white);white-space:nowrap;font-weight:600}tbody tr:last-child>*{border-bottom:0}td{font-variant-numeric:tabular-nums}.nw{white-space:nowrap}.hero{background:var(--white);border:var(--line);box-shadow:var(--shadow);margin:0 0 3rem;padding:2rem 1.75rem}.hero h2{margin:0}.hero p{color:var(--body);max-width:40rem;margin:1rem 0 0;font-size:1.15rem}.cta{background:var(--volt);border:var(--line);margin:3rem 0;padding:0 1.75rem 1.75rem}.cta:before,.hazard{content:"";border-bottom:var(--line);background:repeating-linear-gradient(-45deg, var(--ink) 0 14px, transparent 14px 28px);height:14px;margin:0 -1.75rem 1.5rem;display:block}.cta h2{margin:0;font-size:clamp(1.9rem,3.4vw,2.75rem)}.cta p{color:#2a2b2e;margin:.6rem 0 0}.cta .btn{margin-top:1.25rem}.grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:2rem 0;display:grid}.card{background:var(--white);border:var(--line);transition:box-shadow .12s,transform .12s}.card:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.card a{height:100%;padding:1.25rem;text-decoration:none;display:block}.card a:hover{background:0 0}.card h3{margin:0 0 .4rem;font-size:1.15rem}.card p{color:var(--muted);margin:0;font-size:.95rem}.pricing .table-wrap{box-shadow:var(--shadow)}.dl{border:2px dashed var(--ink);background:var(--white);max-width:46rem;margin:1.5rem 0;padding:1.25rem}.dl p{color:var(--muted);margin:.4rem 0 1rem;font-family:inherit;font-size:.95rem}.dl .files{margin:0 0 .5rem;padding:0;list-style:none}.dl .files li{margin:.4rem 0}.dl .files a{font-weight:700}.dl .files span,.dl .small{color:var(--muted);font-family:var(--mono);font-size:.8rem}.dl .small{margin:.75rem 0 0}.fig{background:var(--white);border:var(--line);max-width:54rem;margin:2rem 0}.fig img{width:100%;height:auto;display:block}.fig figcaption{border-top:var(--line);color:var(--muted);padding:.6rem .9rem;font-size:.9rem}.embed{max-width:54rem;margin:-1.25rem 0 2rem;font-size:.9rem}.embed summary{cursor:pointer;padding:.6rem 0;font-weight:700}.embed p{margin:0 0 .5rem}.embed label{color:var(--muted);margin-bottom:.25rem;font-size:.8rem;display:block}.embed textarea{box-sizing:border-box;border:var(--line);background:var(--white);width:100%;color:var(--ink);font:.8rem/1.4 var(--mono);resize:vertical;padding:.5rem}.related ul{padding-left:1.1rem}.calc{background:var(--white);border:var(--line);flex-wrap:wrap;margin:2rem 0 2.5rem;display:flex}.calc form{flex:1.2 21rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-content:start;gap:1.1rem 1rem;min-width:0;padding:1.5rem;display:grid}.calc label{font-size:.9rem;font-weight:700;display:block}.calc input,.calc select,.calc textarea{width:100%;min-height:3rem;font:inherit;font-family:var(--mono);border:var(--line);background:var(--white);color:var(--ink);border-radius:0;margin-top:.4rem;padding:0 .7rem;font-size:1rem}.calc .full{grid-column:1/-1}.calc textarea{min-height:9rem;padding:.6rem .7rem;font-size:.9rem}.signup{max-width:44rem}.form-error{border:var(--line);border-left-width:6px;margin:0;padding:.7rem .9rem;font-weight:700}.fine{margin:.8rem 0 0;font-size:.85rem}.calc .emailme{border-top:var(--line);flex:100%;padding:1.1rem 1.5rem 1.3rem;display:block}.emailme>label,.dl-signup>label{font-size:.9rem;font-weight:700;display:block}.inline{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}.inline input{flex:14rem;min-width:0;margin:0}.search{max-width:44rem;margin-top:1rem}.search>label{font-size:.9rem;font-weight:700;display:block}.search .inline input,.dl-signup .inline input{min-height:3rem;font:inherit;border:var(--line);background:var(--white);color:var(--ink);border-radius:0;padding:0 .7rem;font-size:1rem}.emailme .check{align-items:center;gap:.5rem;margin-top:.7rem;font-weight:400;display:flex}.emailme .check input{width:1.25rem;min-height:1.25rem;margin:0}.emailme .form-error{margin-bottom:.8rem}.hp{position:absolute;left:-9999px}.dl-signup{border-top:2px dashed var(--ink);margin-top:1.25rem;padding-top:1.1rem}.result{background:var(--ink);color:#f6f6f2;flex:18rem;min-width:0;padding:1.5rem}.result:before{content:"Result";font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:.6rem;font-size:.75rem;display:block}.result .summary{font-family:var(--mono);color:var(--volt);margin:0 0 1.1rem;font-size:1.1rem;font-weight:600;line-height:1.45}.result dl{border-top:1px dashed #3a3d42;margin:0}.result dl div{border-bottom:1px dashed #3a3d42;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.result dt{color:var(--dim)}.result dd{font-family:var(--mono);text-align:right;margin:0 0 0 auto}.result .table-wrap{background:#1b1d20;border-color:#3a3d42}.result table{color:#f6f6f2}.result th,.result td{border-color:#3a3d42}.result thead th{background:#2a2c30}.band{background:var(--white);border-bottom:var(--line);padding:5.5rem 0}.band.paper{background:var(--paper)}.band.ink{background:var(--ink);color:#f6f6f2;padding:4rem 0}.band.volt{background:var(--volt);padding:0 0 4.5rem}.band.volt .hazard{margin:0 0 4rem}.band h2{margin:0}.band h2+.lede{margin-top:1.25rem}.band-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:2.5rem;display:flex}.band-head p{max-width:33rem;color:var(--muted);margin:0}.split{flex-wrap:wrap;align-items:center;gap:3.5rem;display:flex}.split>*{flex:26rem;min-width:0}.home-hero{padding:4.5rem 0 5rem}.home-hero h1{margin:1rem 0 0;font-size:clamp(2.6rem,5.4vw,4.25rem);line-height:.96}.home-hero h1>span{display:block}.eyebrow{color:var(--muted);margin:0;font-weight:600}.home-hero .lede{max-width:32em;margin-top:1.75rem}.small{color:var(--muted);margin:1.25rem 0 0;font-size:.95rem}.ink .big-line{margin:0;font-size:clamp(2.4rem,4.6vw,3.6rem)}.ink .big-line span{color:var(--volt)}.ink p{color:#c4c6c9;max-width:34rem;margin:0;font-size:1.15rem}.sheetwrap{min-height:32rem;position:relative}.sheet{border:var(--line);box-shadow:var(--shadow);background-color:var(--white);background-image:linear-gradient(#1112140d 1px,#0000 1px),linear-gradient(90deg,#1112140d 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0 18% 4rem 0}.room{border:3px solid var(--ink);position:absolute}.room span{font-family:var(--mono);color:var(--muted);font-size:.6rem;position:absolute;top:.35rem;left:.5rem}.dev{background:var(--volt);border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute}.dev:after{content:"";border:1.5px solid var(--ink);background:var(--white);border-radius:50%;position:absolute;inset:6px}.dev.fx:after{border-radius:0}.titleblock{border-top:var(--line);background:var(--white);font-family:var(--mono);font-size:.65rem;display:flex;position:absolute;bottom:0;left:0;right:0}.titleblock span{padding:.3rem .6rem}.titleblock span:first-child{border-right:var(--line);font-weight:700}.proposal{background:var(--white);border:var(--line);width:min(19rem,60%);box-shadow:var(--shadow);padding:1.1rem;font-size:.78rem;position:absolute;bottom:0;right:0;transform:rotate(1.5deg)}.proposal .display{border-bottom:var(--line);padding-bottom:.6rem;font-size:1.5rem;line-height:1}.proposal .who{color:var(--muted);margin-top:.25rem;font-size:.7rem}.proposal ul{font-family:var(--mono);margin:.7rem 0 0;padding:0;list-style:none}.proposal li,.proposal .total{justify-content:space-between;gap:1rem;padding:.12rem 0;display:flex}.proposal .total{border-top:var(--line);align-items:center;margin-top:.6rem;padding-top:.5rem;font-weight:700}.proposal .total span:last-child{font-family:var(--mono);background:var(--volt);padding:0 .3rem;font-size:1.15rem}.proposal .sign{border-top:1px solid var(--ink);width:60%;color:var(--muted);margin-top:1rem;padding-top:.2rem;font-size:.65rem}.boxes{border:var(--line);background:var(--white);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.boxes>div{border:1px solid var(--ink);margin:-1px;padding:1.75rem}.boxes h3{margin:.5rem 0 0;font-size:1.3rem}.boxes p{color:var(--muted);margin:.6rem 0 0}.when{font-family:var(--mono);font-size:.9rem;font-weight:600}.steps th[scope=row]{width:5rem}.num{text-align:center;min-width:2.6rem;font-family:var(--display);background:var(--volt);border:var(--line);padding:0 .45rem;font-size:2rem;font-weight:800;line-height:1;display:inline-block}.steps td,.steps th{vertical-align:middle;padding:1rem 1.1rem}.steps td:nth-child(2){font-size:1.1rem;font-weight:700}.facts{border-top:var(--line);margin:1.75rem 0 0}.facts div{border-bottom:1px solid var(--rule);gap:1rem;padding:.8rem 0;display:flex}.facts dt{flex:none;width:9.5rem;font-weight:700}.facts dd{color:var(--muted);margin:0}.review{background:var(--white);border:var(--line);box-shadow:var(--shadow)}.review-top{border-bottom:var(--line);font-family:var(--mono);justify-content:space-between;padding:.75rem 1.1rem;font-size:.8rem;font-weight:600;display:flex}.review-body{flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.25rem 1.1rem;display:flex}.review-body .sheet{width:7.5rem;height:7.5rem;box-shadow:none;flex:none;position:relative;inset:auto}.review-body .dev{width:40px;height:40px;margin:-20px 0 0 -20px;top:50%;left:50%}.review-body .dev:after{inset:13px}.review-body>div:last-child{flex:14rem}.review-body h3{margin:0}.review-body p{color:var(--muted);margin:.2rem 0 0;font-size:.95rem}.chips{gap:.5rem;margin-top:.9rem;display:flex}.chips span{border:var(--line);padding:.45rem 1rem;font-size:.95rem;font-weight:700}.chips span:first-child{background:var(--volt)}.tools{border-top:var(--line);margin:0;padding:0;list-style:none}.tools a{border-bottom:1px solid var(--rule);align-items:center;gap:1rem;min-height:3.25rem;padding:.6rem .25rem;font-weight:700;text-decoration:none;display:flex}.tools a span{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:400}.calc-row{flex-wrap:wrap;align-items:flex-start;gap:2rem 3rem;display:flex}.calc-row>.calc{flex:1.6 34rem;min-width:0;margin:0}.calc-row>.tools{flex:18rem}.refs-head{margin-top:4rem}.ref-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));column-gap:3rem;display:grid}.wire-links{color:var(--muted);margin:1.5rem 0 0}.plans{border:var(--line);background:var(--white);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.plans>div{border:1px solid var(--ink);margin:-1px;padding:1.75rem}.plans .hot{background:var(--volt)}.plans h3{font-family:var(--display);text-transform:uppercase;margin:0;font-size:1.75rem;font-weight:800;line-height:1}.plans p{margin:.4rem 0 0;font-size:.95rem}.price{font-family:var(--mono);margin-top:1rem;font-size:2.75rem;font-weight:600;line-height:1.1}.price small{font-size:1rem;font-weight:400}.band.volt .split{justify-content:space-between}.band.volt .split>:last-child{flex:none}.band.volt h2{font-size:clamp(2.6rem,5.6vw,5rem)}.band.volt p{color:#2a2b2e;margin:.75rem 0 0;font-size:1.15rem}@media (max-width:48rem){header.site .btn{order:2;min-height:2.75rem;margin-left:auto;padding:0 .75rem;font-size:.9rem}nav.main{white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;gap:1.25rem;margin:0;overflow-x:auto}.topbar span{display:none}.logo{font-size:1.45rem}.logo svg{width:1.7rem;height:1.7rem}.calc textarea{font-size:1rem}}@media (max-width:40rem){.wrap{padding:0 1rem}table{font-size:.9rem}th,td{padding:.5rem .6rem}thead th{white-space:normal}.page{padding-block:2rem 3.5rem}.calc form,.result{padding:1.1rem}.hero{padding:1.5rem 1.1rem}.cta{padding:0 1.1rem 1.25rem}.cta:before{margin:0 -1.1rem 1.25rem}.boxes>div,.plans>div{padding:1.25rem}.proposal{width:76%;font-size:.72rem}.band{padding:3.5rem 0}.sheetwrap{min-height:26rem}.sheet{right:8%}.steps table,.steps tbody{display:block}.steps thead{display:none}.steps tr{border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);gap:.3rem .9rem;padding:1rem;display:grid}.steps tr:last-child{border-bottom:0}.steps th[scope=row],.steps td{border:0;width:auto;padding:0}.steps th[scope=row]{grid-row:span 2}.steps td:last-child{color:var(--muted)}}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.topbar,header.site,footer.site,.cta,.hero .actions{display:none}}main.wrap{padding-block:3rem 5rem}
