@layer tailwindBase{.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.filter{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: }}@layer reset{*,:after,:before{box-sizing:border-box}*{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}html:focus-within{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;min-height:100dvh;text-rendering:optimizeSpeed}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}[role=list]{padding:0}a{-webkit-text-decoration-skip:ink;color:currentColor;text-decoration-skip-ink:auto}canvas,img,picture,svg{background-repeat:no-repeat;background-size:cover;block-size:auto;font-style:italic;max-inline-size:100%;shape-margin:.75rem;vertical-align:middle}picture{display:block}button{all:unset}button,input,select,textarea{color:inherit;font:inherit}textarea{resize:vertical;resize:block}textarea:not([rows]){min-height:10em}[role=button],[role=option],[type=submit],button,label,select,summary{cursor:pointer}:target{scroll-margin-block-start:2ex}:focus{scroll-margin-block-end:8vh}dialog{inset:unset;max-height:unset;max-width:unset}[popover],dialog{background:none;border:none}[popover]{color:inherit}[popover]:not(:popover-open),dialog:not([open],[popover]){display:none!important}html:has(dialog[open]:modal){overflow:hidden}@media (prefers-reduced-motion:reduce){:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}}@layer fonts{@font-face{font-display:swap;font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/atkinson/atkinson-hyperlegible-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;src:local(""),url(/assets/fonts/atkinson/atkinson-hyperlegible-italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;src:local(""),url(/assets/fonts/atkinson/atkinson-hyperlegible-bold.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/outfit/outfit-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Outfit;font-style:normal;font-weight:700;src:local(""),url(/assets/fonts/outfit/outfit-bold.woff2) format("woff2")}@font-face{font-display:swap;font-family:FiraCode;font-style:normal;font-weight:500;src:local(""),url(/assets/fonts/fira/firacode-medium-webfont.woff2) format("woff2")}@font-face{font-display:swap;font-family:enby-gertrude-main;font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/enby-gertrude-main/Enby_Gertrude_roman.woff2) format("woff2")}@font-face{font-display:swap;font-family:amiamie-regular;font-style:normal;font-weight:300;src:local(""),url(/assets/fonts/amiamie/Amiamie-Light.woff2) format("woff2")}@font-face{font-display:swap;font-family:amiamie-bold;font-style:normal;font-weight:700;src:local(""),url(/assets/fonts/amiamie/Amiamie-Regular.woff2) format("woff2")}}@layer tailwindComponents{:root{--color-gray-100:#f8f8f8;--color-gray-200:#e4e4e4;--color-gray-300:#aeaeae;--color-gray-400:grey;--color-gray-500:#636363;--color-gray-600:#484848;--color-gray-700:#3a3a3a;--color-gray-800:#2e2e2e;--color-gray-900:#242424;--color-cinnabar-100:#f8fcff;--color-cinnabar-200:#d1e7ff;--color-cinnabar-300:#9bcaff;--color-cinnabar-400:#70b0fa;--color-cinnabar-500:#2e88e5;--color-cinnabar-600:#0062bd;--color-cinnabar-700:#003771;--color-cinnabar-800:#112134;--color-cinnabar-900:#13181f;--color-royal-blue-100:#fafcfe;--color-royal-blue-200:#d9e6f2;--color-royal-blue-300:#aec9e3;--color-royal-blue-400:#8cb1d2;--color-royal-blue-500:#5b8bb5;--color-royal-blue-600:#38688f;--color-royal-blue-700:#1c3b54;--color-royal-blue-800:#18222a;--color-royal-blue-900:#15181b;--color-mandy-100:#fffbfb;--color-mandy-200:#f4dee2;--color-mandy-300:#e4b9c0;--color-mandy-400:#d49aa5;--color-mandy-500:#b56e7c;--color-mandy-600:#8e4c5a;--color-mandy-700:#532932;--color-mandy-800:#2a1c1e;--color-mandy-900:#1c1617;--color-bright-sun-100:#fefcf7;--color-bright-sun-200:#efe4cb;--color-bright-sun-300:#dcc38d;--color-bright-sun-400:#c9a85c;--color-bright-sun-500:#aa7f00;--color-bright-sun-600:#855b00;--color-bright-sun-700:#4d3300;--color-bright-sun-800:#281f0c;--color-bright-sun-900:#1a1711;--color-cinnabar:#4098f7;--color-cinnabar-subdued:#5799e4;--color-royal-blue:#86b8e4;--color-royal-blue-subdued:#90b7da;--color-mandy:#f3a7b5;--color-mandy-subdued:#eaacb7;--color-bright-sun:#ffd166;--color-bright-sun-subdued:#f7d382;--border-radius-small:0.1875rem;--border-radius-medium:0.3rem;--space-3xs:clamp(0.125rem,0.11rem + 0.07vw,0.1875rem);--space-2xs:clamp(0.1875rem,0.16rem + 0.14vw,0.3125rem);--space-xs:clamp(0.3125rem,0.28rem + 0.14vw,0.4375rem);--space-s:clamp(0.625rem,0.57rem + 0.28vw,0.875rem);--space-m:clamp(0.875rem,0.78rem + 0.49vw,1.3125rem);--space-l:clamp(1.1875rem,1.06rem + 0.63vw,1.75rem);--space-xl:clamp(2.375rem,2.13rem + 1.25vw,3.5rem);--space-2xl:clamp(3.5625rem,3.19rem + 1.88vw,5.25rem);--space-3xl:clamp(5.9375rem,5.31rem + 3.13vw,8.75rem);--space-xs-s:clamp(0.3125rem,0.19rem + 0.63vw,0.875rem);--space-s-m:clamp(0.625rem,0.47rem + 0.76vw,1.3125rem);--space-m-l:clamp(0.875rem,0.64rem + 1.18vw,1.9375rem);--space-l-xl:clamp(1.1875rem,0.67rem + 2.57vw,3.5rem);--space-l-2xl:clamp(2.375rem,1.74rem + 3.19vw,5.25rem);--space-xl-2xl:clamp(3.5625rem,2.41rem + 5.76vw,8.75rem);--space-2xl-3xl:clamp(5.9375rem,4.15rem + 8.96vw,14rem);--space-header-distance:clamp(10rem,9.93rem + 0.35vw,10.3125rem);--size-step-min-3:clamp(0.625rem,0.61rem + 0.07vw,0.6875rem);--size-step-min-2:clamp(0.75rem,0.72rem + 0.14vw,0.875rem);--size-step-min-1:clamp(0.9375rem,0.90rem + 0.21vw,1.125rem);--size-step-0:clamp(1.125rem,1.07rem + 0.28vw,1.375rem);--size-step-1:clamp(1.375rem,1.21rem + 0.83vw,2.125rem);--size-step-2:clamp(1.5rem,1.22rem + 1.39vw,2.75rem);--size-step-3:clamp(2.0625rem,1.62rem + 2.22vw,4.0625rem);--size-step-4:clamp(2.25rem,1.36rem + 4.44vw,6.25rem);--size-step-code:clamp(0.9375rem,0.84rem + 0.49vw,1.375rem);--leading-flat:1;--leading-fine:1.2;--leading-standard:1.4;--leading-loose:1.6;--font-display:enby-gertrude-main,Outfit,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;--font-base:amiamie-regular,Atkinson Hyperlegible,system-ui,sans-serif;--font-base-bold:amiamie-bold,Atkinson Hyperlegible,system-ui,sans-serif;--font-mono:FiraCode,ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;--font-regular:400;--font-bold:700}}@layer variables{:root{--gutter:var(--space-m-l);--transition-duration:250ms;--transition-timing:ease;--wrapper-width:85rem;--tracking:-0.04ch;--tracking-s:-0.075ch;--tracking-wide:0.04ch;--border-thickness:0.15em;--stroke:var(--border-thickness) solid var(--color-mid);--stroke-light:var(--border-thickness) solid var(--color-bg-accent);--stroke-thin:1px solid var(--color-mid);--gradient-rainbow:linear-gradient(90deg,#cf4662 10%,#fbbe25 30%,#62c95c 50%,#08bccb 75%,#a977d5 90%);--color-light:var(--color-gray-100);--color-dark:var(--color-gray-800);--color-mid:var(--color-gray-400)}:root,[data-theme=light]{--color-text:var(--color-gray-800);--color-bg:var(--color-gray-100);--color-text-accent:var(--color-gray-700);--color-bg-accent:var(--color-gray-200);--color-bg-accent-2:var(--color-gray-300);--color-accent:var(--color-cinnabar);--color-mark:var(--color-bright-sun);--gradient-conic:conic-gradient(var(--color-cinnabar) 0 12%,var(--color-royal-blue) 0 33%,var(--color-mandy) 0 55%,var(--color-bright-sun) 0 70%,var(--color-cinnabar) 0 100%);--gradient-fade-color:linear-gradient(5deg,color-mix(in oklab,var(--color-accent) 90%,var(--color-bg)) 0,var(--color-accent) 71%)}@media (prefers-color-scheme:dark){:root{--color-text:var(--color-gray-800);--color-bg:var(--color-gray-100);--color-text-accent:var(--color-gray-700);--color-bg-accent:var(--color-gray-200);--color-bg-accent-2:var(--color-gray-300);--color-accent:var(--color-cinnabar);--color-mark:var(--color-royal-blue-subdued)}}[data-theme=dark]{--color-text:var(--color-gray-100);--color-bg:var(--color-gray-800);--color-text-accent:var(--color-gray-300);--color-bg-accent:var(--color-gray-700);--color-bg-accent-2:var(--color-gray-600);--color-accent:var(--color-cinnabar-subdued);--color-mark:var(--color-royal-blue-subdued)}@supports (color:light-dark(white,black)){:root{--color-text:light-dark(var(--color-gray-800),var(--color-gray-100));--color-bg:light-dark(var(--color-gray-100),var(--color-gray-800));--color-text-accent:light-dark(var(--color-gray-700),var(--color-gray-300));--color-bg-accent:light-dark(var(--color-gray-200),var(--color-gray-700));--color-bg-accent-2:light-dark(var(--color-gray-300),var(--color-gray-600));--color-accent:light-dark(var(--color-cinnabar),var(--color-cinnabar-subdued));--color-mark:light-dark(var(--color-bright-sun),var(--color-royal-blue-subdued));--gradient-conic:conic-gradient(light-dark(var(--color-cinnabar),var(--color-cinnabar-subdued)) 0 12%,light-dark(var(--color-royal-blue),var(--color-royal-blue-subdued)) 0 33%,light-dark(var(--color-mandy),var(--color-mandy-subdued)) 0 55%,light-dark(var(--color-bright-sun),var(--color-bright-sun-subdued)) 0 70%,light-dark(var(--color-cinnabar),var(--color-cinnabar-subdued)) 0 100%);--gradient-fade-color:linear-gradient(5deg,light-dark(color-mix(in oklab,var(--color-accent) 90%,var(--color-bg)),color-mix(in oklab,var(--color-accent) 80%,var(--color-bg))) 0,var(--color-accent) 71%)}[data-color=cinnabar]{--color-accent:light-dark(var(--color-cinnabar),var(--color-cinnabar-subdued));--color-active:light-dark(color-mix(in oklab,var(--color-cinnabar) 90%,var(--color-bg)),color-mix(in oklab,var(--color-cinnabar-subdued) 90%,var(--color-text)))}[data-color=royal-blue]{--color-accent:light-dark(var(--color-royal-blue),var(--color-royal-blue-subdued));--color-active:light-dark(color-mix(in oklab,var(--color-royal-blue) 90%,var(--color-bg)),color-mix(in oklab,var(--color-royal-blue-subdued) 90%,var(--color-text)))}[data-color=mandy]{--color-accent:light-dark(var(--color-mandy),var(--color-mandy-subdued));--color-active:light-dark(color-mix(in oklab,var(--color-mandy) 90%,var(--color-bg)),color-mix(in oklab,var(--color-mandy-subdued) 90%,var(--color-text)))}[data-color=bright-sun]{--color-accent:light-dark(var(--color-bright-sun),var(--color-bright-sun-subdued));--color-active:light-dark(color-mix(in oklab,var(--color-bright-sun) 90%,var(--color-bg)),color-mix(in oklab,var(--color-bright-sun-subdued) 90%,var(--color-text)))}[data-color=gray]{--color-accent:light-dark(var(--color-gray-200),var(--color-gray-700))}}}@layer global{body{accent-color:var(--color-cinnabar);background-color:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-base);font-size:var(--size-step-0);font-size-adjust:from-font;font-weight:var(--font-regular);letter-spacing:var(--tracking);line-height:var(--leading-standard)}main{z-index:0}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-bold);letter-spacing:var(--tracking-s);line-height:var(--leading-fine)}h1{font-size:var(--size-step-4)}h2{font-size:var(--size-step-3)}h3{font-size:var(--size-step-2)}blockquote{border-inline-start:.5rem solid var(--color-accent);font-size:var(--size-step-1);padding:var(--space-m-l)}blockquote>*+*{margin-block-start:var(--space-m-l)}blockquote :last-child{font-family:var(--font-base);font-size:var(--size-step-1);font-style:normal}input,textarea{caret-color:var(--color-accent)}svg{block-size:.6lh;flex:none;inline-size:auto}b,strong{font-weight:var(--font-bold)}hr{background-color:var(--color-bg-accent-2);border:none;height:1px;margin-block:var(--flow-space,var(--space-m-l));margin-inline-start:0;width:10%}figcaption{--flow-space:var(--space-s);font-size:var(--size-step-min-1);margin-block-start:var(--space-s);padding-block-end:var(--space-xs)}figcaption:not(.repel){text-align:center}a{border-radius:var(--border-radius-small);text-decoration-thickness:.15ex;text-underline-offset:.2ch}a:not([class]):hover{text-decoration:none}:focus{outline:none}:focus-visible{outline:4px solid var(--focus-color,currentColor);outline-offset:var(--focus-offset,.3ch)}@supports (-moz-appearance:none){:root{--focus-offset:0.08em}}::-moz-selection{background-color:var(--color-text);color:var(--color-bg)}::selection{background-color:var(--color-text);color:var(--color-bg)}.preload-transitions *{transition:none!important}@media (scripting:none){.require-js{display:none}}}@layer compositions{.cluster{align-items:var(--cluster-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l));justify-content:var(--cluster-horizontal-alignment,flex-start)}.flow>*+*{margin-block-start:var(--flow-space,1em)}.grid{display:grid;gap:var(--gutter,var(--space-s-m));grid-template-columns:repeat(var(--grid-placement,auto-fill),minmax(var(--grid-min-item-size,16rem),1fr))}.grid[data-rows=masonry]{align-items:start;grid-template-rows:masonry}.grid[data-layout="50-50"]{--grid-placement:auto-fit;--grid-min-item-size:clamp(16rem,50vw,28rem)}.grid[data-layout=thirds]{--grid-placement:auto-fit;--grid-min-item-size:clamp(16rem,33%,20rem)}.repel{align-items:var(--repel-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l));justify-content:space-between}.repel[data-nowrap]{flex-wrap:nowrap}.sidebar{display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l))}.sidebar:not([data-direction])>:first-child{flex-basis:var(--sidebar-target-width,25rem);flex-grow:1}.sidebar:not([data-direction])>:last-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-content-min-width,50%)}.sidebar[data-direction=rtl]>:last-child{flex-basis:var(--sidebar-target-width,25rem);flex-grow:1}.sidebar[data-direction=rtl]>:first-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-content-min-width,50%)}.wrapper{--gap:clamp(1rem,6vw,3rem);--full:minmax(var(--gap),1fr);--content:min(var(--wrapper-width,85rem),100% - var(--gap) * 2);--popout:minmax(0,2rem);--feature:minmax(0,5rem);display:grid;grid-template-columns:[full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end]}.wrapper>*{grid-column:content}body.wrapper{grid-template-rows:max-content auto max-content}.wrapper:has(>.row-1+.row-1){grid-template-rows:auto max-content}body.wrapper>*{align-self:start;display:grid;grid-column:full;grid-template-columns:subgrid}body.wrapper>*>*{grid-column:content}.row-1{grid-row:1}.popout{grid-column:popout!important}.feature{grid-column:feature!important}.full{grid-column:full!important}}@layer blocks{@media (prefers-reduced-motion:no-preference){.fade-in-bottom{animation-duration:.8s;animation-fill-mode:forwards;animation-name:fadeInBottom;animation-timing-function:cubic-bezier(.4,.05,.22,1.2);opacity:0;transform:translateY(1rem)}@keyframes fadeInBottom{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}.fade-in{animation-duration:.6s;animation-fill-mode:both;animation-name:fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.home .eyes{animation:eyes-x 3.5s ease-in-out infinite;transform-origin:bottom}.blog .eyebrows{animation:eyebrows 1s ease-in-out infinite alternate;transform-origin:top}.services .eyes{animation:augen-y 2s ease-in infinite alternate;transform-origin:bottom}.services .eyebrows{animation:eyebrows 4s ease-out infinite alternate;transform-origin:top}.cta .nodding{animation:nodding 1s linear infinite alternate-reverse;transform:translateY(10%) rotate(-10deg) rotateX(-90deg);transform-origin:bottom}.projects .body{animation:bounce 2s ease-in infinite alternate;transform-origin:bottom}.projects .ball{animation:ball 2s ease-in infinite alternate;transform-origin:bottom}@keyframes ball{0%{transform:skew(0deg) rotate(0deg)}30%{transform:skew(1deg) rotate(1deg)}70%{transform:skew(0deg) rotate(0deg)}to{transform:skew(1deg) rotate(1deg)}}@keyframes eyes-x{0%{transform:rotate(0deg)}10%{transform:rotate(.5deg)}80%{transform:rotate(.5deg)}90%{transform:rotate(0deg)}}@keyframes augen-y{0%{transform:rotateX(3deg)}40%{transform:rotateX(7deg)}80%{transform:rotateX(5deg)}to{transform:rotateX(4deg)}}@keyframes bounce{0%{transform:rotateX(3deg)}30%{transform:rotateX(7deg)}70%{transform:rotateX(3deg)}to{transform:rotateX(6deg)}}@keyframes eyebrows{0%{transform:rotateX(-3deg)}to{transform:rotateX(13deg)}}@keyframes nodding{0%{transform:rotate(-1deg)}to{transform:rotate(0deg)}}}svg.avatar{z-index:1}svg.avatar-404{block-size:auto;inline-size:100%}svg.avatar-cta{block-size:auto;inline-size:var(--space-xl);transform:translateY(1.6rem)}[dir=rtl] svg.avatar-cta{transform:translateY(1.6rem) scaleX(-1)}svg.avatar-start{block-size:auto;display:block;grid-column:1;inline-size:clamp(200px,33%,30vw);inset-block-end:0;inset-inline-start:0;position:absolute;transform:translateY(2.6rem) translateX(-50%)}svg.avatar-ball,svg.avatar-blog,svg.avatar-portatil{display:none}.avatar-content{padding-block-start:var(--space-2xl)}.avatar-content-reverse__inner{padding-inline-start:var(--space-3xl)}@media (min-width:24em){svg.avatar-blog{block-size:auto;display:block;inline-size:clamp(200px,35%,30vw);inset-block-end:0;inset-inline-end:0;position:absolute;transform:translateY(clamp(8rem,6rem + 4vw,10rem)) translateX(var(--space-xl)) rotate(-1deg)}[dir=rtl] svg.avatar-blog{transform:translateY(clamp(8rem,6rem + 4vw,9.2rem)) rotate(1deg) scaleX(-1)}.avatar-content-blog__inner{padding-inline-end:var(--space-4xl)}}@media (min-width:30em){svg.avatar-ball,svg.avatar-portatil{block-size:auto;display:block;inset-block-end:0;inset-inline-end:0;position:absolute}svg.avatar-portatil{inline-size:clamp(200px,40%,40vw);transform:translateY(clamp(4rem,3rem + 3vw,6rem)) translateX(var(--space-2xl-3xl)) scaleX(-1)}[dir=rtl] svg.avatar-portatil{transform:translateY(clamp(4rem,3rem + 3vw,5rem)) translateX(-3rem) scaleX(1)}svg.avatar-ball{inline-size:clamp(200px,38%,30vw);transform:translateY(var(--space-4xl)) translateX(var(--space-xl))}[dir=rtl] svg.avatar-ball{transform:translateY(var(--space-4xl)) translateX(var(--space-xs)) scaleX(-1)}.avatar-content__inner{padding-inline-end:var(--space-4xl)}}.button{--button-bg:var(--color-text);--button-color:color-mix(in oklab,var(--button-bg) 10%,var(--color-bg));--button-hover-bg:color-mix(in oklab,var(--button-bg) 90%,var(--color-bg));--button-border-width:var(--border-thickness);--button-border-style:solid;--button-border-color:color-mix(in oklab,var(--button-bg) 80%,var(--color-text));--button-radius:var(--border-radius-small);--button-gap:var(--space-2xs);--button-padding:var(--space-xs) var(--space-m);--button-font-family:var(--font-body);--button-font-weight:var(--font-regular);--button-font-size:var(--size-step-0);--button-text-transform:none;--button-tracking:normal;align-items:center;background:var(--button-bg);border-color:var(--button-border-color);border-radius:var(--button-radius);border-style:var(--button-border-style);border-width:var(--button-border-width);color:var(--button-color);display:inline-flex;font-family:var(--button-font-family);font-size:var(--button-font-size);font-weight:var(--button-font-weight);gap:var(--button-gap);letter-spacing:var(--button-tracking);line-height:var(--leading-flat);padding:var(--button-padding);text-box-edge:cap alphabetic;text-box-trim:trim-both;text-decoration:none;text-transform:var(--button-text-transform)}.button svg{block-size:var(--button-icon-size,1.2cap)}.button:hover,.button[aria-current=page],.button[aria-pressed=true],.button[data-state=active]{background:var(--button-hover-bg);color:var(--button-color)}.button:focus{outline-color:var(--button-outline-color,var(--button-border-color))}.button:active{transform:scale(99%)}.button[data-button-variant=theme]{--button-bg:var(--color-accent);--button-color:var(--color-text);--button-color:color-mix(in oklab,var(--color-accent) 5%,var(--color-text))}.button[data-button-variant=discreet]{--button-bg:var(--color-bg);--button-color:var(--color-text);--button-border-color:var(--color-mid)}[data-color=bright-sun] .button[data-button-variant=theme]{--button-color:var(--color-dark)}.button[data-ghost-button]{--button-bg:var(--color-bg);--button-border-color:var(--color-text);--button-color:var(--color-text);--button-hover-color:var(--color-bg)}.button[data-ghost-button]:hover{--_ghost-hover-bg:var(--color-bg);--_ghost-hover-bg:color-mix(in oklab,var(--button-bg) 95%,var(--color-dark));background:var(--_ghost-hover-bg);color:var(--button-color)}.button[data-small-button]{--button-border-width:2px;--button-radius:var(--border-radius-small);--button-font-size:var(--size-step-min-1);--button-padding:var(--space-3xs) var(--space-xs);--button-text-transform:uppercase;--button-tracking:var(--tracking-wide)}.button[data-button-radius=hard]{--button-radius:0}.button[data-funky-button]{--button-bg:var(--color-accent);--button-color:var(--color-text);--button-border-color:var(--color-text);--button-radius:var(--border-radius-small);--button-padding:var(--space-s) var(--space-l);box-shadow:3px 3px 0 0 var(--color-text);transition:all .1s ease}.button[data-funky-button-2]{--button-bg:var(--color-bg);--button-color:var(--color-text);--button-border-color:var(--color-text);--button-radius:var(--border-radius-small);--button-padding:var(--space-s) var(--space-l);box-shadow:3px 3px 0 0 var(--color-text);transition:all .2s ease}.button[data-funky-button-2]:is(:hover,:focus-visible){box-shadow:0 0 0 0 var(--color-text)}.button[data-funky-button]:is(:hover,:focus-visible){box-shadow:0 0 0 0 var(--color-text)}.button[data-funky-button].dark{border-color:#000!important;box-shadow:3px 3px 0 0 #000!important;color:#000!important}:root{--color-code-orange:#ff9500;--color-code-blue:var(--color-royal-blue);--color-code-pink:var(--color-mandy);--color-code-red:var(--color-cinnamon);--color-code-gray:var(--color-mid);--color-code-gray-light:var(--color-text-accent);--color-code-bg:var(--color-gray-200)}@supports (color:light-dark(white,black)){:root{--color-code-orange:light-dark(#b36800,#e0a552);--color-code-blue:light-dark(var(--color-royal-blue),var(--color-royal-blue-400));--color-code-pink:light-dark(var(--color-mandy-600),var(--color-mandy-400));--color-code-red:light-dark(var(--color-cinnamon-600),var(--color-cinnamon-400));--color-code-gray:light-dark(var(--color-gray-600),var(--color-gray-300));--color-code-bg:light-dark(var(--color-gray-200),var(--color-gray-900))}}:is(code,pre){font-family:var(--font-mono)}:is(code,pre):not(:is(h1,h2,h3,h4) :is(code,pre)){background-color:var(--color-code-bg);font-family:var(--font-mono);font-size:var(--size-step-code)}:where(:not(pre))>code:not(:is(h1,h2,h3,h4) code){border:1px solid var(--color-bg-accent-2);padding:.1em .4em;position:relative;top:-.05em}code:not(:is(h1,h2,h3,h4) code){border-radius:var(--border-radius-small)}pre{--popout-distance:calc(var(--space-l) + 0.2em);grid-column:full;overflow-x:auto;padding-block:calc(var(--space-l) + .7em);padding-inline:calc(var(--gap))}@media (min-width:1000px){pre{border-radius:var(--border-radius-medium);grid-column:popout;padding-inline:var(--popout-distance)}}code[class*=language-],pre[class*=language-]{white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;hyphens:none;line-height:var(--leading-loose)}pre[class*=language-]{position:relative}[class*=language-] .namespace{opacity:.7}pre[class^=language-]:before{background:var(--color-bg);border-block-start:none;border-end-end-radius:var(--border-radius-small);border-end-start-radius:var(--border-radius-small);color:var(--color-text);font-family:var(--font-mono);font-size:var(--size-step-min-2);inset-block-start:0;inset-inline-start:var(--gap);line-height:var(--leading-flat);padding:.1em .4em;pointer-events:none;position:absolute;text-transform:uppercase}@media (min-width:1000px){pre[class^=language-]:before{inset-inline-start:var(--popout-distance)}}pre[class^=language-]:before{content:attr(class);content:attr(class attr-replace)}pre.language-html:before{content:"HTML"}pre.language-css:before{content:"CSS"}pre:is(.language-javascript,.language-js):before{content:"JS"}pre.language-json:before{content:"JSON"}pre:is(.language-md,.language-markdown):before{content:"MD"}pre.language-bash:before{content:"BASH"}pre.language-yaml:before{content:"YAML"}pre.language-jinja2:before{content:"NJK"}.token.atrule,.token.boolean,.token.constant,.token.entity,.token.function,.token.id,.token.important,.token.keyword,.token.selector,.token.symbol,.token.tag,.token.unit,.token.url,.token.variable{color:var(--color-code-pink)}.token.attr-name,.token.builtin,.token.cdata,.token.char,.token.class,.token.class-name,.token.color,.token.doctype,.token.hexcode,.token.inserted,.token.prolog,.token.property,.token.regex{color:var(--color-code-orange)}.token.attr-value,.token.number,.token.string{color:var(--color-code-gray-light)}.token.attribute,.token.pseudo-class,.token.pseudo-element{color:var(--color-code-blue)}.token.comment,.token.operator,.token.punctuation{color:var(--color-code-gray)}.token.deleted{color:var(--color-code-red)}.indicator,a[href^=http]:not([href*="localhost:8080"]):not([href*="lenesaile.com"]):not(.button):not(.no-indicator){margin-inline-end:.8em}.indicator:after,a[href^=http]:not([href*="localhost:8080"]):not([href*="lenesaile.com"]):not(.no-indicator):after{background-image:url(/assets/images/template/external.svg);background-position:50%;background-repeat:no-repeat;background-size:60% auto;block-size:1em;content:"(external link)";display:inline-block;inline-size:1em;overflow:hidden;position:absolute;text-indent:1em;white-space:nowrap}is-land:not(:defined) .language-select{display:none}.language-nav-button[aria-expanded=true] svg{rotate:-15deg}.language-items{inline-size:calc(var(--space-2xl)*2);inset-block-start:var(--space-2xl);inset-inline-end:var(--space-xs);margin-block-start:0;position:absolute;visibility:hidden}[aria-expanded=true]+.language-items{visibility:visible}[aria-expanded=true]+.language-items a{background-color:var(--color-bg);block-size:var(--space-xl);border:2px solid var(--color-text);color:var(--color-text);display:grid;justify-content:center;margin-block-start:-3px;rotate:calc(-3.6deg*var(--offset) + 7.2deg);transform-origin:right center;translate:calc(var(--offset)*5px) 0}@media (prefers-reduced-motion:no-preference){[aria-expanded=true]+.language-items a{transition-delay:calc(var(--offset)*50ms + .1s)}}[aria-expanded=true]+.language-items a:hover{background:var(--color-bg-accent);color:var(--color-text);transition-delay:0s}[aria-expanded=true]+.language-items [aria-selected=true]{background:var(--color-active);color:var(--color-dark)}[aria-expanded=true]+.language-items [aria-selected=true]:hover{background:var(--color-active);background:color-mix(in oklab,var(--color-active) 95%,var(--color-dark));color:var(--color-dark)}@media (min-width:1000px){.language-items{inline-size:calc(var(--space-2xl)*2)}[aria-expanded=true]+.language-items a{block-size:var(--space-xl)}}.mainnav{--nav-list-timing-function:cubic-bezier(0.68,-0.55,0.27,1.55);inset-inline-end:0;position:var(--nav-position,absolute)}.mainnav:has([aria-expanded=true]){--nav-position:fixed;inset-inline-end:var(--gap)}.mainnav ul{--gutter:var(--space-s-m);--cluster-vertical-alignment:normal;--nav-list-background:transparent;--nav-list-shadow:-5px 0 11px 0 rgba(0,0,0,.2);--nav-list-layout:column;--nav-list-height:100dvh;--nav-list-padding:var(--space-2xl) var(--space-s);--nav-list-margin-end:var(--space-2xl);--nav-list-position:fixed;--nav-list-width:min(18rem,100vw);--nav-list-visibility:hidden;--nav-list-opacity:0;background:var(--nav-list-background);block-size:var(--nav-list-height);box-shadow:var(--nav-list-shadow);display:flex;flex-direction:var(--nav-list-layout);flex-wrap:wrap;inline-size:var(--nav-list-width);inset-block-start:0;inset-inline-end:0;list-style:none;margin:0;margin-inline-end:var(--nav-list-margin-end);opacity:var(--nav-list-opacity);padding:var(--nav-list-padding);position:var(--nav-list-position);transition:opacity .3 var(--nav-list-timing-function),visibility .3s ease-in-out;visibility:var(--nav-list-visibility)}.mainnav ul[no-flash]{transition:none}@media (prefers-reduced-motion:no-preference){.mainnav ul{--nav-list-transform:translateX(100%);--nav-list-opacity:1;transform:var(--nav-list-transform);transition:transform .5s var(--nav-list-timing-function),visibility .3s linear}.mainnav svg{transition:transform .4s var(--nav-list-timing-function)}}.mainnav [aria-expanded=true]+ul{--nav-list-visibility:visible;--nav-list-transform:translateX(0);--nav-list-opacity:1}.mainnav button{--gutter:var(--space-2xs);--cluster-vertical-alignment:center;display:var(--nav-button-display,flex);line-height:var(--leading-flat);padding:var(--space-2xs) 0;position:relative;z-index:2}.mainnav span{font-family:var(--font-display);font-size:var(--size-step-min-1);font-weight:var(--font-bold);text-transform:uppercase}.mainnav svg{block-size:.9em;color:var(--color-text);stroke-width:3}.mainnav [aria-expanded=true] svg{transform:rotate(45deg)}.mainnav a{--nav-item-background:transparent;--nav-item-text-color:var(--color-text);--nav-item-padding:var(--space-xs) 0;--nav-item-decoration-color:transparent;background:var(--nav-item-background);border-radius:var(--border-radius-medium);color:var(--header-color-override,var(--nav-item-text-color));display:block;padding:var(--nav-item-padding);text-decoration-color:var(--nav-item-decoration-color);text-decoration-line:underline;text-decoration-thickness:.1em;text-underline-offset:.2em}.mainnav a:where(:hover){--nav-item-background:transparent;--nav-item-text-color:var(--color-text);--nav-item-decoration-color:var(--header-color-override,var(--color-text))}.mainnav [aria-current=page],.mainnav [data-state=active]{--nav-item-background:var(--color-accent);--nav-item-text-color:var(--color-light);--nav-item-decoration-color:transparent}@media (min-width:640px){.mainnav{--nav-position:static;--nav-button-display:none}.mainnav ul{--nav-list-layout:row;--nav-list-position:static;--nav-list-padding:0;--nav-list-height:auto;--nav-list-width:100%;--nav-list-shadow:none;--nav-list-visibility:visible;--nav-list-transform:translateX(0);--nav-list-opacity:1}.mainnav [aria-current=page],.mainnav [data-state=active]{--nav-item-background:transparent;--nav-item-text-color:var(--color-text);--nav-item-decoration-color:var(--header-color-override,var(--color-text))}}@media (min-width:1760px){.mainnav ul{--nav-list-margin-end:0}}.mainnav ul:first-child{--nav-list-layout:row;--nav-list-position:static;--nav-list-padding:0;--nav-list-height:auto;--nav-list-width:100%;--nav-list-shadow:none;--nav-list-visibility:visible;--nav-list-transform:translateX(0);--nav-list-opacity:1}.mainnav ul:first-child [aria-current=page],.mainnav ul:first-child [data-state=active]{--nav-item-background:transparent;--nav-item-text-color:var(--color-text);--nav-item-decoration-color:var(--header-color-override,var(--color-text))}.mainnav:has(ul:first-child){--nav-position:relative}.mascot{align-items:center;display:grid;gap:var(--space-l);grid-column:content;grid-template-columns:1fr 2fr}.mascot[data-direction=rtl]{grid-template-columns:2fr 1fr}@media (min-width:1000px){.mascot[data-direction=rtl]{grid-template-columns:1fr 1fr}}@media (min-width:1360px){.mascot{grid-column:content}}@media (max-width:640px){:is(.projects,.blog,.services) .mascot div{grid-column:1/-1}}.mascot svg{block-size:100%;inline-size:auto;height:auto;place-self:end;width:clamp(10rem,33vw,30rem);z-index:1}.home .mascot.projects svg{scale:1.8;translate:-25% -25%}.cta .mascot svg{scale:1.7;translate:30% -10%}:is(.projects,.blog,.services) .mascot svg{grid-column:1/-1}.services .mascot svg{scale:-1.5 1.5;translate:0 var(--space-l)}.projects .mascot svg{scale:1.5;translate:0 var(--space-s)}.blog .mascot svg{scale:1.6;translate:0 var(--space-m)}@media (min-width:640px){.cta .mascot svg,.home .mascot.projects svg{scale:1.1;translate:-10% 5%}:is(.projects,.blog,.services) .mascot svg{grid-column:2;scale:1}.services .mascot svg{scale:-1 1;translate:0 calc(var(--space-2xl)*1.2)}.projects .mascot svg{translate:0 calc(var(--space-2xl)*1.1)}.blog .mascot svg{translate:0 calc(var(--space-2xl)*1.3)}}.prose{--flow-space:var(--space-m-l);--wrapper-width:64rem}.prose :is(pre,pre+*,figure,picture){--flow-space:var(--space-m-l)}.prose :is(figure+*,picture:not(:has(+figcaption))+*){--flow-space:var(--space-xl)}.prose :is(img,video){border:var(--stroke)}.prose :is(h2,h3,h4){--flow-space:1.5em;hyphens:auto;overflow-wrap:anywhere}@media (min-width:1000px){.prose :is(h1,h2,h3){hyphens:unset;overflow-wrap:unset}}.prose :is(h1,h2,h3,h4)+:not([class]):not(figure){--flow-space:var(--space-l)}.prose :is(p,li,dl,blockquote){max-inline-size:60ch;text-wrap:pretty}.prose .heading-anchor:where(:hover,:focus){text-decoration:none}.heading-anchor{text-decoration:none}.prose :is(ul,ol):not([class]) li+li,.prose :is(ul,ol):not([class]) li>:is(ol,ul){padding-block-start:var(--space-s)}.prose ul:not([class]){padding-inline-start:1.3ch}.prose ol:not([class]){padding-inline-start:1.8ch}.prose :is(ul:not([class]):not([role=list])) li::marker{color:var(--color-accent);content:"– "}.prose ol li::marker{color:var(--color-accent);font-weight:var(--font-bold)}.prose img{border-radius:var(--border-radius-medium)}@media (max-width:640px){.prose a,.prose>*{overflow-wrap:break-word;word-wrap:break-word;hyphens:auto;word-break:break-word}}mark{animation:mark-it linear;animation-fill-mode:forwards;animation-iteration-count:1;animation-range:contain 0 contain 25%;animation-timeline:view();background-color:transparent;background-image:linear-gradient(var(--color-mark),var(--color-mark));background-repeat:no-repeat;background-size:0 100%;color:var(--color-text)}@keyframes mark-it{0%{background-size:0 100%}to{background-size:100% 100%}}.section>.seperator:first-child{transform:rotate(180deg) translateY(-1px)}.section__inner{background-color:var(--color-accent,var(--color-bg-accent));color:var(--color-text)}.seperator{block-size:3.5em;display:block;fill:var(--color-accent,var(--color-bg));inline-size:100%}.section>.seperator{transform:translateY(-1px)}.settings{max-block-size:2em}.site-footer{--cluster-horizontal-alignment:center}.site-footer a{padding:var(--space-xs)}.language-nojs{display:none}is-land:not(:defined) .language-nojs{display:block}.logo{--gutter:var(--space-xs);border-radius:var(--border-radius-medium);color:var(--header-color-override,var(--color-text));font-size:var(--size-step-0);padding:var(--space-s) 0;text-decoration:none}.skip-link{clip:rect(1px,1px,1px,1px);block-size:1px;display:block;inline-size:1px;left:1rem;overflow:hidden;position:absolute;top:1rem;z-index:999}.skip-link:focus{clip:auto;background-color:var(--color-text);block-size:auto;border-radius:var(--border-radius-medium);color:var(--color-bg);inline-size:auto;line-height:1;overflow:visible;padding:var(--space-xs) var(--space-s-m);text-decoration:none}.skip-link:not(:focus){border:0;clip:rect(0 0 0 0);block-size:auto;inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.gradient-text{background-image:var(--gradient-conic);background-size:50%;padding:1.3rem 0}.gradient-text,.gradient-text-linear{-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-text-linear{background-image:var(--gradient-rainbow);background-repeat:repeat;background-size:100%}is-land:not(:defined) .theme-switch{display:none}[data-theme=dark] .theme-switch .light-on,[data-theme=light] .theme-switch .light-off{display:none}.theme-switch button{padding-inline:var(--space-s)}.theme-switch svg{margin-block-start:calc(var(--space-l)*-1);scale:2.2}}@layer tailwindUtilities{.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.absolute{position:absolute}.relative{position:relative}.my-s{margin-bottom:clamp(.625rem,.57rem + .28vw,.875rem);margin-top:clamp(.625rem,.57rem + .28vw,.875rem)}.my-s-m{margin-bottom:clamp(.625rem,.47rem + .76vw,1.3125rem);margin-top:clamp(.625rem,.47rem + .76vw,1.3125rem)}.me-l{margin-inline-end:clamp(1.1875rem,1.06rem + .63vw,1.75rem)}.ml-m{margin-left:clamp(.875rem,.78rem + .49vw,1.3125rem)}.mr-xs{margin-right:clamp(.3125rem,.28rem + .14vw,.4375rem)}.mt-l-xl{margin-top:clamp(1.1875rem,.67rem + 2.57vw,3.5rem)}.mt-s-m{margin-top:clamp(.625rem,.47rem + .76vw,1.3125rem)}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-start{align-items:flex-start}.items-center{align-items:center}.place-self-end{place-self:end}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-small{border-radius:.1875rem}.bg-cinnabar-600{background-color:#0062bd}.p-s-m{padding:clamp(.625rem,.47rem + .76vw,1.3125rem)}.p-xs{padding:clamp(.3125rem,.28rem + .14vw,.4375rem)}.pr-l{padding-right:clamp(1.1875rem,1.06rem + .63vw,1.75rem)}.text-left{text-align:left}.font-base{font-family:amiamie-regular,Atkinson Hyperlegible,system-ui,sans-serif}.font-base-bold{font-family:amiamie-bold,Atkinson Hyperlegible,system-ui,sans-serif}.font-display{font-family:enby-gertrude-main,Outfit,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.text-step-0{font-size:clamp(1.125rem,1.07rem + .28vw,1.375rem)}.text-step-1{font-size:clamp(1.375rem,1.21rem + .83vw,2.125rem)}.text-step-2{font-size:clamp(1.5rem,1.22rem + 1.39vw,2.75rem)}.text-step-3{font-size:clamp(2.0625rem,1.62rem + 2.22vw,4.0625rem)}.text-step-4{font-size:clamp(2.25rem,1.36rem + 4.44vw,6.25rem)}.text-step-min-1{font-size:clamp(.9375rem,.9rem + .21vw,1.125rem)}.text-step-min-2{font-size:clamp(.75rem,.72rem + .14vw,.875rem)}.font-bold{font-weight:700}.font-regular{font-weight:400}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-cinnabar-100{color:#f8fcff}.text-cinnabar-500{color:#2e88e5}.text-gray-100{color:#f8f8f8}.text-gray-700{color:#3a3a3a}.text-gray-800{color:#2e2e2e}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.flow-space-xs{--flow-space:clamp(0.3125rem,0.28rem + 0.14vw,0.4375rem)}.flow-space-s{--flow-space:clamp(0.625rem,0.57rem + 0.28vw,0.875rem)}.flow-space-l{--flow-space:clamp(1.1875rem,1.06rem + 0.63vw,1.75rem)}.region-space-l{--region-space:clamp(1.1875rem,1.06rem + 0.63vw,1.75rem)}.region-space-2xl{--region-space:clamp(3.5625rem,3.19rem + 1.88vw,5.25rem)}.gutter-3xs{--gutter:clamp(0.125rem,0.11rem + 0.07vw,0.1875rem)}.gutter-xs{--gutter:clamp(0.3125rem,0.28rem + 0.14vw,0.4375rem)}.gutter-s{--gutter:clamp(0.625rem,0.57rem + 0.28vw,0.875rem)}.gutter-xl{--gutter:clamp(2.375rem,2.13rem + 1.25vw,3.5rem)}.desktop-only{display:none}@media (min-width:1000px){.desktop-only{display:block}}.heading-line{align-items:flex-start;display:flex;text-align:left;&:after{background:var(--color-bg-accent-2);block-size:1px;content:"";flex-grow:1;margin-block-start:auto;margin-left:var(--space-s);transform:translateY(-.25em)}}.icon-center{aspect-ratio:1;border-radius:50%;display:inline-grid;place-items:center}.ontop{z-index:1}.region{--region-space-fallback:var(--region-space,var(--space-l-xl));padding-block-end:var(--region-space-bottom,var(--region-space-fallback));padding-block-start:var(--region-space-top,var(--region-space-fallback))}@media (prefers-reduced-motion:no-preference){@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}.visually-hidden{border:0;clip:rect(0 0 0 0);height:0;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}@media (min-width:1360px){.wrapper\:text-center{text-align:center}}