@media (max-width:320px){html{hyphens:auto}}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:0.15rem;text-decoration-color:var(--accent)}a:active{color:var(--text);background-color:var(--shade);text-decoration-color:var(--purple)}.email-display:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}button{display:block;background-color:var(--purple);border:1px solid var(--purple);color:#121212;padding-block:0.4rem 0.25rem;padding-inline:0.5rem;text-align:center;cursor:pointer;font-size:1rem;font-family:inherit}button:hover{background-color:#b084f6}button:disabled{cursor:auto}button:active{background-color:#7a34d3;border:1px solid var(--text);color:#fff;scale:0.96}input{display:block}ul{margin-block:0.5rem;padding-inline-start:clamp(1rem,5vw,1.3rem)}ol{margin-block:0.5rem;padding-inline-start:clamp(1.25rem,5vw,1.3rem)}li+li{margin-top:.5rem}article+p,blockquote+p,button+p,div+p,ol+p,p+div,p+p,section+p,ul+p{margin-block-start:1rem}details{border:1px solid var(--accent);overflow:hidden;font-family:var(--font-base);margin-block:1rem}summary{cursor:pointer;padding-block:min(2vw,0.2rem);padding-inline:clamp(0.1rem,2vw,0.8rem);background-color:var(--shade);font-weight:700;font-family:var(--font-base);transition:background-color .1s ease;list-style:none;position:relative;padding-inline-start:clamp(1.5rem,3vw,2rem)}summary::-webkit-details-marker{display:none}summary::marker{display:none}summary::before{content:"▶"/"";position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--text);font-size:.8rem;line-height:1}details[open] summary::before{transform:translateY(-50%) rotate(90deg)}summary:focus-visible,summary:hover{background-color:color-mix(in srgb,var(--shade) 90%,var(--text) 10%)}summary:focus-visible{outline-offset:-2px}details>:not(summary):not(ul):not(ol){padding-inline:min(2vw,0.8rem)}details>ul{padding-inline-start:clamp(1.2rem,8vw,2rem);padding-inline-end:min(2vw,0.8rem)}details>ol{padding-inline-start:clamp(2rem,8vw,2.2rem);padding-inline-end:min(2vw,0.8rem)}details>summary+p{margin-block-start:0.5rem}details p+p{margin-block-start:0.75rem}details hr{margin-block:1rem;margin-inline:min(2vw,1rem);border:none;height:1px;background-color:var(--accent)}details small{display:block;font-size:.85rem;line-height:1.5;margin-block-start:0.5rem}footer ul{list-style:none;padding:0;margin:0}details>:not(summary):first-child{margin-block-start:0.5rem}details>:not(summary):last-child{margin-block-end:0.5rem}details>figure{margin-inline:0.5rem}details>div{margin-top:.5rem}section{margin:0}blockquote::before{content:"“ ";color:var(--text);font-size:3rem;line-height:0;vertical-align:-1.17rem}.blockquote-wrapper>p::before{content:"— "/"- "}.blockquote-wrapper{padding-block:0.5rem;padding-inline-start:var(--spacing-inline);padding-inline-end:min(2vw,0.5rem);margin-block-start:1rem;margin-block-end:1rem;border-inline-start:clamp(1px,3vw,8px) solid var(--purple);background-color:var(--shade)}.blockquote-wrapper>*+*{margin-block-start:0.5rem;margin-block-end:0}.blockquote-wrapper blockquote{font-family:var(--font-base);font-weight:400;font-style:normal}.blockquote-wrapper>p{font-family:var(--font-mono);font-weight:600;font-style:normal}figure{padding-block:0.5rem;padding-inline-start:var(--spacing-inline);padding-inline-end:min(2vw,0.5rem);margin-block-start:1rem;margin-block-end:1rem;border-inline-start:clamp(1px,3vw,8px) solid var(--purple);background-color:var(--shade)}figure>*+*{margin-block-start:0.5rem;margin-block-end:0}figure figcaption{font-family:var(--font-mono);margin-block-start:0;font-weight:600}.fig-example{background-color:var(--shade);border-inline-start:clamp(1px,3vw,8px) solid var(--purple);padding-inline-start:var(--spacing-inline);padding-inline-end:1rem;padding-block:1rem}.fig-example figcaption{font-family:var(--font-mono);font-weight:700;font-size:1rem;margin-block-end:0.25rem}.fig-example p{font-size:1rem;margin-block:0.5rem 1rem;color:var(--text)}.fig-example img{max-width:100%;height:auto}figcaption small{font-size:.875rem}.headline{font-family:var(--font-base);font-size:2rem;font-weight:700;text-align:center;text-wrap:balance;margin-block-end:0}.description{margin-block-start:0;font-size:1.5rem;font-family:var(--font-base);font-weight:400;text-align:center;text-wrap:balance}@media (max-width:700px){.description,.headline{text-align:start}}.home{--home-gap:1.75rem;--home-space-xs:0.65rem;--home-space-sm:1rem;--home-space-md:1.75rem;--home-space-lg:3rem}.home h1,.home h2,.home h3{margin-block:0}.home h2{font-size:1.5em}.home a{text-decoration-color:var(--purple);text-decoration-thickness:0.08em}.home>section+section{border-block-start:1px solid var(--accent);margin-block-start:var(--home-space-md);padding-block-start:var(--home-space-md)}.home>section:first-of-type{display:grid;gap:var(--home-gap);align-items:center;position:relative;isolation:isolate;padding-block:var(--home-space-md) 0}.home>section:first-of-type>div:not([aria-hidden]){position:relative;z-index:1}.home>section:first-of-type>div:not([aria-hidden])>*+*{margin-block-start:var(--home-space-sm)}.home>section:first-of-type h1{font-family:var(--font-serif);font-size:2.35rem;font-weight:700;line-height:.95;max-width:28rem}.home>section:first-of-type h1 span:not([role]){text-decoration:underline;text-decoration-color:var(--purple);text-decoration-thickness:0.08em;text-underline-offset:0.09em}.home>section:first-of-type .description{max-width:28rem;font-size:1rem;text-align:start}.home>section:first-of-type .description strong:last-child{color:var(--purple-strong)}.home p:has(> .link-button){display:flex;flex-wrap:wrap;gap:.6rem;margin-block:var(--home-space-xs) 0}.link-button{display:inline-flex;align-items:center;justify-content:center;background-color:var(--purple);border:2px solid var(--purple);color:var(--button-text);font-weight:700;min-height:2.1rem;padding-block:0.35rem 0.25rem;padding-inline:0.7rem;text-align:center;text-decoration:none}.home a span[aria-hidden=true]{margin-inline-start:.15em}.link-button:hover{background-color:#b084f6;border-color:#b084f6}.link-button:active{background-color:#7a34d3;border-color:var(--text);color:#fff}.link-button--secondary{background-color:transparent;color:var(--purple-strong)}.link-button--secondary:hover{background-color:var(--shade);border-color:var(--purple)}.home>section:first-of-type>div[aria-hidden]{color:var(--text);inline-size:min(100%,13.6rem);justify-self:center;margin-block:var(--home-space-xs)}.home>section:first-of-type>div[aria-hidden] svg{display:block;inline-size:100%}.accessibility-icon__dots{fill:var(--purple)}.accessibility-icon__person{fill:currentColor}.home>section:nth-of-type(2)>div{display:grid;grid-template-columns:1fr;margin-block:var(--home-space-sm) 0}.home>section:nth-of-type(2)>div>div{display:flex;flex-direction:column;padding:var(--home-space-sm)}.home>section:nth-of-type(2)>div>div+div{border-block-start:1px solid var(--accent)}.home>section:nth-of-type(2)>div>div>*+*{margin-block-start:var(--home-space-xs)}.home>section:nth-of-type(2)>div>div h3 a{color:var(--text);text-decoration-color:var(--purple);font-weight:inherit}.home>section:nth-of-type(2)>div>div h3 a:hover{color:var(--purple-strong)}.home>section:nth-of-type(2)>div>div>svg{block-size:2rem;inline-size:2rem;color:var(--purple);fill:none;stroke:var(--purple);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.home>section:nth-of-type(2)>div>div p{font-size:.82rem}.home>section:nth-of-type(2)>p{margin-block-start:var(--home-space-sm);text-align:center}.home>section:nth-of-type(2)>p a{color:var(--text);font-weight:700}.home>section:nth-of-type(2)>p a:hover{color:var(--purple-strong)}.home>section:nth-of-type(3){display:grid;gap:var(--home-space-md);align-items:center}.home>section:nth-of-type(3)>div:first-child>*+*{margin-block-start:var(--home-space-sm)}.home>section:nth-of-type(3)>div:first-child a{color:var(--text);font-weight:700}.home>section:nth-of-type(3)>div:first-child a:hover{color:var(--purple-strong)}.home>section:nth-of-type(3)>.stat{border-inline-start:clamp(1px,3vw,8px) solid var(--purple);padding-block:0.15rem;padding-inline-start:var(--spacing-inline);padding-inline-end:0.25rem}.home>section:nth-of-type(3)>.stat strong{color:var(--purple-strong)}.home>section:nth-of-type(3)>.stat>p:first-child{font-family:var(--font-base);font-size:2.8rem;line-height:1}.home>section:nth-of-type(3)>.stat>p:last-child{font-family:var(--font-base)}.home>section:nth-of-type(3)>.stat p+p{margin-block-start:var(--home-space-xs)}.home>section:nth-of-type(4)>div{display:grid;gap:var(--home-gap);margin-block-start:var(--home-space-sm)}.home>section:nth-of-type(4) .blockquote-wrapper{background-color:transparent;display:flex;flex-direction:column;inline-size:100%;margin-block:0}.home>section:nth-of-type(4) blockquote::before{color:var(--purple)}.home>section:nth-of-type(4) .blockquote-wrapper>p{color:var(--purple-strong);font-size:.85rem;margin-block-start:auto;padding-block-start:var(--home-space-xs)}@media (prefers-color-scheme:light){.home>section:first-of-type .description strong:last-child,.home>section:nth-of-type(3)>.stat strong,.home>section:nth-of-type(3)>div:first-child a,.home>section:nth-of-type(4) .blockquote-wrapper>p,.link-button--secondary{color:var(--text)}}.home>section:nth-of-type(5){display:grid;gap:var(--home-gap);align-items:start}.home>section:nth-of-type(5)>figure{background:0 0;border:0;justify-self:center;margin:0;max-width:10.5rem;padding:0}.home>section:nth-of-type(5)>figure img{aspect-ratio:1;block-size:auto;border:1px solid var(--accent);border-radius:50%;inline-size:10.5rem;max-inline-size:100%}.home>section:nth-of-type(5)>figure figcaption{display:grid;gap:.3rem;font-size:.75rem;margin-block-start:var(--home-space-xs);text-align:center}.home>section:nth-of-type(5)>figure figcaption strong{color:var(--text);font-family:var(--font-serif);font-weight:400}.home>section:nth-of-type(5)>figure figcaption span{color:var(--text);font-family:var(--font-base);font-weight:700}.home>section:nth-of-type(5)>div{display:grid;gap:var(--home-space-md)}.home>section:nth-of-type(5)>div>blockquote{margin:0;padding:0;background:0 0;border:0}.home>section:nth-of-type(5)>div>blockquote::before{content:"\201C";color:var(--purple);font-family:var(--font-serif);font-size:2.5rem;font-weight:700;line-height:.8;display:block;margin-block-end:0.25rem}.home>section:nth-of-type(5)>div>blockquote p{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;line-height:1.35;margin:0}.home>section:nth-of-type(5)>div>blockquote::after{content:"";display:block;inline-size:3rem;block-size:2px;background-color:var(--purple);margin-block-start:var(--home-space-sm)}.home>section:nth-of-type(5)>div>p{margin:0;font-size:.95rem}.home>section:nth-of-type(6)>ul{display:grid;grid-template-columns:1fr;justify-items:center;align-items:center;gap:var(--home-space-md);list-style:none;padding:0;margin-block-start:var(--home-space-md)}@media (min-width:480px){.home>section:nth-of-type(6)>ul{grid-template-columns:repeat(2,1fr)}}.home>section:nth-of-type(6) img{height:2.5rem;width:auto;display:block;filter:brightness(0) invert(1) brightness(.333)}@media (prefers-color-scheme:dark){.home>section:nth-of-type(6) img{filter:brightness(0) invert(1) brightness(.961)}}@media (forced-colors:active){.home>section:nth-of-type(6) img{filter:none}}.home>section:nth-of-type(7)>*+*{margin-block-start:var(--home-space-xs)}.home>section:nth-of-type(7)>p:last-child{margin-block-end:0}@media (max-width:520px){.home p:has(> .link-button){display:grid}.link-button{inline-size:100%}}@media (max-width:759px){.home>section:nth-of-type(2)>div>div{padding-inline:0}}@media (max-width:739px){.home>section:first-of-type h1{line-height:1.05}}@media (min-width:760px){.home>section:first-of-type h1{font-size:3.7rem;max-width:14.5ch}.home>section:first-of-type .description{font-size:1.15rem}.home>section:first-of-type>div[aria-hidden]{inline-size:min(62%,16rem);justify-self:center}.home>section:nth-of-type(2)>div{grid-template-columns:repeat(3,minmax(0,1fr))}.home>section:nth-of-type(2)>div>div+div{border-block-start:0;border-inline-start:1px solid var(--accent);margin-top:0}.home>section:nth-of-type(3){grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.home>section:nth-of-type(3)>div:first-child{grid-column:1/3;padding-inline-end:0.95rem}.home>section:nth-of-type(3)>.stat{grid-column:3/-1;max-width:18rem}.home>section:nth-of-type(4)>div{grid-template-columns:calc(50% - var(--home-gap)) minmax(0,1fr)}.home>section:nth-of-type(5){grid-template-columns:11rem minmax(0,1fr)}.home>section:nth-of-type(6)>ul{grid-template-columns:repeat(3,1fr)}}@media (max-width:939px){.home>section:first-of-type .description,.home>section:first-of-type h1,.home>section:first-of-type>div:not([aria-hidden]){max-width:none}}@media (min-width:940px){.home>section:first-of-type{display:block;min-block-size:20rem}.home>section:first-of-type>div[aria-hidden]{display:grid;place-items:center;position:absolute;z-index:0;inset-block:var(--home-space-lg) 0;inset-inline-end:clamp(0.5rem,calc(2rem - 9.45vw),2.5rem);inline-size:clamp(11.5rem,calc(98.6vw - 27.15rem),485px)}}@media (min-width:1100px){.home>section:first-of-type h1{font-size:3.85rem}}hr{border:none;height:1px;background-color:var(--accent);margin-block-start:2rem;margin-block-end:2.12rem}hr[data-emoji]{position:relative;overflow:visible;margin-block-start:2.5rem;margin-block-end:2.57rem}hr[data-emoji]::before{content:attr(data-emoji);font-family:var(--font-serif);font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg);padding-inline:clamp(0.5rem,7vw,2rem);white-space:nowrap}.lede{font-family:var(--font-mono);border-inline-start:6px solid var(--purple);padding-inline-start:var(--spacing-inline);padding-inline-end:min(2vw,0.5rem);padding-block:0.2rem}.audio{border-inline-start:none;padding-inline:0;padding-block:0.2rem;margin-inline:0;background:0 0}audio{display:block;max-width:100%;min-inline-size:0;width:100%;margin-block:1rem;margin-inline:0}.x-scrollable{overflow-x:auto;max-width:100%;direction:ltr;outline:0;box-shadow:none}.x-scrollable:focus-visible{outline:2px solid var(--purple)!important;outline-offset:2px}.code-snippet{border-inline-start:clamp(1px,3vw,8px) solid var(--purple);background-color:var(--shade);padding-inline-start:var(--spacing-inline);padding-inline-end:min(2vw,0.5rem);padding-block:min(2vw,0.5rem)}@media (prefers-reduced-motion:no-preference){.x-scrollable{transition:box-shadow .3s ease}}.x-scrollable.has-overflow.at-inline-start{box-shadow:inset -1.3rem 0 1rem -1rem color-mix(in srgb,var(--text) 45%,transparent)}.x-scrollable pre{all:unset;display:block;font-family:var(--font-mono);font-size:.875rem;line-height:1.5;color:var(--text);white-space:pre}pre code{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:0 0;padding:0;white-space:pre}code{font-family:var(--font-mono);font-weight:inherit;background-color:var(--shade);padding-block:0.025rem;padding-inline:min(2vw,0.3rem);line-height:inherit;vertical-align:baseline;text-decoration:inherit}a code{padding:0;background-color:transparent}.email-block{margin-block-start:0.5rem}.email-display{border:1px solid var(--accent);padding-block:min(2vw,0.5rem);padding-inline:min(2vw,0.6rem);margin-block:0;display:inline-block;font-family:var(--font-mono);opacity:0;transition:opacity .5s;visibility:hidden;cursor:pointer;text-decoration:underline;text-decoration-color:var(--accent)}.email-display span{overflow-wrap:anywhere;word-break:break-word}.email-copy-button{margin-block-start:0.75rem;opacity:0;transition:opacity .5s}.email-copy-feedback:not(:empty){background-color:var(--bg);color:var(--text);padding-block:0.4rem 0.25rem;padding-inline-start:var(--spacing-inline);padding-inline-end:0.5rem;margin-block-start:0.75rem;margin-block-end:0;display:inline-block;border-inline-start:6px solid var(--purple)}@media (prefers-reduced-motion){.email-display{transition:opacity 0s}.email-copy-button{transition:opacity 0s}}.blog-index h2{border-inline-start:6px solid var(--purple);margin:0}.blog-index h2 a{display:inline-block;padding-inline:var(--spacing-inline);padding-block-start:0.2rem;padding-block-end:0.1rem;transition:background-color .2s ease}.blog-index h2 a:hover{background-color:var(--shade)}.blog-index article{border-block-start:2px solid var(--accent);padding-block:1.5rem}.blog-index article:first-of-type{border-block-start:none;padding-block-start:0}.blog-index article:last-of-type{padding-block-end:0}.post-meta{border-inline-start:6px solid var(--accent);padding-inline-start:var(--spacing-inline);padding-block:0.25rem;font-family:var(--font-mono);font-weight:700;margin-block:0.5rem}footer{padding-block:1.35rem 1.65rem;padding-inline:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;border-block-start:2px solid var(--accent);font-size:.92rem}footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;padding:0;margin:0}footer li+li{margin-top:0}@media (max-width:430px){footer ul{gap:.35rem .8rem}}table{width:100%;border-collapse:collapse;font-family:var(--font-base);font-size:1rem;margin-block-start:2rem}td,th{padding:clamp(.1rem,1.4vw,.5rem) clamp(.1rem,2vw,.5rem);text-align:left;border:1px solid var(--accent);word-break:normal;overflow-wrap:normal;white-space:normal}thead{background-color:var(--shade);border-block-end:4px solid var(--accent)}tbody tr:nth-child(2n){background-color:color-mix(in srgb,var(--shade) 80%,transparent 20%)}tbody tr:hover{background-color:color-mix(in srgb,var(--shade) 90%,var(--text) 10%)}th{font-weight:700;white-space:nowrap}table+small{display:block;margin-block-end:2rem}caption{caption-side:top;text-align:left;font-family:var(--font-mono);font-size:.9rem;font-weight:700;margin-block-end:0.5rem;color:var(--text)}dl{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin-block:0.5rem;padding:0;font-family:var(--font-mono)}dt{font-weight:700}dd{margin:0}@media (max-width:360px){dl{grid-template-columns:1fr;gap:.15rem}dd{margin-block-end:0.5rem;padding-inline-start:var(--spacing-inline)}dd:last-child{margin-block-end:0}}@media (forced-colors:active){header nav a{border:none}header nav a[aria-current=page]{border-block-end:6px solid Highlight;color:ButtonText}hr[data-emoji]{background-color:ButtonText}button{background-color:ButtonFace!important;color:ButtonText!important}.link-button{background-color:ButtonFace!important;border-color:ButtonText!important;color:ButtonText!important}.home a,.home-headline span{color:LinkText}.home-panel,.home-section,.service-card{border-color:ButtonText}.home-stat{background-color:Canvas;border-color:ButtonText}}.token.tag{color:var(--code-tag)}.token.keyword{color:var(--code-keyword)}.token.attr-value,.token.string{color:var(--code-string)}.token.function{color:var(--code-function)}.token.comment{color:var(--code-comment);font-style:italic}.token.punctuation{color:var(--code-punctuation)}:focus-visible{outline:2px solid var(--purple);outline-offset:2px}main:focus{outline:0}@media (prefers-contrast:more){:root{--bg:#ffffff;--text:#000000}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root{--bg:#000000;--text:#ffffff}}.callout{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding-block:0.5rem;padding-inline-start:var(--spacing-inline);padding-inline-end:min(2vw,0.5rem);margin-block-start:1rem;margin-block-end:1rem;border-inline-start:clamp(1px,3vw,8px) solid var(--purple);background-color:var(--shade)}.callout-emoji{font-size:2.5rem;margin-block-start:0.23rem}.callout-content{margin:0}.callout-content p{margin:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.e-54{display:none}.e-110{display:none}.e-128{display:none}.e-52{display:none}.e-17{display:none}.e-116{display:none}.e-35{display:none}.e-1{display:none}.e-79{display:none}.e-144{display:none}.e-108{display:none}.e-63{display:none}.e-44{display:none}.e-16{display:none}.e-107{display:none}.e-109{display:none}.e-4{display:none}.e-140{display:none}.e-103{display:none}.e-60{display:none}.e-80{display:none}.e-56{display:none}.e-39{display:none}.e-76{display:none}.e-132{display:none}.e-102{display:none}.e-138{display:none}.e-27{display:none}.e-141{display:none}.e-9{display:none}.e-133{display:none}.e-90{display:none}.e-10{display:none}.e-50{display:none}.e-106{display:none}.e-120{display:none}.e-139{display:none}.e-37{display:none}.e-55{display:none}.e-92{display:none}.e-100{display:none}.e-134{display:none}.e-43{display:none}.e-58{display:none}.e-61{display:none}.e-12{display:none}.e-30{display:none}.e-25{display:none}.e-95{display:none}.e-23{display:none}.e-68{display:none}.e-67{display:none}.e-41{display:none}.e-99{display:none}.e-42{display:none}.e-5{display:none}.e-137{display:none}.e-13{display:none}.e-113{display:none}.e-51{display:none}.e-98{display:none}.e-6{display:none}.e-48{display:none}