:root{--diorama-box:#16132e;--diorama-box-2:#221c45;--diorama-cream:#f7ecd6;--diorama-cream-dim:#c4bad8;--diorama-lamp:#ffcf6e;--diorama-ember:#ff9a5c;--diorama-rim:#6c5aa8;--diorama-sky-top:#1b1740;--diorama-sky-mid:#4a2f6b;--diorama-sky-low:#e0765a;--diorama-glow:#ffb36b;--diorama-stone:#6d6478;--diorama-cobble:#554b5e;--diorama-wood:#7a4b35;--diorama-plaster:#e9d8bb;--diorama-roof:#b4553a;--diorama-copper:#4f9a8c;--diorama-house-1:#e6b85c;--diorama-house-2:#dc8f86;--diorama-house-3:#9cbf8e;--diorama-house-4:#8fb2cf;--diorama-house-5:#efe0c4;--diorama-screen:#63d6c5}
body.lab:has(.lab-diorama){background:var(--diorama-sky-top)}.lab-diorama{--lab-ground:var(--diorama-box);--lab-text:var(--diorama-cream);--lab-menu-line:var(--diorama-rim);--fg:var(--diorama-cream);--fg-muted:var(--diorama-cream-dim);--hairline-firm:var(--diorama-lamp);color:var(--diorama-cream);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lab-diorama :focus-visible{outline:3px solid var(--diorama-lamp);outline-offset:3px;border-radius:4px}.lab-diorama ::selection{background:var(--diorama-lamp);color:var(--diorama-box)}.lab-diorama .lab-bar{font-family:var(--font-lab-mono);border-bottom-width:3px;font-size:.75rem}.lab-diorama .lab-bar__tag{color:var(--diorama-cream-dim)}.lab-diorama .lab-bar__motion{align-self:stretch;align-items:center;display:flex}.lab-diorama .lab-bar__motion>*{font-family:var(--font-lab-mono);align-items:center}.lab-diorama .lab-views ul{border:3px solid var(--diorama-cream);box-shadow:0 0 0 3px var(--diorama-box);border-radius:6px}@media (hover:hover){.lab-diorama .lab-views a:hover{background:var(--diorama-lamp);color:var(--diorama-box)}}.dio-backdrop{z-index:-2;background:linear-gradient(180deg, var(--diorama-sky-top) 0 34%, var(--diorama-sky-mid) 34% 52%, var(--diorama-sky-low) 52% 64%, var(--diorama-glow) 64%);position:fixed;inset:0}.dio-backdrop:before{content:"";background:conic-gradient(at 7px 9px, transparent 75%, var(--diorama-lamp) 0) 26px 34px / 118px 46px, conic-gradient(at 7px 9px, transparent 75%, var(--diorama-lamp) 0) 71px 57px / 166px 92px, var(--diorama-box);clip-path:polygon(0% 40%,5% 40%,5% 22%,8.5% 8%,12% 22%,12% 36%,17% 36%,17% 26%,20.5% 12%,24% 26%,24% 44%,30% 44%,30% 30%,33% 18%,36% 30%,36% 40%,41% 40%,41% 34%,46.5% 34%,46.5% 22%,48.6% 22%,50% 0%,51.4% 22%,53.5% 22%,53.5% 34%,59% 34%,59% 42%,63% 42%,63% 24%,66.5% 10%,70% 24%,70% 38%,76% 38%,76% 28%,79% 16%,82% 28%,82% 46%,87% 46%,87% 30%,90.5% 18%,94% 30%,94% 40%,100% 40%,100% 100%,0% 100%);position:absolute;inset:44% 0 0}.dio-canvas{z-index:-1;width:100%;height:100%;image-rendering:pixelated;opacity:0;transition:opacity .8s steps(5,end);position:fixed;inset:0}[data-lab-gl=ready] .dio-canvas{opacity:1}.dio-main{padding-inline:clamp(16px,5vw,80px)}.dio-chapter{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;padding-block:120px;display:flex}.dio-chapter--end{align-items:flex-end}.dio-chapter--hero{padding-block-start:clamp(100px,14vh,150px)}@media not (min-width:760px),not (min-aspect-ratio:.9){.dio-chapter{justify-content:flex-start;align-items:stretch;padding-block:46svh 72px;padding-inline:max(0px,50% - 340px)}.dio-chapter--hero{padding-block-start:42svh}.dio-box{max-width:none}}@media (not (min-height:520px)) and (not (max-aspect-ratio:1.2)){.dio-chapter{padding-block:84px 56px}.dio-chapter--hero{padding-block-start:64px}}.dio-place{z-index:1;border:3px solid var(--diorama-box);background:var(--diorama-lamp);color:var(--diorama-box);font-family:var(--font-lab-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;align-self:flex-start;margin:0 0 -14px 20px;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex;position:relative}.dio-chapter--end .dio-place{align-self:flex-end;margin-inline:0 20px}.dio-place>span{padding:7px 10px}.dio-place__n{background:var(--diorama-box);color:var(--diorama-lamp)}.dio-box{border:3px solid var(--diorama-cream);background:linear-gradient(180deg, var(--diorama-box-2), var(--diorama-box) 60%);width:100%;max-width:580px;box-shadow:0 0 0 3px var(--diorama-box), inset 0 0 0 3px var(--diorama-box), inset 0 0 0 5px var(--diorama-rim), 8px 10px 0 3px color-mix(in srgb, var(--diorama-box) 55%, transparent);border-radius:8px;gap:18px;padding:clamp(26px,3vw,36px) clamp(20px,3vw,34px) clamp(22px,3vw,32px);display:grid;position:relative}.dio-box--hero{max-width:660px}.dio-box--wide{max-width:680px}.dio-label{font-family:var(--font-lab-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--diorama-ember);font-size:.75rem;line-height:1.4}.dio-display{font-family:var(--font-ui);letter-spacing:-.03em;text-wrap:balance;text-shadow:0 3px 0 var(--diorama-box);font-size:clamp(2.2rem,1.2rem + 3.3vw,3.9rem);font-weight:700;line-height:1.04}.dio-display--contact{font-size:clamp(2rem,1.3rem + 2.6vw,3.4rem)}@media (not (min-height:520px)) and (not (max-aspect-ratio:1.2)){.dio-display{font-size:clamp(1.9rem,1rem + 3vh,2.4rem)}}.dio-heading{font-family:var(--font-ui);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.8rem,1.3rem + 1.8vw,2.7rem);font-weight:700;line-height:1.06}.dio-display em,.dio-heading em,.dio-quote em{font-family:var(--font-display-italic);letter-spacing:-.01em;color:var(--diorama-lamp);font-style:italic;font-weight:400}.dio-lead{max-width:46ch;color:var(--diorama-cream-dim);font-size:clamp(1.0625rem,1rem + .3vw,1.2rem);line-height:1.55}.dio-hint{font-family:var(--font-lab-mono);color:var(--diorama-cream-dim);font-size:.75rem;display:none}@media (hover:hover){[data-lab-gl=ready] .dio-hint:not(.dio-hint--touch){display:block}}@media (hover:none) and (min-width:900px){[data-lab-gl=ready] .dio-hint--touch{display:block}}.dio-legal{font-family:var(--font-lab-mono);color:var(--diorama-cream-dim);font-size:.8125rem}.dio-cursor{width:1.1em;color:var(--diorama-lamp);visibility:hidden;flex:none;font-size:.8em;display:inline-block}:is(.dio-option,.dio-item):focus-visible .dio-cursor,:is(.dio-item,.dio-step)[data-active] .dio-cursor{visibility:visible;animation:1s step-end infinite dio-blink}@media (hover:hover){:is(.dio-option,.dio-item):hover .dio-cursor{visibility:visible;animation:1s step-end infinite dio-blink}}@keyframes dio-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.lab-diorama .dio-cursor{animation:none}.dio-canvas{transition:none}}[data-motion=reduced] .lab-diorama .dio-cursor{animation:none}[data-motion=reduced] .dio-canvas{transition:none}.dio-menu{flex-wrap:wrap;gap:12px 16px;padding-block-start:4px;display:flex}.dio-option{border:3px solid var(--diorama-cream);overflow-wrap:anywhere;border-radius:6px;align-items:center;min-height:48px;padding:0 20px 0 10px;font-weight:700;text-decoration:none;display:inline-flex}.dio-option[data-variant=primary]{border-color:var(--diorama-lamp);background:var(--diorama-lamp);color:var(--diorama-box)}.dio-option[data-variant=primary] .dio-cursor{color:var(--diorama-box)}@media (hover:hover){.dio-option:hover{border-color:var(--diorama-lamp)}}.dio-option:active{transform:translateY(2px)}.dio-link{color:var(--diorama-lamp);text-underline-offset:.25em;padding-block:10px;font-weight:700;display:inline-block}.lab-diorama .lab-enquiry{--lab-form-line:var(--diorama-cream-dim);--lab-form-field:var(--diorama-box);--lab-form-accent:var(--diorama-lamp);--lab-form-on-accent:var(--diorama-box);--lab-form-radius:6px}.lab-diorama .lab-enquiry .c-input,.lab-diorama .lab-enquiry .c-select,.lab-diorama .lab-enquiry .c-textarea{border-width:2px}.lab-diorama .lab-enquiry .c-field.is-error :is(.c-input,.c-textarea){border-width:3px;border-color:var(--diorama-ember)}.lab-diorama .lab-enquiry .c-err{color:var(--diorama-ember)}.lab-diorama .lab-enquiry .c-btn{border:3px solid var(--diorama-lamp);font-weight:700}@media (hover:hover){.lab-diorama .lab-enquiry .c-btn:hover:not(:disabled){border-color:var(--diorama-cream)}}.lab-diorama .lab-enquiry .c-btn:active:not(:disabled){transform:translateY(2px)}.dio-services{margin-inline:-10px}.dio-services li+li{border-block-start:2px dotted color-mix(in srgb, var(--diorama-cream) 28%, transparent)}.dio-item{border-radius:6px;grid-template-columns:1.1em 1fr auto;align-items:baseline;gap:2px 10px;padding:12px 10px;text-decoration:none;display:grid}.dio-item:focus-visible,.dio-item[data-active]{background:color-mix(in srgb, var(--diorama-lamp) 12%, var(--diorama-box))}@media (hover:hover){.dio-item:hover{background:color-mix(in srgb, var(--diorama-lamp) 12%, var(--diorama-box))}}.dio-item__title{font-size:1.125rem;font-weight:700;line-height:1.25}.dio-item__price{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;color:var(--diorama-lamp);font-weight:700}.dio-item__promise,.dio-item__meta{color:var(--diorama-cream-dim);grid-column:2/-1}.dio-item__meta{font-family:var(--font-lab-mono);font-size:.75rem}@media not (min-width:520px){.dio-item{grid-template-columns:1.1em 1fr}.dio-item__price{text-align:start;grid-column:2}}.dio-steps{gap:4px;display:grid}.dio-step{grid-template-columns:1.1em 2.5rem 1fr;align-items:start;gap:12px;padding-block:12px;display:grid}.dio-step .dio-cursor{padding-block-start:.7rem}.dio-step__n{border:3px solid var(--diorama-lamp);width:2.5rem;height:2.5rem;font-family:var(--font-lab-mono);color:var(--diorama-lamp);border-radius:4px;place-items:center;font-weight:500;display:grid}.dio-step[data-active] .dio-step__n{background:var(--diorama-lamp);color:var(--diorama-box)}.dio-step__title{margin-block:2px 4px;font-size:1.1875rem;font-weight:700;line-height:1.25}.dio-step__body,.dio-promise p{color:var(--diorama-cream-dim)}.dio-promises{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.dio-promise{border:2px solid var(--diorama-rim);background:color-mix(in srgb, var(--diorama-box-2) 70%, var(--diorama-box));border-radius:6px;align-content:start;gap:6px;padding:14px 16px 16px;display:grid}@media (hover:hover){.dio-promise:hover{border-color:var(--diorama-lamp)}}.dio-promise__title{font-size:1.125rem;font-weight:700;line-height:1.25}.dio-quote{border-block-end:2px dotted color-mix(in srgb, var(--diorama-cream) 28%, transparent);gap:10px;padding-block-end:18px;display:grid}.dio-quote blockquote{font-family:var(--font-display);text-wrap:pretty;font-size:clamp(1.4rem,1.1rem + 1.1vw,2rem);line-height:1.22}.dio-quote figcaption{font-family:var(--font-lab-mono);color:var(--diorama-cream-dim);font-size:.8125rem}.lab-diorama[data-dio-reveal] .dio-box:not(.is-in){clip-path:inset(50%)}.lab-diorama[data-dio-reveal] .dio-box.is-in{animation:.36s steps(7,end) both dio-open}@keyframes dio-open{0%{clip-path:inset(49%)}40%{clip-path:inset(49% -16px)}to{clip-path:inset(-16px)}}
