*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none;margin:0;padding:0}body{min-height:100vh;line-height:1.5;text-decoration-skip-ink:auto;font-optical-sizing:auto;font-kerning:normal}h1,h2,h3,h4,h5,h6,p,li,a{font-variant-ligatures:common-ligatures no-discretionary-ligatures no-historical-ligatures contextual}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4,h5,h6{text-wrap:balance}h1,h2,h3,h4{font-variant-numeric:lining-nums}h1{font-variant-ligatures:discretionary-ligatures}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}button,input,label{line-height:1.1}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}button,[type=button],[type=reset],[type=submit],[type=image],[type=checkbox],[type=radio],summary{cursor:pointer}.flow>*+*{margin-block-start:var(--flow-spacing, 1em)}.flow :is(blockquote+*,p+h2,p+h3,p+h4,*+.full-width,.full-width+*,*+figure){--flow-spacing: var(--space-xl)}p{text-wrap:pretty;max-width:75ch;color:inherit}:root{--color-black: color(display-p3 0 0 0 / 1);--color-white: color(display-p3 1 1 1 / 1);--color-red: color(display-p3 0.996078 0.035294 0.152941 / 1);--color-blue: color(display-p3 0.015686 0.85098 1 / 1);--color-orange: color(display-p3 1 0.498039 0 / 1);--color-pink: color(display-p3 0.996078 0.035294 0.517647 / 1);--color-yellow: color(display-p3 0.94902 1 0 / 1);--color-green: color(display-p3 0 1 0.219608 / 1);--color-purple: color(display-p3 0.658824 0.058824 1 / 1);--color-text-a11y: lch( from var(--color-primary) calc((49.44 - l) * infinity) 0 0 );--color-primary: var(--color-orange);--color-primary--opacity-10: color-mix( in srgb, var(--david, var(--color-primary)), transparent 10% );--color-primary--opacity-20: color-mix( in srgb, var(--david, var(--color-primary)), transparent 20% );--color-primary--opacity-30: color-mix( in srgb, var(--david, var(--color-primary)), transparent 30% );--color-primary--opacity-40: color-mix( in srgb, var(--david, var(--color-primary)), transparent 40% );--color-primary--opacity-50: color-mix( in srgb, var(--david, var(--color-primary)), transparent 50% );--color-primary--opacity-60: color-mix( in srgb, var(--david, var(--color-primary)), transparent 60% );--color-primary--opacity-70: color-mix( in srgb, var(--david, var(--color-primary)), transparent 70% );--color-primary--opacity-80: color-mix( in srgb, var(--david, var(--color-primary)), transparent 80% );--color-primary--opacity-90: color-mix( in srgb, var(--david, var(--color-primary)), transparent 90% );--color-primary--opacity-95: color-mix( in srgb, var(--david, var(--color-primary)), transparent 95% );--color-primary--tint-10: color-mix( in srgb, var(--color-primary), var(--color-white) 10% );--color-primary--tint-20: color-mix( in srgb, var(--color-primary), var(--color-white) 20% );--color-primary--tint-30: color-mix( in srgb, var(--color-primary), var(--color-white) 30% );--color-primary--tint-40: color-mix( in srgb, var(--color-primary), var(--color-white) 40% );--color-primary--tint-50: color-mix( in srgb, var(--color-primary), var(--color-white) 50% );--color-primary--tint-60: color-mix( in srgb, var(--color-primary), var(--color-white) 60% );--color-primary--tint-70: color-mix( in srgb, var(--color-primary), var(--color-white) 70% );--color-primary--tint-80: color-mix( in srgb, var(--color-primary), var(--color-white) 80% );--color-primary--tint-90: color-mix( in srgb, var(--color-primary), var(--color-white) 90% );--color-primary--shade-10: color-mix( in srgb, var(--color-primary), var(--color-black) 10% );--color-primary--shade-20: color-mix( in srgb, var(--color-primary), var(--color-black) 20% );--color-primary--shade-30: color-mix( in srgb, var(--color-primary), var(--color-black) 30% );--color-primary--shade-40: color-mix( in srgb, var(--color-primary), var(--color-black) 40% );--color-primary--shade-50: color-mix( in srgb, var(--color-primary), var(--color-black) 50% );--color-primary--shade-60: color-mix( in srgb, var(--color-primary), var(--color-black) 60% );--color-primary--shade-70: color-mix( in srgb, var(--color-primary), var(--color-black) 70% );--color-primary--shade-80: color-mix( in srgb, var(--color-primary), var(--color-black) 80% );--color-primary--shade-90: color-mix( in srgb, var(--color-primary), var(--color-black) 90% );--color-light: color-mix( in srgb, var(--color-primary) 4%, var(--color-white) );--color-dark: var(--color-primary--shade-90);--color-darker: var(--color-primary--shade-80);--color-lighter: var(--color-primary--tint-90);--color-code-dark: color-mix( in srgb, var(--color-primary) 8%, var(--color-black) );--color-background: light-dark(var(--color-light), var(--color-dark));--color-foreground: light-dark(var(--color-dark), var(--color-light));--color-scheme: dark;--color-button-text: var(--color-light)}[data-mode=dark]{--color-background: var(--color-dark);--color-foreground: var(--color-light);--color-gradient: var(--color-darker)}[data-mode=light]{--color-background: var(--color-light);--color-foreground: var(--color-dark);--color-gradient: var(--color-lighter)}:root{--space-3xs: clamp(0.25rem, 0.2321rem + 0.0893vw, 0.3125rem);--space-2xs: clamp(0.5rem, 0.4821rem + 0.0893vw, 0.5625rem);--space-xs: clamp(0.75rem, 0.7143rem + 0.1786vw, 0.875rem);--space-s: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);--space-m: clamp(1.5rem, 1.4464rem + 0.2679vw, 1.6875rem);--space-l: clamp(2rem, 1.9286rem + 0.3571vw, 2.25rem);--space-xl: clamp(3rem, 2.8929rem + 0.5357vw, 3.375rem);--space-2xl: clamp(4rem, 3.8571rem + 0.7143vw, 4.5rem);--space-3xl: clamp(6rem, 5.7857rem + 1.0714vw, 6.75rem);--space-3xs-2xs: clamp(0.25rem, 0.1607rem + 0.4464vw, 0.5625rem);--space-2xs-xs: clamp(0.5rem, 0.3929rem + 0.5357vw, 0.875rem);--space-xs-s: clamp(0.75rem, 0.6429rem + 0.5357vw, 1.125rem);--space-s-m: clamp(1rem, 0.8036rem + 0.9821vw, 1.6875rem);--space-m-l: clamp(1.5rem, 1.2857rem + 1.0714vw, 2.25rem);--space-l-xl: clamp(2rem, 1.6071rem + 1.9643vw, 3.375rem);--space-xl-2xl: clamp(3rem, 2.5714rem + 2.1429vw, 4.5rem);--space-2xl-3xl: clamp(4rem, 3.2143rem + 3.9286vw, 6.75rem);--space-s-l: clamp(1rem, 0.6429rem + 1.7857vw, 2.25rem);--space-m-xl: clamp(1.5rem, 0.9643rem + 2.6786vw, 3.375rem);--space-s-xl: clamp(1rem, 0.3214rem + 3.3929vw, 3.375rem);--space-s-2xs: clamp(0.5625rem, 1.125rem + -0.625vw, 1rem);--space-3xs-s: clamp(0.25rem, 0rem + 1.25vw, 1.125rem);--space-0-l: clamp(0rem, -0.5714rem + 2.8571vw, 2rem);--space-s-0: clamp(0rem, 1.2857rem + -1.4286vw, 1rem);--space-0-s: clamp(0rem, -0.2857rem + 1.4286vw, 1rem);--flow-spacing: var(--gap);--grid-spacing: var(--space-m-xl);--layout-spacing: var(--space-m-xl)}:root{--step--2: clamp(0.6944rem, 0.6871rem + 0.0365vw, 0.72rem);--step--1: clamp(0.8333rem, 0.8143rem + 0.0952vw, 0.9rem);--step-0: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);--step-1: clamp(1.2rem, 1.1411rem + 0.2946vw, 1.4063rem);--step-2: clamp(1.44rem, 1.3492rem + 0.454vw, 1.7578rem);--step-3: clamp(1.728rem, 1.5939rem + 0.6704vw, 2.1973rem);--step-4: clamp(2.0736rem, 1.8813rem + 0.9614vw, 2.7466rem);--step-5: clamp(2.4883rem, 2.2183rem + 1.3499vw, 3.4332rem);--step-6: clamp(2.986rem, 2.613rem + 1.8651vw, 4.2915rem);--step-7: clamp(3.5832rem, 3.0743rem + 2.5446vw, 5.3644rem);--font-family: 'Petrona', serif;--font-family--headings: 'AnekLatin', sans-serif;--font-family--monospace: 'IBM Plex Mono', 'Courier New', monospace}.at-u-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}html{--color-primary: var(--color-orange);--color-button-text: var(--color-dark)}.at-c-content{grid-column:content}.at-l-cluster{display:flex;flex-wrap:wrap;gap:var(--space, 1rem);justify-content:flex-start;align-items:center}.at-l-frame{--inline: 16;--block: 9;aspect-ratio:var(--inline)/var(--block);overflow:hidden;display:flex;justify-content:center;align-items:center}.at-l-frame>img,.at-l-frame>video{inline-size:100%;block-size:100%;object-fit:cover}:root{--gap: var(--space-s);--start: minmax(0, 20rem);--end: minmax(0, 20rem);--full: minmax(var(--gap), 20rem);--content: min(100%, 72ch);--popout: minmax(0, var(--gap));--feature: minmax(0, 12vw);--content-inset: min(clamp(30rem, 52vw, 60rem), 100% - var(--gap))}.at-g-base{grid-area:content;display:grid;grid-template-columns:[full-start] var(--start) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--end) [full-end]}.at-g-full{grid-column:full}.at-g-feature{grid-column:feature}.at-g-popout{grid-column:popout}.at-g-content{grid-column:content}.at-g-subgrid{display:grid;grid-template-columns:subgrid;grid-column:full}.at-g-subgrid>*:not([class]){grid-column:content}.at-g-split{--grid-image-size: 1fr;--grid-columns: 1fr;display:grid;gap:var(--grid-spacing)}@media(min-width: 768px){.at-g-split{--grid-columns: var(--grid-image-size) 1fr;grid-template-columns:var(--grid-columns)}.at-g-split--even{--grid-columns: 1fr var(--grid-image-size)}}.at-l-reel{display:flex;block-size:auto;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--color-primary) #000}.at-l-reel::-webkit-scrollbar{block-size:1rem}.at-l-reel::-webkit-scrollbar-track{background-color:#000}.at-l-reel::-webkit-scrollbar-thumb{background-color:#000;background-image:linear-gradient(#000 0, #000 0.25rem, var(--color-primary) 0.25rem, var(--color-primary) 0.75rem, #000 0.75rem)}.at-l-reel>*{flex:0 0 auto}.at-l-reel>img{block-size:100%;flex-basis:auto;width:auto}.at-l-reel>*+*{margin-inline-start:1rem}.at-l-reel.overflowing{padding-block-end:1rem}.at-l-stack{display:flex;flex-direction:column;justify-content:flex-start}.at-l-stack>*{margin-block:0}.at-l-stack>*+*{margin-block-start:var(--layout-spacing, 1rem)}.at-l-switcher{display:flex;flex-wrap:wrap;gap:var(--at-l-switchter-gap, var(--gap))}.at-l-switcher>*{flex-grow:1;flex-basis:calc((30rem - 100%)*999)}.at-l-switcher>:nth-last-child(n+5),.at-l-switcher>:nth-last-child(n+5)~*{flex-basis:100%}.at-l-with-sidebar{display:flex;flex-wrap:wrap;gap:var(--gap)}.at-l-with-sidebar>:first-child{flex-basis:420px;flex-grow:1}.at-l-with-sidebar>:last-child{flex-basis:0;flex-grow:999;min-inline-size:50%}.at-l-with-sidebar-rtl{display:flex;flex-wrap:wrap;gap:var(--gap)}.at-l-with-sidebar-rtl>:last-child{flex-basis:0;flex-grow:1}.at-l-with-sidebar-rtl>:first-child{flex-basis:0;flex-grow:999;min-inline-size:50%}.at-l-card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));grid-gap:var(--space-l)}@media(width > 650px){.at-l-card-grid{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}}.at-l-card-grid h2{grid-column:1/-1}.at-l-card-grid>*{background-color:light-dark(var(--color-light), var(--color-darker));color:light-dark(var(--color-darker), var(--color-light))}.at-l-card-grid *:nth-of-type(odd){color-scheme:dark}.at-l-card-grid *:nth-of-type(even){color-scheme:light}.at-l-card-grid [data-mode=light] *:nth-of-type(odd){color-scheme:light}.at-l-card-grid [data-mode=light] *:nth-of-type(even){color-scheme:dark;border-color:rgba(0,0,0,0)}.at-c-card__links{margin-top:auto}.at-l-card-grid--services{grid-template-columns:1fr}body{background-color:var(--color-background);background-image:linear-gradient(transparent 11px, var(--color-gradient) 12px, transparent 12px),linear-gradient(90deg, transparent 11px, var(--color-gradient) 12px, transparent 12px);background-size:100% 12px,12px 100%;color:var(--color-foreground);margin:0 auto;font-family:var(--font-family);font-weight:460;font-size:var(--step-0);position:relative;--padding-inline: var(--space-s-m);--content-max-width: 2000px;--breakout-max-width: 96ch;--breakout-size: calc( (var(--breakout-max-width) - var(--content-max-width)) / 2 );max-width:123.75rem;padding:var(--gap) var(--space-m)}html[data-mode=light]{color-scheme:light}html[data-mode=dark]{color-scheme:dark}html[data-mode=dark] img{filter:brightness(80%)}.at-p-article{grid-column:feature;margin-bottom:var(--space-l)}.at-p-article h1{font-size:var(--step-5);line-height:1.05;margin-top:var(--space-2xs)}.at-p-article img{grid-column:feature}.at-p-article .at-c-link_with-image~h2{margin-top:var(--space-xl)}.at-p-article~h2{--flow-spacing: var(--space-xl)}.at-p-article~h3{--flow-spacing: var(--space-l)}.at-p-article~h4,.at-p-article h5,.at-p-article h6{--flow-spacing: var(--space-l);font-weight:700}.at-p-article .at-hire-me{--flow-spacing: var(--space-l)}.at-c-article__header+p{--flow-spacing: var(--space-xl-2xl)}.at-c-article__header .at-c-article__subtitle{display:inline;font-size:var(--step-0);font-family:var(--font-family--headings);font-weight:600;line-height:1;margin-top:var(--space-xs);background-color:var(--color-primary);padding:var(--space-2xs);color:var(--color-button-text);text-shadow:0px 0px 2px var(--color-dark)}h2 a{text-decoration:none}p~img{margin-top:var(--space-l)}@font-face{font-family:"Petrona";src:url("/api/public/p/aHR0cHM6Ly93d3cuYWx3YXlzdHdpc3RlZC5jb20vZm9udHMvUGV0cm9uYS9QZXRyb25hLVZhcmlhYmxlRm9udF93Z2h0LnR0Zg") format("truetype");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:"Petrona";src:url("/api/public/p/aHR0cHM6Ly93d3cuYWx3YXlzdHdpc3RlZC5jb20vZm9udHMvUGV0cm9uYS9QZXRyb25hLUl0YWxpYy1WYXJpYWJsZUZvbnRfd2dodC50dGY") format("truetype");font-display:swap;font-weight:400 700;font-style:italic}@font-face{font-family:"AnekLatin";src:url("/api/public/p/aHR0cHM6Ly93d3cuYWx3YXlzdHdpc3RlZC5jb20vZm9udHMvQW5la19MYXRpbi9BbmVrTGF0aW4tVmFyaWFibGVGb250X3dkdGgsd2dodC50dGY") format("truetype");font-display:swap;font-weight:100 800;font-style:normal}@font-face{font-family:"AnekLatin";src:url("/api/public/p/aHR0cHM6Ly93d3cuYWx3YXlzdHdpc3RlZC5jb20vZm9udHMvQW5la19MYXRpbi9BbmVrTGF0aW4tVmFyaWFibGVGb250X3dkdGgsd2dodC50dGY") format("truetype");font-display:swap;font-weight:100 800;font-style:italic}.at-c-figure img,.at-c-figure--article-image img{width:100%;height:auto;display:block;margin-block-end:var(--space-sm, 0.5rem)}.at-c-figure figcaption,.at-c-figure--article-image figcaption{font-size:var(--step--1, 0.875rem);line-height:1.5;color:var(--color-foreground-muted, currentColor);font-style:italic}input,label,select,button,textarea{margin:0;border:0;padding:0;display:inline-block;vertical-align:middle;white-space:normal;background:none;line-height:1;font-size:13px;font-family:Arial}input:focus{outline:0}input,textarea{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}button,input[type=reset],input[type=button],input[type=submit],input[type=checkbox],input[type=radio],select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{width:13px;height:13px}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box}::-webkit-search-decoration{display:none}button,input[type=reset],input[type=button],input[type=submit]{overflow:visible;width:auto}::-webkit-file-upload-button{padding:0;border:0;background:none}textarea{vertical-align:top;overflow:auto}select[multiple]{vertical-align:top}form{display:flex;flex-direction:column;gap:var(--gap);background-color:light-dark(var(--color-dark), var(--color-light));padding:var(--gap) var(--space-m);box-sizing:border-box;font-family:inherit}form div{display:flex;flex-direction:column;gap:var(--gap)}label{color:light-dark(var(--color-light), var(--color-dark));font-family:var(--font-family);font-size:var(--step-1)}input,textarea{background-color:light-dark(var(--color-light), var(--color-dark));font-family:var(--font-family);font-size:var(--step-0);padding:var(--gap) var(--space-m)}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:2px}.at-site-title{color:currentColor;font-family:var(--font-family--headings);font-size:var(--step-3);font-weight:900;line-height:1;text-decoration:none}.at-site-title:visted{color:currentColor}[data=theme]{transition:all ease-in-out .3s}.at-c-button{background-color:var(--color-primary);border:4px solid var(--color-primary);border-radius:var(--radius);color:var(--color-button-text);cursor:pointer;display:inline-block;font-weight:600;line-height:1;padding:var(--space-3xs) var(--space-2xs-xs);text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.at-c-button:hover{color:var(--color-button-text--hover, var(--color-button-text));color:var(--color-light);background-color:var(--color-primary--shade-70)}.at-c-button--hire{font-family:var(--font-family--headings);text-shadow:0px 0px 2px var(--color-dark)}button:active{background:var(--color-primary);transition-duration:0;box-shadow:0 0 0 2px #f2f2f2,0 0 0 4px var(--color-primary)}.at-c-card{display:flex;flex-direction:column;backdrop-filter:blur(10px);border-width:1px;border-style:solid;border-color:var(--color-primary);padding:var(--gap);--flow-spacing: var(--space-m)}.at-c-card__heading{font-size:var(--step-1);line-height:1.25}.at-c-card svg{align-self:center;width:64px;height:64px}.at-c-card__image{aspect-ratio:16/9;object-fit:cover;border:initial;padding:0;margin:calc(var(--gap)*-1);width:calc(100% + var(--gap)*2);max-width:initial}.at-c-card--services{background-color:var(--color-primary--tint-90);color:var(--color-primary--shade-90);position:relative;overflow:hidden;transition:transform 225ms ease-in-out}.at-c-card--services:hover{transform:scale(1.05)}img{background-repeat:no-repeat;background-size:cover;display:block;font-style:italic;height:auto;max-width:100%;shape-margin:.75rem;vertical-align:middle;width:100%}img.full-width{width:100%;max-height:45vh;object-fit:cover}svg{width:var(--gap);height:var(--gap);stroke:var(--color-foreground);fill:var(--color-foreground)}.at-c-image{display:block;position:relative;overflow:hidden}.at-c-image__img{width:100%;height:auto;transition:opacity .3s ease}.at-c-image__img[data-loading=true]{opacity:0}.at-c-image__img[data-loading=false]{opacity:1}.at-c-image__placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-neutral-100);display:flex;align-items:center;justify-content:center}.at-c-image__placeholder::before{content:"";width:40px;height:40px;border:3px solid var(--color-neutral-300);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.at-c-articles-list{--flow-spacing: var(--space-s-m);list-style-type:none;padding:0}.at-c-articles-list__item{padding-bottom:var(--space-2xs);border-bottom:2px solid var(--color-primary)}.at-c-articles-list__link{text-decoration:none;font-size:var(--step-1);font-weight:550}.at-warning{background-color:var(--color-foreground);color:var(--color-background);grid-column:feature;padding:var(--gap);margin-bottom:var(--gap)}.at-warning a{display:block}.at-warning__title{font-size:var(--step-2);font-weight:700}.at-warning__text{font-size:var(--step-0);max-width:75ch}blockquote{margin:0;--flow-spacing: 2rem;font-style:italic;font-size:var(--step-1);font-weight:800;position:relative;padding-bottom:var(--gap);border-top:4px solid var(--color-primary);padding:var(--gap);background-color:var(--color-primary--opacity-90);grid-column:popout !important}blockquote::after{font-family:var(--font-family--headings);content:'"';position:absolute;color:var(--color-primary);font-size:var(--step-7);line-height:1;z-index:-1;right:0;bottom:calc(var(--gap)*-1)}html[data-mode=dark] blockquote::after{--color-lighter: color-mix( in srgb, var(--color-primary) 30%, var(--color-black) )}html[data-mode=light] blockquote::after{--color-lighter: color-mix( in srgb, var(--color-primary) 30%, var(--color-white) )}@media(prefers-color-scheme: light){blockquote::after{--color-lighter: color-mix( in srgb, var(--color-primary) 30%, var(--color-white) )}}blockquote footer{margin-top:var(--space-2xs)}cite{margin-top:var(--space-xs);display:block;font-size:var(--step-0);font-weight:400}.at-c-note{padding:var(--space-xs);background-color:light-dark(color-mix(in srgb, var(--color-primary) 10%, var(--color-white)), color-mix(in srgb, var(--color-primary) 20%, var(--color-black)));border-top:4px solid var(--color-primary);grid-column:popout;position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:var(--space-l);color:light-dark(var(--color-foreground--light), var(--color-foreground--dark))}.at-c-note+h2,.at-c-note+h3,.at-c-note+h4{margin-top:var(--space-xl)}.at-c-note{--note-code-color: light-dark( color-mix(in srgb, var(--color-primary) 20%, var(--color-white)), color-mix(in srgb, var(--color-primary) 10%, var(--color-black)) )}.at-c-note code{background-color:var(--note-code-color)}html[data-mode=light] .at-c-note{--color-lighter: color-mix( in srgb, var(--color-primary) 10%, var(--color-white) )}html[data-mode=dark] .at-c-note{--color-lighter: color-mix( in srgb, var(--color-primary) 20%, var(--color-black) );--note-code-color: color-mix( in srgb, var(--color-primary) 10%, var(--color-black) )}@media(prefers-color-scheme: light){.at-c-note{--color-lighter: color-mix( in srgb, var(--color-primary) 10%, var(--color-white) )}}.at-c-note svg{height:37px;width:32px;fill:light-dark(var(--color-primary), var(--color-primary--tint-40));stroke:light-dark(var(--color-primary), var(--color-primary--tint-40));transform:rotate(16deg);grid-row:1/-1}@media(min-width: 768px){.at-c-note svg{height:74px;width:64px}}p code,li code{font-size:.75em;word-break:break-word;padding:2px;background-color:light-dark(var(--color-primary--tint-90), var(--color-primary--shade-70))}.at-navigation{position:relative}.at-navigation__list{display:flex;align-items:baseline;gap:var(--gap);list-style-type:none;padding:0;margin:0;grid-column:2/-1;grid-row:1/2;align-self:center}@media(width < 600px){.at-navigation__list{padding:var(--space-xl) var(--gap);flex-direction:column;gap:vaR(--gap);justify-content:center;align-items:center}}@media(min-width: 768px){.at-navigation__list{margin-left:auto}}.at-navigation__link{font-size:var(--step-0);text-decoration:none}@media(width < 600px){.at-navigation__link{color:light-dark(var(--color-background, #000), var(--color-foreground, #fff))}}.at-navigation__link--external{display:flex;align-items:start}.at-navigation__link--external:hover .at-navigation__external-icon{transform:translate(1px, -1px)}.at-navigation__external-icon{width:.9rem;height:.9rem;transition:transform 250ms ease-in}hr{position:relative;width:100%;height:4px;background-color:var(--color-primary)}#slidingComponent{width:100%;transition:max-height 220ms ease-out,margin 200ms ease-in,transform 200ms ease-in;overflow:hidden;max-height:0;margin:0;transform:translateY(-100%);display:flex;align-items:center;justify-content:center}#slidingComponent.visible{max-height:200px;margin:0 0 var(--gap) 0;transform:translateY(0)}.color-and-modes{display:flex;flex-direction:row;gap:1rem;margin:1rem 0;justify-content:end}#navSheet{position:fixed;top:0;right:0;width:90%;height:100%;transform:translateX(100%);transition:transform .3s ease;z-index:1000}@media(width < 600px){#navSheet{background-color:light-dark(var(--color-foreground, #000), var(--color-background, #fff))}}#navSheet.visible{transform:translateX(0)}.hidden{display:none}.close-button{position:absolute;top:var(--gap);right:var(--gap);background:none;border:none;cursor:pointer}.close-button svg{fill:light-dark(var(--color-background, #000), var(--color-foreground, #fff))}@media(min-width: 600px){#navButton{display:none}#navSheet{display:block;position:static;transform:none;height:auto;box-shadow:none}.close-button{display:none}}.at-c-toc[open] .at-c-toc__title:before{content:"-"}.at-c-toc .at-c-toc__title::-webkit-details-marker,.at-c-toc .at-c-toc__title::marker{display:none;content:""}.at-c-toc__title{margin-bottom:var(--space-2xs);position:relative;margin-left:3.5rem;font-size:1.15em}.at-c-toc__title h4{display:inline}.at-c-toc__title:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.at-c-toc__title::before{background:var(--color-primary);border-color:var(--color-primary);border-radius:999px;content:"+";color:var(--color-button-text);font-size:1em;font-weight:bold;text-align:center;width:1.5em;height:1.5em;display:inline-block;position:absolute;left:-3.5rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-family--headings);font-weight:800;font-feature-settings:"salt" on}h2{font-size:var(--step-4);line-height:1.05}h3{font-size:var(--step-3);line-height:1.05}h4{font-size:var(--step-2);line-height:1.1}h5,h6{font-size:var(--step-1)}.namespace{opacity:.7}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#40d6fc}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#ff7f00}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#00ff38}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#f2ff00}.token.atrule,.token.attr-value,.token.keyword{color:#40d6fc}.token.function{color:#f2ff00}.token.regex,.token.important,.token.variable{color:#fe0984;color:#40d6fc}.language-nunjucks .token.regex,.language-nunjucks .token.important,.language-nunjucks .token.variable{color:#40d6fc}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}pre[data-line]{position:relative}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0;pointer-events:none;line-height:inherit;white-space:pre}pre[class*=language-]{padding:.5rem 1rem;color:#eee;background-color:#222;position:relative;border-block-start-width:0}.at-c-codeblock{position:relative;border-inline-start:4px solid var(--color-primary);padding-left:var(--gap);grid-column:popout !important}.at-c-codeblock-language{background-color:var(--color-primary);color:var(--color-light);text-shadow:0px 0px 2px var(--color-dark);display:flex;align-items:center;font-family:var(--font-family--headings);font-size:var(--step-1);font-weight:700;line-height:1;letter-spacing:.025rem;padding:.5rem;padding-left:var(--gap);margin-left:calc(var(--gap)*-1);min-height:43px}.at-c-codeblock-language pre{color:#eee}pre,code[class*=language-]{font-size:var(--step--1);text-shadow:none;font-family:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;width:100%}pre[class*=language-]::selection,code[class*=language-]::selection,pre[class*=language-]::mozselection,code[class*=language-]::mozselection{text-shadow:none;background:hotpink}@media print{pre[class*=language-],code[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:var(--space-2xs);margin:var(--gap) 0;overflow:auto}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#222;background:#f0f0f0}.code-container{padding:var(--gap);overflow:auto}.at-hire-me{display:block;box-sizing:border-box;width:100%;padding:var(--gap);text-decoration:none;outline:none;color:var(--color-button-text);background-color:var(--color-primary);font-size:var(--step-0);font-family:var(--font-family--headings);font-weight:600;letter-spacing:.025rem;text-transform:uppercase;max-width:60rem;text-wrap:balance;background-clip:padding-box;box-shadow:0 0 0 -2px #333,0 0 0 -1px var(--color-primary);border:none;text-align:center;transition:box-shadow .3s;justify-self:center;cursor:pointer}.at-hire-me:hover,.at-hire-me:focus{box-shadow:0 0 0 2px light-dark(var(--color-light), var(--color-darker)),0 0 0 4px var(--color-primary);transition-timing-function:cubic-bezier(0.6, 4, 0.3, 0.8);animation:gelatine .5s 1}.at-hire-me:active{background:var(--color-primary);transition-duration:0;box-shadow:0 0 0 2px #f2f2f2,0 0 0 4px var(--color-primary)}@keyframes gelatine{from,to{transform:scale(1, 1)}25%{transform:scale(0.9, 1.1)}50%{transform:scale(1.1, 0.9)}75%{transform:scale(0.95, 1.05)}}.at-c-hire-me{background-color:light-dark(var(--color-primary--shade-50), var(--color-primary--tint-70));color:light-dark(var(--color-light), var(--color-dark));border:1px solid inherit;padding:var(--space-m) var(--gap);font-size:var(--step-0);margin-bottom:var(--space-l)}.at-c-hire-me p{line-height:1.35}.at-c-hire-me p+p{margin-top:var(--space-2xs)}.at-c-hire-me__question{hyphens:initial;font-family:var(--font-family--headings);font-size:var(--step-1);line-height:1.125;font-weight:600}.at-l-sidebar-rtl{align-items:start;display:flex;flex-wrap:wrap;gap:var(--gap)}.at-l-sidebar-rtl>:last-child{flex-basis:230px;flex-grow:1}.at-l-sidebar-rtl>:first-child{flex-basis:0;flex-grow:999;min-inline-size:60%}.at-c-pagination{background-color:light-dark(var(--color-dark), var(--color-light));padding:var(--space-2xs)}.at-c-pagination__inner{display:flex;gap:var(--gap);justify-content:space-between}.at-c-pagination__inner [data-direction]{color:light-dark(var(--color-light), var(--color-dark));text-decoration:none;display:flex;gap:var(--space-3xs);align-items:center}.at-c-pagination__inner [data-direction] span{display:inline-flex}.at-c-pagination__inner [data-direction]:hover{text-decoration:underline}.at-c-pagination__inner [data-direction] svg{fill:var(--color-background);font-size:1em}.at-c-pagination__inner [data-direction=forwards]{margin-left:auto}.at-u-fullbleed{background-position:center center;background-repeat:no-repeat;background-size:0 0;color-scheme:light dark;position:relative;padding-block:var(--space-xl);margin-bottom:var(--space-xl);margin-top:var(--space-l-xl)}.at-u-fullbleed::before{background-color:var(--color-primary--opacity-90);background-image:inherit;background-position:inherit;background-repeat:inherit;background-size:cover;content:"";grid-column:1/-1;height:100%;margin-left:calc(50% - 50vw);margin-left:calc(50% - (50vw - var(--context-margin--inline, 0px)));position:absolute;top:0;width:100vw;width:calc(100vw - var(--context-margin--inline, 0px)*2);z-index:-1}.at-c-availability{margin-top:calc(var(--gap)*-1);margin-bottom:calc(var(--gap)*2);padding-block:var(--gap)}.at-c-availability p{font-size:var(--step-0);text-align:center}.at-c-availability__inner{display:flex;flex-direction:column;align-items:center}.at-bluesky-likes{padding:0;min-height:250px;padding-right:1rem}.at-bluesky-heading{font-size:var(--step-1, 1.25rem);font-weight:700;margin-top:var(--space-m);margin-bottom:var(--space-s, 0.5rem)}.at-bluesky-likes__cta{display:block;font-size:var(--step-1, 1.25rem);font-style:italic;text-decoration:underline;margin-bottom:0}.at-bluesky-likes__cta:hover{opacity:.8}.at-bluesky-likes__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:0}.at-bluesky-likes__item{width:2.5rem;aspect-ratio:1/1;margin-right:-0.5rem;border-radius:50%;border:none;filter:drop-shadow(0px 0.125rem 0.125rem rgba(0, 0, 0, 0.25))}.at-bluesky-likes__item:hover{z-index:1;transform:rotate(3deg) scale(1.05);transition:transform .2s}.at-bluesky-likes__avatar{width:100%;height:100%;border-radius:50%;border:none;object-fit:cover;display:block;padding:0}.at-bluesky-likes__item--placeholder,.at-bluesky-likes__item--more{width:2rem;aspect-ratio:1/1;display:flex;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;font-style:italic;background-color:#1185fe;color:#fff;border-radius:50%;flex-shrink:0}.at-bluesky-likes__item--placeholder span{font-size:1.5rem}@media(max-width: 640px){.at-bluesky-likes{min-height:auto}.at-bluesky-likes__cta{margin-top:var(--space-m, 1.5rem);font-size:var(--step-1, 1rem)}}.at-bluesky-likes__cta{margin-top:var(--space-m, 1.5rem)}.at-c-hire-banner{background-color:light-dark(var(--color-primary--tint-80), var(--color-primary--shade-50));padding-block:var(--space-s);padding-inline:var(--space-m);display:flex;justify-content:center;font-family:var(--font-family--monospace);margin-bottom:var(--space-s)}.at-c-hire-banner a{display:inline-block;margin:0;font-size:var(--step--1);text-decoration:none;font-weight:700}.at-c-hire-banner a:hover{text-decoration:underline;text-decoration-color:light-dark(var(--color-primary--shade-30), var(--color-primary))}.at-p-header{--layout-spacing: 0;align-items:center}.at-p-header button svg{width:32px;height:32px}.at-footer{border-top:4px solid var(--color-primary);padding-block:var(--gap);justify-content:space-between}.at-footer>*:first-child{min-inline-size:40%}.at-social-links{display:flex;gap:var(--gap)}@media(min-width: 35.6875em){.at-social-links{justify-content:flex-end}}.at-social-links .at-social-links__link:hover svg{fill:var(--color-primary)}design-systems-webring{display:flex;justify-content:center;color:#000}design-systems-webring a{color:inherit}ul:not([class]) *+*{margin-top:var(--space-2xs)}ul:not([class]){padding-left:var(--gap)}::selection{color:light-dark(var(--color-light), var(--color-dark));background-color:light-dark(var(--color-dark), var(--color-light));text-shadow:none}aside,section{grid-column:content}.at-c-heading{font-size:clamp(2.1778rem,2.3328rem + 3.7682vw,9.1166rem);margin-block-end:var(--space-xl-2xl);text-align:center}.at-c-case-study{padding-block:var(--space-xl);grid-template-areas:"image text"}@supports(animation-range: 100%){.at-c-case-study div{animation-name:slide-in-inline-end;animation-timeline:view();animation-range:0 40%}}.at-c-case-study img{grid-area:image}@supports(animation-range: 100%){.at-c-case-study img{animation-name:slide-in-inline-start;animation-timeline:view();animation-range:0 40%}}.at-c-case-study--even{grid-template-areas:"text image"}@supports(animation-range: 100%){.at-c-case-study--even div{animation-name:slide-in-inline-start}.at-c-case-study--even img{animation-name:slide-in-inline-end}}@media(min-width: 1200px){.at-c-case-study{--grid-image-size: 2fr}}.at-u-accent--color{color:var(--color-primary)}img{border-top:.25rem solid var(--color-primary);padding-block-start:.5rem}body>.at-hire-me{max-width:100%}.at-c-tags{grid-column:content;--flow-spacing: var(--space-l);list-style-type:none;padding:0}.at-c-tags a{text-decoration:none;font-family:var(--font-family--headings)}.at-g-feature h2{grid-column:1/-1}@media(max-width: 50rem){.at-c-case-study{display:flex;flex-direction:column}}a{color:currentColor;text-decoration:underline;text-decoration-color:light-dark(var(--color-primary--shade-30), var(--color-primary));text-underline-offset:4px;text-decoration-thickness:2px}a:hover{text-decoration-color:var(--color-foreground)}@supports(animation-range: 100%){.at-c-card{animation-name:fade-in;animation-fill-mode:forwards;animation-timeline:view();animation-range:-20vh 40vh}}@keyframes fade-in{from{opacity:0;transform:scale(0.3)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-inline-start{from{opacity:0;transform:translatex(-100vw)}to{opacity:1;transform:translatex(0)}}@keyframes slide-in-inline-end{from{opacity:0;transform:translatex(100vw)}to{opacity:1;transform:translatex(0)}}table{border-collapse:collapse}th,caption{text-align:start}caption{margin-block:.75rem}thead{border-block-end:2px solid}tfoot{border-block:2px solid;background:#f5f5f5}th,td{border:1px solid #d3d3d3;padding:.25rem .75rem;vertical-align:baseline}th:first-child{position:sticky;inset-inline-start:0;border-inline-end:none}tbody th{background:light-dark(var(--color-background), var(--color-foreground));color:light-dark(var(--color-foreground), var(--color-background))}tbody{background:light-dark(var(--color-foreground), var(--color-background));color:light-dark(var(--color-background), var(--color-foreground));border-left:1px solid currentColor}thead th,tfoot th{background:light-dark(var(--color-foreground), var(--color-background));color:light-dark(var(--color-background), var(--color-foreground))}thead th{vertical-align:bottom}td:first-of-type,:where(thead,tfoot) th:nth-child(2){border-inline-start:none}th:first-of-type{width:10rem}th:first-child::after{content:"";position:absolute;inset-block-start:0;inset-inline-end:0;width:1px;height:100%;background:#d3d3d3}table+:is(h1,h2,h3,h4,h5,h6){--flow-spacing: var(--space-xl)}.at-l-grid-tokens{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill, minmax(20rem, 1fr));gap:var(--space-l)}.at-l-grid-tokens .at-c-card:has(img){container-type:inline-size}.at-l-grid-tokens .at-c-card:has(img) .at-c-card__content{display:grid;grid-template-columns:200px 1fr;text-decoration:none;gap:1rem}@container (max-width: 400px){.at-l-grid-tokens .at-c-card:has(img) .at-c-card__content{gap:1rem;grid-template-columns:initial;grid-template-rows:auto 1fr}.at-l-grid-tokens .at-c-card:has(img) .at-c-card__content img{margin-bottom:var(--space-m)}}.at-l-grid-tokens .at-c-card__link{text-decoration:none}.at-l-grid-tokens img{object-fit:cover;aspect-ratio:4/3;border:0;padding:0;max-width:initial}.at-list--series__item a{text-decoration:none}.at-list--series__item a:hover{text-decoration:underline;text-decoration-color:var(--color-primary)}strong{font-weight:800}.at-b-lede{font-size:var(--step-1)}.at-l-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-m)}