@font-face{font-family:Atkinson Hyperlegible Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-italic-latin-ext.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-italic-latin.woff2)format("woff2");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:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-normal-latin-ext.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-normal-latin.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-box-400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-box-700.woff2)format("woff2")}:root{--bg:#fdfdfc;--fg:#0e0e0e;--muted:#4a4a48;--rule:#8a8a86;--link:#5b21b6;--logo:#4a4a4a;--type:"Atkinson Hyperlegible Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--indent:4ch;--measure:68ch;--wide:1240px;--panel:#f4f4f1;--line:#c4c4bf;--field:#a78bfa;--shade:#8a8a86;--on-link:#fff;--rule-dash:"----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------";color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111;--fg:#f3f3f1;--muted:#b4b4ae;--rule:#6a6a66;--link:#a78bfa;--panel:#1c1c1b;--line:#3a3a38;--field:#5b3fa8;--shade:#5e5e5a;--on-link:#111;--logo:#fff;color-scheme:dark}}:root[data-theme=dark]{--bg:#111;--fg:#f3f3f1;--muted:#b4b4ae;--rule:#6a6a66;--link:#a78bfa;--panel:#1c1c1b;--line:#3a3a38;--field:#5b3fa8;--shade:#5e5e5a;--on-link:#111;--logo:#fff;color-scheme:dark}:root[data-theme^=crt]{--bg:#050805;--fg:#4dff7a;--muted:#2fc257;--rule:#1f7a38;--link:#b3ffc4;--panel:#0a120b;--line:#164d24;--field:#1f8a3e;--shade:#1d6b33;--on-link:#050805;--logo:#4dff7a;--glow:#4dff7a73;color-scheme:dark}:root[data-theme=crt-amber]{--bg:#0a0702;--fg:#ffb340;--muted:#d08a1c;--rule:#8a5a10;--link:#ffe0a3;--panel:#140e05;--line:#4d340b;--field:#9a6410;--shade:#7a500e;--on-link:#0a0702;--logo:#ffb340;--glow:#ffb34073}[data-theme^=crt] body{text-shadow:0 0 3px var(--glow)}[data-theme^=crt] :is(.button,a:hover),[data-theme^=crt] ::selection{text-shadow:none}[data-theme^=crt] body:after{content:"";z-index:100;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000047 2px 3px),radial-gradient(#0000 60%,#00000073 100%);position:fixed;inset:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--link) var(--panel)}body{background:var(--bg);color:var(--fg);font:1rem/1.6 var(--type);flex-direction:column;min-height:100vh;margin:0;display:flex}.wrap{width:100%;max-width:calc(var(--measure) + 2rem);margin:0 auto;padding:0 1rem}.wrap.wide{max-width:calc(var(--wide) + 2rem)}main{flex-direction:column;flex:1;display:flex}main>.wrap{flex-direction:column;flex:1;gap:1.5rem;padding-top:1.5rem;padding-bottom:2rem;display:flex}p,h1,h2,h3,ul{margin:0}a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--on-link);background:var(--link);text-decoration:none}::selection{color:var(--on-link);background:var(--link)}:focus-visible{outline-offset:2px;outline:2px dashed}h1{text-wrap:balance;font-size:1.6em;font-weight:700;line-height:1.35}h2{text-wrap:balance;font-size:1.35em;font-weight:700;line-height:1.35}.label{font:inherit;text-transform:uppercase;letter-spacing:.25em;font-weight:700}em{font-style:italic}code,pre{font-family:var(--type)}.muted,.meta{color:var(--muted)}.indent{padding-left:var(--indent)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{position:absolute;left:-999px}.skip:focus{background:var(--bg);z-index:10;padding:.5rem;top:1rem;left:1rem}.masthead{grid-template-columns:1fr auto;grid-template-areas:"brand toggle""nav nav";align-items:center;row-gap:.25rem;padding-top:.75rem;padding-bottom:.25rem;display:grid}.site-header:after,.site-footer:before,.field-hero:after{content:var(--rule-dash) / "";white-space:nowrap;color:var(--rule);line-height:1;display:block;overflow:hidden}.masthead .brand{grid-area:brand}.masthead nav{grid-area:nav}.masthead .theme-toggle{grid-area:toggle}.brand{justify-self:start;align-items:center;gap:.75ch;padding:.25rem 0;text-decoration:none;display:inline-flex}.brand:hover{background:0 0}.logo{width:auto;height:1.15em;color:var(--logo)}.masthead nav{flex-wrap:wrap;column-gap:1ch;display:flex}.masthead nav a{color:var(--fg);padding:.5rem 0;text-decoration:none;display:inline-block}.masthead nav .br{visibility:hidden;color:var(--link)}.masthead nav a[aria-current=page]{color:var(--link)}.masthead nav a:hover{color:var(--on-link);background-clip:content-box}.masthead nav a:hover .br,.site-footer :is(a,button):hover .br{color:inherit}.masthead nav a:hover .br,.masthead nav a[aria-current=page] .br{visibility:visible}.masthead nav a[aria-current=page]{font-weight:700}.site-footer .wrap{color:var(--muted);flex-direction:column;gap:.75rem;padding-top:.75rem;padding-bottom:1rem;display:flex}.site-footer .row{flex-wrap:wrap;justify-content:space-between;gap:0 2ch;display:flex}.site-footer a{color:inherit;text-decoration:none}.site-footer .br{visibility:hidden;color:var(--link)}.site-footer a:hover{color:var(--on-link)}.site-footer :is(a,button):hover .br,.crt-toggle[aria-pressed=true] .br{visibility:visible}.crt-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.crt-toggle[hidden]{display:none}.crt-toggle:hover{color:var(--on-link);background:var(--link)}.site-footer .links{flex-wrap:wrap;gap:0 1ch;margin-inline:-1ch;display:flex}.theme-toggle{min-width:2.5rem;height:2.5rem;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-right:-.5ch;padding:0 .5ch}.theme-toggle[hidden]{display:none}.theme-toggle:hover>span{color:var(--on-link);background:var(--link)}.theme-toggle .icon-moon,.theme-toggle .icon-sun{color:var(--link);font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-weight:700}.theme-toggle:hover :is(.icon-moon,.icon-sun){color:inherit}.theme-toggle .icon-sun,.theme-toggle[aria-checked=true] .icon-moon{display:none}.theme-toggle[aria-checked=true] .icon-sun{display:inline}.actions{flex-wrap:wrap;gap:1rem 3ch;padding-bottom:.6em;display:flex}.button{font:inherit;color:var(--bg);background:var(--fg);cursor:pointer;border:0;padding:.2rem 1ch;text-decoration:none;transition:transform 80ms;display:inline-block}.pair .button{margin:.5rem 0 .6em}.button>[aria-hidden]{display:none}.button.primary{color:var(--on-link);background:var(--link);font-weight:700}.button:hover{color:var(--bg);background:var(--fg);transform:translate(1ch,.6em)}.button:hover:before{visibility:hidden}.button.primary:hover{background:var(--link)}.button:focus-visible{outline-color:var(--fg)}.button.primary:focus-visible{outline-color:var(--link)}@media (forced-colors:active){.windows .shadow{color:canvastext}.button{border:1px solid buttontext}.button:before,.cards li:before,.work-cards li:before,.enquiry:before,.box:before{display:none}}@media (prefers-reduced-motion:reduce){.button{transition:none}}.button,.cards li,.work-cards li,.enquiry,.box{--sx:1ch;--sy:.6em;--bw:0px;position:relative}.cards li,.work-cards li,.enquiry,.box{--bw:1px}.button:before,.cards li:before,.work-cards li:before,.enquiry:before,.box:before{content:"";top:calc(var(--sy) - var(--bw));left:calc(var(--sx) - var(--bw));right:calc(-1 * var(--sx) - var(--bw));bottom:calc(-1 * var(--sy) - var(--bw));background:repeating-conic-gradient(var(--shade) 0 25%, transparent 0 50%) 0 0 / 4px 4px;clip-path:polygon(calc(100% - var(--sx)) 0, 100% 0, 100% 100%, 0 100%, 0 calc(100% - var(--sy)), calc(100% - var(--sx)) calc(100% - var(--sy)));pointer-events:none;position:absolute}.field-hero:after{position:absolute;bottom:0;left:0;right:0}.field-hero{padding:9rem 1rem 10rem;position:relative;overflow:hidden}.field{color:var(--field);-webkit-mask-image:radial-gradient(ellipse var(--clear-x) var(--clear-y) at 50% 50%, transparent 45%, #000 100%);mask-image:radial-gradient(ellipse var(--clear-x) var(--clear-y) at 50% 50%, transparent 45%, #000 100%);--clear-x:640px;--clear-y:300px;margin:0;font-size:13px;line-height:1.2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:960px;margin:0 auto;display:flex;position:relative}.hero h1{font-size:2.1em;line-height:1.2}.hero h1:after{content:"_";content:"_" / "";color:var(--link);animation:1.1s step-end 4 blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.hero h1:after{animation:none}}.field-hero:has(.field.still) .hero h1:after{animation:none}.life-toggle,.life-toggle:hover{z-index:1;color:var(--muted);background:var(--bg);padding:0 .5ch;font-size:.8em;position:absolute;bottom:2.5rem;right:2ch;transform:none}.life-toggle:before{display:none}.life-toggle:after{content:"";position:absolute;inset:-.75rem -.5rem}.life-toggle:hover{color:var(--fg)}.life-toggle>[aria-hidden]{display:inline}.life-toggle[hidden]{display:none}.hero p{text-wrap:balance;max-width:60ch;font-size:1.1em}.hero .actions{justify-content:center}.section{flex-direction:column;gap:2rem;padding-top:3rem;display:flex}.section>h2{text-align:center;align-items:center;gap:2ch;display:flex}.section>h2:before,.section>h2:after{content:var(--rule-dash) / "";white-space:nowrap;min-width:2ch;color:var(--rule);flex:1;font-size:.75em;font-weight:400;overflow:hidden}.section h3{font-size:1.15em}.centre{text-align:center}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:2.5rem 1.5rem;padding:0;list-style:none;display:grid}.cards li{--bw:5px;border:var(--bw) double var(--link);flex-direction:column;gap:.6rem;padding:0 1.75rem 1.75rem;display:flex}.cards h3{max-width:100%;margin:calc(-.675em - var(--bw) / 2) 0 .6rem;background:var(--bg);text-align:center;text-transform:uppercase;text-wrap:balance;order:-1;align-self:center;padding:0 1ch}.mark{color:var(--link);font-size:1.15em;font-weight:700}.mark .tick{font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace}.machine{color:var(--link);min-height:6.9em;margin:0;font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:700;line-height:1.15;overflow:hidden}.work-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:2.5rem 1.5rem;padding:0;list-style:none;display:grid}.work-cards li{--bw:5px;border:var(--bw) double var(--link);flex-direction:column;gap:.35rem;padding:0 1.5rem 1.5rem;display:flex;position:relative}.work-body{display:contents}.work-cards h3{max-width:100%;margin:calc(-.675em - var(--bw) / 2) 0 .9rem;background:var(--bg);text-align:center;text-transform:uppercase;order:-1;align-self:center;padding:0 1ch}.shot{background:var(--panel);border:1px solid var(--line);height:11rem;color:var(--rule);justify-content:center;align-items:center;margin-bottom:.9rem;display:flex;overflow:hidden}.shot pre{color:var(--field);margin:0;font-size:13px;line-height:1.2}.shot img{object-fit:cover;width:100%;height:100%}.shot .art{width:216px;height:144px;color:var(--link)}.shot .art image{image-rendering:pixelated}.work-body h3 a{color:var(--fg);text-decoration:none}.work-body h3 a:after{content:"";position:absolute;inset:0}.work-body p{position:relative}.work-cards li:has(a):hover h3,.work-cards li:has(a:focus-visible) h3{background:var(--link)}.work-cards li:hover h3 a,.work-body h3 a:focus-visible{color:var(--on-link);background:0 0}.small{font-size:.85em}.columns{text-align:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:2rem 3rem;padding:0;list-style:none;display:grid}.columns li{flex-direction:column;gap:.35rem;display:flex}.pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:2rem 5rem;display:grid}.pair>div{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.windows{max-width:100%;color:var(--fg);align-self:center;margin:0;font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:16px;line-height:1.25;overflow:auto hidden}.windows .frame{color:var(--link)}.windows .title{font-weight:700}.windows .shadow{vertical-align:top;color:#0000;background:repeating-conic-gradient(var(--shade) 0 25%, transparent 0 50%) 0 0 / 4px 4px fixed;height:1.25em;display:inline-block}.windows.narrow{display:none}@media (width<=720px){.windows.narrow{display:block}.windows.broad{display:none}}.enquiry{--bw:5px;border:var(--bw) double var(--link);--sx:1.5ch;--sy:.9em;flex-wrap:wrap;gap:2rem 4rem;margin:4rem 0 2rem;padding:3rem;display:flex}.enquiry:after{content:attr(data-title) / "";top:calc(var(--bw) / -2);background:var(--bg);text-transform:uppercase;white-space:nowrap;padding:0 1ch;font-weight:700;position:absolute;left:50%;transform:translate(-50%,-50%)}.enquiry.compact{margin:.5rem 0 1.5rem;padding:2rem}.enquiry.compact .enquiry-form{flex-basis:100%}.enquiry-intro{flex-direction:column;flex:18rem;gap:.75rem;display:flex}.enquiry-intro h2{font-size:1.75em}.enquiry-form{flex:2 32rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem 1.25rem;font-size:.9em;display:grid}.enquiry-form label{flex-direction:column;gap:.35rem;min-width:0;display:flex}.enquiry-form .full{grid-column:1/-1}.enquiry-form .label .muted{text-transform:none;letter-spacing:normal;font-weight:400}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--rule);min-width:0;caret-color:var(--link);caret-shape:block;border-radius:0;padding:.75rem}.enquiry-form .trap{position:absolute;left:-9999px}.enquiry-form .turnstile:empty{display:none}.enquiry-form .submit{flex-wrap:wrap;align-items:center;gap:1rem 3ch;display:flex}.form-status{margin:0}.button[aria-disabled=true]{cursor:progress;opacity:.7}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border:1px solid var(--link);outline:1px solid var(--link);outline-offset:0}.items{flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.items>li{flex-direction:column;gap:.15rem;display:flex}.items h3{font:inherit;font-weight:700}.steps{flex-direction:column;gap:1.25rem;padding:0;list-style:none;display:flex}.steps>li{grid-template-columns:4ch 1fr;row-gap:.15rem;display:grid}.steps .step-no{color:var(--link);font-weight:700}.steps>li>:not(.step-no){grid-column:2}.steps h3{font:inherit;grid-row:1;font-weight:700}.dashes{color:var(--muted);padding:0 0 0 2ch;list-style:none}.dashes.indent{padding-left:calc(var(--indent) + 2ch)}.dashes li{text-indent:-2ch}.dashes li:before{content:"- ";content:"- " / "";color:var(--rule)}.box{--bw:5px;border:var(--bw) double var(--link);flex-direction:column;gap:.75rem;padding:0 1rem .875rem;display:flex}.box>h2{max-width:100%;margin-top:calc(-.675em - var(--bw) / 2);background:var(--bg);text-align:center;text-transform:uppercase;align-self:center;padding:0 1ch;font-size:1em}.leaders{flex-direction:column;gap:.25rem;padding:0;list-style:none;display:flex}.leaders li{gap:1ch;min-width:0;display:flex}.leaders .dots{white-space:nowrap;color:var(--rule);flex:1;overflow:hidden}.leaders .dots:before{content:". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ."}.leaders a{overflow-wrap:anywhere}.papers a,.leaders a{color:var(--fg);text-decoration:none}.papers a{text-decoration:underline;text-decoration-color:var(--rule)}.papers a:hover,.leaders a:hover{color:var(--on-link);text-decoration:none}.page-head{flex-direction:column;gap:.25rem;display:flex}.big{font-size:1.25em}@media (width>=1140px){body{font-size:1.0625rem}.masthead{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav toggle";column-gap:4ch}.masthead nav{justify-content:flex-end}.wrap.wide{padding-inline:2.5rem}.hero h1{font-size:3.1em}}@media (width<=540px){body{font-size:.9375rem}:root{--indent:2ch}.hero h1{font-size:1.7em}.field-hero{padding:5rem 1rem 6rem}.field{--clear-x:380px;--clear-y:440px}.life-toggle,.life-toggle:hover{font-size:.75em;bottom:1.5rem;right:1rem}.enquiry,.enquiry.compact{--sx:1ch;--sy:.6em;padding:1.5rem}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}.masthead nav a:not([aria-current=page]) .br,.site-footer a .br,.crt-toggle:not([aria-pressed=true]) .br{display:none}.masthead nav,.site-footer .links{column-gap:1.5ch}.site-footer .links{margin-inline:0}.section>h2{gap:1.5ch;font-size:1.15em}}@media (height<=500px) and (orientation:landscape){.field-hero{padding:3rem 1rem 4.5rem}}@media (width<=360px){.masthead nav{column-gap:1ch;font-size:.9em}.site-footer .links{column-gap:1ch}.section>h2{font-size:1.05em}.enquiry,.enquiry.compact{padding:1.25rem 1rem}}
