[hidden]{display:none!important}
.mk-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;flex-shrink:0;border:1px solid transparent;border-radius:.375rem;white-space:nowrap;transition:all .15s;outline:none;cursor:pointer}
.mk-button.rounded-none{border-radius:0}.mk-button.border-line{border-color:#272e3b}.mk-button:disabled{opacity:.5;cursor:wait}.mk-button:focus-visible,.mk-input:focus-visible,.mk-textarea:focus-visible{outline:2px solid #f97316;outline-offset:2px}
.mk-input,.mk-textarea{width:100%;min-width:0;border:1px solid #272e3b;padding:.25rem .625rem;outline:none;transition:color .15s;background:#272e3b4d;color:#f3f4f6;font-size:1rem;line-height:1.5rem}
[data-contact-form] label.font-mono{font-weight:500}
.mk-textarea{display:flex;min-height:4rem;padding:.5rem .625rem;field-sizing:content}
@media(min-width:768px){.mk-input,.mk-textarea{font-size:.875rem;line-height:1.25rem}}
.services-menu{min-width:230px;border-radius:.6rem;z-index:70}
@media(min-width:1024px){[data-menu-open]{display:none}}
.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;width:86vw;max-width:384px;height:100dvh;max-height:100dvh;border-left:1px solid #272e3b;overflow:auto;padding:0}
.mobile-menu::backdrop{background:#0008;backdrop-filter:blur(4px)}
[data-header].scrolled{border-color:#272e3b;background:#0d0f12e6;backdrop-filter:blur(24px)}
[data-compare-before]{width:var(--position)}[data-compare-handle]{left:var(--position)}
.compare-range{position:absolute;inset:0;z-index:20;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:none}
[data-compare]:focus-within{outline:2px solid #f97316;outline-offset:3px}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:100;background:#f97316;color:#0d0f12;padding:1rem}.skip-link:focus{top:1rem}
.scrollbar-none{scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}
.reveal-pending{opacity:0;transform:translateY(28px)}.reveal-ready{transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);opacity:1;transform:translateY(0)}
@keyframes masked{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){[data-mask]{animation:masked .7s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--delay,0s)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
