:root{--bitmap-paper:#f4f0e6;--bitmap-ink:#15130f;--bitmap-ink-soft:#3b372f;--bitmap-coral:#f27a57}
body.lab:has(.lab-bitmap){background:var(--bitmap-paper)}.lab-bitmap{--bm-d6:conic-gradient(from 270deg at 2px 2px, var(--bitmap-ink) 25%, transparent 0) 0 0 / 8px 8px;--bm-d25:conic-gradient(from 270deg at 2px 2px, var(--bitmap-ink) 25%, transparent 0) 0 0 / 4px 4px;--bm-d50:repeating-conic-gradient(var(--bitmap-ink) 0 25%, transparent 0 50%) 0 0 / 4px 4px;--bm-d75:conic-gradient(from 270deg at 2px 2px, transparent 25%, var(--bitmap-ink) 0) 0 0 / 4px 4px;--lab-ground:var(--bitmap-paper);--lab-text:var(--bitmap-ink);--lab-menu-line:var(--bitmap-ink);--fg:var(--bitmap-ink);--fg-muted:var(--bitmap-ink-soft);--hairline-firm:var(--bitmap-ink);color:var(--bitmap-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.lab-bitmap :focus-visible{outline:2px solid var(--bitmap-ink);outline-offset:3px;border-radius:0}.lab-bitmap ::selection{background:var(--bitmap-ink);color:var(--bitmap-paper)}.lab-bitmap .lab-bar{font-family:var(--font-lab-mono);letter-spacing:.06em;font-size:.75rem}.lab-bitmap .lab-bar__tag{color:var(--bitmap-ink-soft)}.lab-bitmap .lab-views ul{box-shadow:4px 4px 0 var(--bitmap-ink);font-family:var(--font-ui);border-radius:0}.lab-bitmap .lab-views a{border-radius:0}@media (hover:hover){.lab-bitmap .lab-views a:hover{background:var(--bitmap-ink);color:var(--bitmap-paper)}}.bm-backdrop{z-index:-2;background:radial-gradient(circle at 76% 46%, var(--bitmap-coral) 0 7vmin, transparent 7.1vmin), linear-gradient(var(--bitmap-paper), var(--bitmap-paper)) 0 0 / 100% 54% no-repeat, var(--bm-d6), var(--bitmap-paper);position:fixed;inset:0}.bm-backdrop:after{content:"";background:var(--bm-d25), var(--bitmap-paper);position:absolute;inset:72% 0 0}.bm-backdrop:before{content:"";z-index:1;background:var(--bm-d50);border-radius:50%;width:18vmin;height:4.5vmin;position:absolute;inset-block-start:calc(46% + 5vmin);inset-inline-start:calc(76% - 6vmin)}.bm-canvas{z-index:-1;width:100%;height:100%;image-rendering:pixelated;opacity:0;transition:opacity .6s steps(4,end);position:fixed;inset:0}[data-lab-gl=ready] .bm-canvas{opacity:1}.bm-main{padding-inline:clamp(16px,5vw,80px)}.bm-chapter{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;padding-block:120px;display:flex}.bm-chapter--end{align-items:flex-end}.bm-chapter--hero{padding-block-start:clamp(96px,14vh,150px)}@media not (min-width:760px),not (min-aspect-ratio:.9){.bm-chapter{justify-content:flex-start;align-items:stretch;padding-block:44svh 72px}.bm-chapter--hero{padding-block-start:40svh}.bm-window{margin-inline:auto}}@media (not (min-height:520px)) and (not (max-aspect-ratio:1.2)){.bm-chapter{padding-block:84px 56px}.bm-chapter--hero{padding-block-start:64px}}.bm-window{border:1px solid var(--bitmap-ink);background:var(--bitmap-paper);width:100%;max-width:600px;box-shadow:4px 4px 0 var(--bitmap-ink);position:relative}.bm-window--hero{max-width:700px}.bm-window--wide{max-width:680px}.bm-bar{border-block-end:1px solid var(--bitmap-ink);background:var(--bm-d25), var(--bitmap-paper);align-items:center;gap:10px;height:28px;padding-inline:8px;display:flex}.bm-bar__box{border:1px solid var(--bitmap-ink);background:var(--bitmap-paper);flex:none;width:14px;height:14px}.bm-bar__label{border:1px solid var(--bitmap-ink);background:var(--bitmap-paper);font-family:var(--font-lab-mono);letter-spacing:.08em;padding:1px 8px;font-size:.6875rem;line-height:1.4}.bm-window__body{gap:20px;padding:clamp(20px,3vw,40px);display:grid}.bm-label{font-family:var(--font-lab-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;line-height:1.4;display:flex}.bm-label:before{content:"";background:var(--bitmap-ink);flex:none;width:6px;height:6px}.bm-display{font-family:var(--font-ui);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2rem,1.1rem + 4vw,4.4rem);font-weight:700;line-height:1.04}.bm-display--contact{font-size:clamp(2.2rem,1.3rem + 3vw,3.8rem)}@media (not (min-height:520px)) and (not (max-aspect-ratio:1.2)){.bm-display{font-size:clamp(1.9rem,1rem + 3vh,2.4rem)}}.bm-heading{font-family:var(--font-ui);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem);font-weight:700;line-height:1.04}.bm-display em,.bm-heading em,.bm-quote em{background:linear-gradient(var(--bitmap-ink) 0 0) 0 52% / 100% .96em no-repeat;color:var(--bitmap-paper);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.08em;font-style:normal}.bm-lead{max-width:44ch;font-size:clamp(1.0625rem,1rem + .3vw,1.2rem);line-height:1.55}.bm-hint{font-family:var(--font-lab-mono);letter-spacing:.04em;color:var(--bitmap-ink-soft);font-size:.75rem;display:none}@media (hover:hover){[data-lab-gl=ready] .bm-hint:not(.bm-hint--touch){display:block}}@media (hover:none) and (min-width:900px){[data-lab-gl=ready] .bm-hint--touch{display:block}}.bm-legal{font-family:var(--font-lab-mono);color:var(--bitmap-ink-soft);font-size:.8125rem}.bm-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;padding-block-start:4px;display:flex}.bm-button{border:1px solid var(--bitmap-ink);background:var(--bitmap-paper);min-height:48px;box-shadow:3px 3px 0 var(--bitmap-ink);align-items:center;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.bm-button[data-variant=primary]{background:var(--bitmap-ink);color:var(--bitmap-paper)}@media (hover:hover){.bm-button:hover{background:var(--bitmap-ink);color:var(--bitmap-paper)}.bm-button[data-variant=primary]:hover{background:var(--bitmap-paper);color:var(--bitmap-ink)}}.bm-button:active{box-shadow:none;transform:translate(3px,3px)}.bm-link{text-underline-offset:.25em;padding-block:10px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}@media (hover:hover){.bm-link:hover{background:var(--bitmap-ink);color:var(--bitmap-paper)}}.lab-bitmap .lab-enquiry{--lab-form-line:var(--bitmap-ink);--lab-form-field:var(--bitmap-paper);--lab-form-accent:var(--bitmap-ink);--lab-form-on-accent:var(--bitmap-paper);--lab-form-radius:0}.lab-bitmap .lab-enquiry .c-input,.lab-bitmap .lab-enquiry .c-select,.lab-bitmap .lab-enquiry .c-textarea{box-shadow:inset 2px 2px 0 var(--bitmap-ink)}.lab-bitmap .lab-enquiry .c-btn{border:1px solid var(--bitmap-ink);box-shadow:3px 3px 0 var(--bitmap-ink)}@media (hover:hover){.lab-bitmap .lab-enquiry .c-btn:hover:not(:disabled){background:var(--bitmap-paper);color:var(--bitmap-ink)}}.lab-bitmap .lab-enquiry .c-btn:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}.bm-services{border-block-start:1px solid var(--bitmap-ink)}.bm-services li+li{border-block-start:1px dashed var(--bitmap-ink)}.bm-service{grid-template-columns:1.75rem 20px 1fr auto;align-items:baseline;gap:2px 12px;padding:14px 10px;text-decoration:none;display:grid}.bm-service:focus-visible{background:var(--bitmap-ink);color:var(--bitmap-paper);outline-offset:2px}@media (hover:hover){.bm-service:hover{background:var(--bitmap-ink);color:var(--bitmap-paper)}}.bm-service__n{font-family:var(--font-lab-mono);font-size:.75rem}.bm-pict{fill:currentColor;shape-rendering:crispedges;align-self:center;width:16px;height:16px}.bm-service__title{letter-spacing:-.01em;font-size:1.1875rem;font-weight:700;line-height:1.25}.bm-service__price{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;font-weight:600}.bm-service__promise,.bm-service__meta{grid-column:3/-1}.bm-service__meta{font-family:var(--font-lab-mono);letter-spacing:.04em;font-size:.75rem}@media not (min-width:520px){.bm-service{grid-template-columns:20px 1fr;padding-inline:4px}.bm-service__n{display:none}.bm-service__price,.bm-service__promise,.bm-service__meta{text-align:start;grid-column:2}}.bm-more{justify-self:start}.bm-steps{border-block-start:1px solid var(--bitmap-ink);display:grid}.bm-step{grid-template-columns:2.75rem 1fr;gap:16px;padding-block:18px;display:grid}.bm-step+.bm-step{border-block-start:1px dashed var(--bitmap-ink)}@media (min-width:760px){.bm-step:nth-child(2){padding-inline-start:18px}.bm-step:nth-child(3){padding-inline-start:36px}.bm-step:nth-child(4){padding-inline-start:54px}.bm-step:nth-child(5){padding-inline-start:72px}}.bm-step__n{border:1px solid var(--bitmap-ink);width:2.75rem;height:2.75rem;font-family:var(--font-lab-mono);place-items:center;font-size:.875rem;display:grid}.bm-step[data-active] .bm-step__n{background:var(--bitmap-ink);color:var(--bitmap-paper)}.bm-step .bm-label:before{display:none}.bm-step__title{letter-spacing:-.01em;margin-block:2px 4px;font-size:1.25rem;font-weight:700;line-height:1.25}.bm-step__body,.bm-promise p{color:var(--bitmap-ink-soft)}.bm-promises{border-block-start:1px solid var(--bitmap-ink);border-inline-start:1px solid var(--bitmap-ink);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.bm-promise{border-block-end:1px solid var(--bitmap-ink);border-inline-end:1px solid var(--bitmap-ink);box-shadow:inset 0 0 0 0 var(--bitmap-ink);align-content:start;gap:6px;padding:18px 18px 22px;display:grid}@media (hover:hover){.bm-promise:hover{box-shadow:inset 0 6px 0 0 var(--bitmap-ink)}}.bm-promise__n{font-family:var(--font-lab-mono);font-size:.75rem}.bm-promise__title{letter-spacing:-.01em;font-size:1.1875rem;font-weight:700;line-height:1.25}.bm-quote{border-block-end:1px solid var(--bitmap-ink);gap:12px;padding-block-end:20px;display:grid}.bm-quote blockquote{letter-spacing:-.02em;text-wrap:pretty;font-size:clamp(1.4rem,1.1rem + 1.2vw,2.1rem);font-weight:600;line-height:1.2}.bm-quote figcaption{font-family:var(--font-lab-mono);color:var(--bitmap-ink-soft);font-size:.8125rem}.lab-bitmap[data-bm-reveal] .bm-window:not(.is-in){clip-path:inset(0 0 100%)}.lab-bitmap[data-bm-reveal] .bm-window.is-in{animation:.42s steps(5,end) both bm-open}.lab-bitmap[data-bm-reveal] .bm-window.is-in:after{content:"";pointer-events:none;animation:.72s step-end both bm-clear;position:absolute;inset:0}@keyframes bm-open{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0 -8px -8px 0)}}@keyframes bm-clear{0%{background:var(--bm-d75)}30%{background:var(--bm-d50)}60%{background:var(--bm-d25)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.bm-canvas{transition:none}}[data-motion=reduced] .bm-canvas{transition:none}.lab-bitmap .lab-bar__motion{align-self:stretch;align-items:center;display:flex}.lab-bitmap .lab-bar__motion>*{font-family:var(--font-lab-mono);align-items:center}
