@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.dn{--dn-pad:var(--space-xs);--dn-pill-inset:var(--space-3xs);--dn-tint-amount:8%;--dn-tint:color-mix(in oklab, var(--color-text) var(--dn-tint-amount), var(--color-bg));--dn-panel-gap:var(--space-2xs);--dn-panel-inset:0px;--dn-bridge:var(--dn-panel-gap);--dn-panel-pad:var(--space-m);--dn-panel-radius:var(--radius-card);--dn-panel-max-h:calc(100dvh - var(--header-h) - var(--space-xl));--dn-tile:calc(var(--tap-min) - var(--space-2xs));--dn-entry-pad:var(--space-2xs);--dn-veil-top:0px;--dn-veil-opacity:.4;--dn-exit:calc(var(--motion-fast) / 2)}.dn__list{align-items:center;display:flex}.dn__item--pill{margin-inline-start:var(--space-2xs)}.dn__top{z-index:1;justify-content:center;align-items:center;gap:var(--space-3xs);min-block-size:var(--tap-min);min-inline-size:var(--tap-min);padding-inline:var(--dn-pad,var(--space-xs));border-radius:var(--radius-control);color:var(--color-text);font-family:var(--font-role-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:var(--label-case);white-space:nowrap;text-decoration:none;display:inline-flex;position:relative}.dn__top--pill:before{content:"";inset:var(--dn-pill-inset,var(--space-3xs)) 0;border:var(--control-border) solid currentColor;border-radius:var(--radius-control);pointer-events:none;position:absolute}.dn__top:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}:is(a.dn__top[aria-current=page],a.dn__top[data-in-section],.dn__trigger[data-in-section]>.dn__top-text){text-decoration:underline;text-decoration-thickness:var(--focus-width);text-underline-offset:.35em}@media (hover:hover) and (pointer:fine){html:not([data-motion]) .dn__top:hover{text-underline-offset:.35em;text-decoration:underline}}html:not([data-motion]) .dn__trigger,html[data-motion] .dn__fallback{display:none}.dn__chevron{block-size:1.25em;inline-size:1.25em;transition:transform var(--motion-fast) var(--ease-out);flex:none}.dn__trigger[aria-expanded=true]>.dn__chevron{transform:rotate(180deg)}.dn__pill{pointer-events:none;opacity:0;transition:opacity var(--motion-fast) var(--ease-out);position:absolute;top:0;left:0}.dn__pill[data-on]{opacity:1}.dn__pill>span{block-size:calc(var(--tap-min) - 2 * var(--dn-pill-inset));background:var(--dn-tint);transform-origin:0;transition:transform var(--motion-fast) var(--ease-out);position:absolute;top:0;left:0;transform:scaleX(0)}.dn__pill-cap{inline-size:calc(var(--tap-min) - 2 * var(--dn-pill-inset));border-radius:var(--radius-control)}.dn__pill-mid{inline-size:var(--tap-min)}.dn__pill[data-jump]>span{transition:none}.dn__panel{z-index:2;inline-size:calc(100% - 2 * var(--dn-panel-inset));position:absolute;inset-block-start:calc(100% + var(--dn-panel-gap));inset-inline-end:var(--dn-panel-inset)}.dn__panel[hidden]{display:none}.dn__panel:before{content:"";block-size:var(--dn-bridge);position:absolute;inset-block-end:100%;inset-inline:0}.dn__sheet{--dn-cols-auto:2;grid-template-columns:repeat(var(--dn-cols,var(--dn-cols-auto)), minmax(0, 1fr));gap:var(--space-l) var(--gutter);max-block-size:var(--dn-panel-max-h);overscroll-behavior:contain;padding:var(--dn-panel-pad);background:var(--color-bg);color:var(--color-text);border:var(--rule-width) solid var(--color-rule);border-radius:var(--dn-panel-radius);display:grid;overflow-y:auto}@media (width>=1200px){.dn__sheet{--dn-cols-auto:var(--dn-columns,4)}}.dn__veil{inset:var(--dn-veil-top) 0 0;background:var(--color-veil);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dn-exit) var(--ease-in), visibility 0s linear var(--dn-exit);position:fixed}.dn[data-dn-open]>.dn__veil{opacity:var(--dn-veil-opacity);visibility:visible;pointer-events:auto;transition:opacity var(--motion-fast) var(--ease-out)}.dn[data-dn-cut]>.dn__veil{transition:none}@media (width<=767px){.dn__veil{display:none}}.dn__col{gap:var(--space-xs);flex-direction:column;min-inline-size:0;display:flex}.dn__title{align-items:center;gap:var(--space-2xs);color:var(--color-text-muted);font-family:var(--font-role-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:var(--label-case);display:flex}.dn__title:before{content:"";inline-size:var(--space-s);block-size:var(--stripe-width);border-radius:var(--radius-control);background:var(--group,var(--color-text));flex:none}.dn__entries{gap:var(--space-3xs);display:grid}.dn__entry{align-items:flex-start;gap:var(--space-xs);min-block-size:var(--tap-min);margin-inline:calc(-1 * var(--dn-entry-pad));padding:var(--dn-entry-pad);border-radius:var(--radius-frame);color:var(--color-text);text-decoration:none;display:flex}.dn__tile{inline-size:var(--dn-tile);block-size:var(--dn-tile);border:var(--rule-width) solid var(--color-rule);border-radius:var(--radius-frame);color:var(--group,var(--color-text));background:0 0;flex:none;place-items:center;display:grid}.dn__tile>svg{inline-size:calc(var(--dn-tile) * .55);block-size:calc(var(--dn-tile) * .55)}.dn__text{min-inline-size:0;display:block}.dn__label{font-family:var(--font-role-body);font-size:var(--text-body);font-weight:var(--weight-strong);line-height:var(--leading-stop);display:block}.dn__desc{color:var(--color-text-muted);font-family:var(--font-role-caption);font-size:var(--text-caption);line-height:var(--leading-caption);margin-block-start:var(--space-3xs);display:block}@media (hover:hover) and (pointer:fine){.dn__entry:hover{background:var(--dn-tint)}.dn__entry:hover>.dn__tile{border-color:var(--group,var(--color-text))}.dn__entry:hover .dn__desc{color:var(--color-text)}}.dn__entry:focus-visible{background:var(--dn-tint);outline:var(--focus-width) solid var(--color-focus);outline-offset:0}.dn__entry:focus-visible>.dn__tile{border-color:var(--group,var(--color-text))}.dn__entry:focus-visible .dn__desc{color:var(--color-text)}.dn__entry[aria-current=page] .dn__label{text-decoration:underline;text-decoration-thickness:var(--focus-width);text-underline-offset:.25em}.dn__more{border-block-start:var(--rule-width) solid var(--color-rule);margin-block-start:var(--space-2xs);padding-block-start:var(--space-xs);display:grid}.dn__more-link{align-items:center;gap:var(--space-2xs);min-block-size:var(--tap-min);color:var(--color-link);font-family:var(--font-role-body);font-size:var(--text-body);font-weight:var(--weight-strong);text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.dn__more-link:hover{text-decoration:underline;text-decoration-thickness:var(--rule-width);text-underline-offset:.2em}}.dn__more-link:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.dn__more-link[aria-current=page]{text-decoration:underline;text-decoration-thickness:var(--focus-width);text-underline-offset:.2em}.dn__arrow{flex:none;block-size:1.25em;inline-size:1.25em}@keyframes dn-in{0%{opacity:0;transform:translateY(calc(-1 * var(--space-2xs)))}}@keyframes dn-drop{0%{transform:translateY(calc(-1 * var(--space-2xs)))}}@keyframes dn-col-in{0%{opacity:0;transform:translateY(var(--space-3xs))}}@keyframes dn-out{to{opacity:0}}@media (prefers-reduced-motion:no-preference){:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel>.dn__sheet{animation:dn-in var(--motion-fast) var(--ease-out) both}}@media (width>=768px) and (prefers-reduced-motion:no-preference){:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel>.dn__sheet{animation-name:dn-drop}:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel .dn__col{animation:dn-col-in var(--motion-fast) var(--ease-out) backwards}:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel .dn__col:nth-child(2){animation-delay:var(--motion-stagger)}:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel .dn__col:nth-child(3){animation-delay:calc(var(--motion-stagger) * 2)}:root[data-motion]:not([data-motion=reduce]) .dn__item[data-open]>.dn__panel .dn__col:nth-child(n+4){animation-delay:calc(var(--motion-stagger) * 3)}:root[data-motion]:not([data-motion=reduce]) .dn__panel[data-closing]>.dn__sheet{animation:dn-out var(--dn-exit) var(--ease-in) forwards}}@media (prefers-reduced-motion:reduce){.dn__pill,.dn__pill>span,.dn__chevron,.dn__veil,.dn[data-dn-open]>.dn__veil{transition:none}}:root[data-motion=reduce] :is(.dn__pill,.dn__pill>span,.dn__chevron,.dn__veil,.dn[data-dn-open]>.dn__veil){transition:none}@media (width<=767px){html[data-motion] .dn .dn__list{flex-direction:column;align-items:stretch}html[data-motion] .dn .dn__pill{display:none}html[data-motion] .dn .dn__item{border-block-end:var(--rule-width) solid var(--color-rule)}html[data-motion] .dn .dn__top{inline-size:100%;min-block-size:var(--control-height);padding:var(--space-xs) 0;font-family:var(--font-role-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3);text-transform:none;border-radius:0;justify-content:space-between}html[data-motion] .dn .dn__top--pill:before{content:none}html[data-motion] .dn .dn__chevron{block-size:1em;inline-size:1em}html[data-motion] .dn .dn__panel{inline-size:auto;position:static}html[data-motion] .dn .dn__panel:before{content:none}html[data-motion] .dn .dn__sheet{gap:var(--space-m);max-block-size:none;padding:var(--space-3xs) 0 var(--space-l);background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);overflow:visible}html[data-motion] .dn .dn__col{gap:0}html[data-motion] .dn .dn__title{margin-block-end:var(--space-3xs)}html[data-motion] .dn :is(.dn__tile,.dn__desc){display:none}html[data-motion] .dn .dn__entry{border-radius:0;align-items:center;margin-inline:0;padding:0}html[data-motion] .dn .dn__label{font-weight:var(--weight-body);line-height:var(--leading-label)}html[data-motion] .dn .dn__more{border:0;margin-block-start:var(--space-xs);padding-block-start:0}html[data-motion] .dn .dn__more>[data-compact=false]{display:none}html[data-motion] .dn .dn__item--pill{margin-inline-start:0}}@media (forced-colors:active){.dn__pill{display:none}.dn__veil{background:0 0}.dn__sheet,.dn__tile{border-color:canvastext}}@media (hover:hover) and (pointer:fine){.dn__top:hover{color:var(--color-link)}}.dn__top:focus-visible{color:var(--color-link)}.tappsy-mark[data-astro-cid-w5dsho7m]{block-size:var(--mark-size,1em);inline-size:auto;display:block;overflow:visible}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--color-bg);color:var(--color-text);border-block-end:var(--rule-width) solid var(--color-rule);position:sticky;inset-block-start:0}@media not (prefers-reduced-motion:reduce){:root:not([data-motion=reduce]) .site-header[data-astro-cid-nen7h5rs]{transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out)}}.site-header__bar[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-2xs);min-block-size:var(--header-h);display:flex}.wordmark[data-astro-cid-nen7h5rs]{min-block-size:var(--tap-min);font-family:var(--font-role-display);font-weight:var(--weight-display);font-size:var(--wordmark-size);letter-spacing:var(--tracking-h3);color:var(--color-text);white-space:nowrap;align-items:center;margin-inline-end:auto;text-decoration:none;display:inline-flex}.site-nav[data-astro-cid-nen7h5rs]{--dn-panel-inset:max(var(--page-margin), (100% - var(--max-width)) / 2 + var(--page-margin));--dn-panel-gap:calc(var(--rule-width) + var(--space-2xs));--dn-bridge:calc((var(--header-h) - var(--tap-min)) / 2 + var(--dn-panel-gap));--dn-veil-top:calc(var(--header-h) + var(--rule-width))}.site-header[data-astro-cid-nen7h5rs][data-theme^=group-] .site-nav[data-astro-cid-nen7h5rs]{--dn-tint-amount:5%}.header-contact[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs]{min-block-size:var(--tap-min);min-inline-size:var(--tap-min);padding-inline:var(--space-xs);font-family:var(--font-role-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:var(--label-case);color:var(--color-text);justify-content:center;align-items:center;margin-inline-end:calc(-1 * var(--space-xs));display:none}@media (width<=767px){html:not([data-motion]) .site-header__bar[data-astro-cid-nen7h5rs]{padding-block:var(--space-2xs);flex-wrap:wrap}html:not([data-motion]) .site-nav[data-astro-cid-nen7h5rs] .dn__list{flex-wrap:wrap;margin-inline-start:calc(-1 * var(--dn-pad))}html[data-motion] .header-contact[data-astro-cid-nen7h5rs],html[data-motion] .menu-toggle[data-astro-cid-nen7h5rs]{display:inline-flex}html[data-motion] .site-nav[data-astro-cid-nen7h5rs]{block-size:calc(100dvh - var(--header-h));overscroll-behavior:contain;padding:var(--space-s) var(--page-margin) var(--space-xl);background:var(--color-bg);border-block-start:var(--rule-width) solid var(--color-rule);display:none;position:absolute;inset-block-start:100%;inset-inline:0;overflow-y:auto}html[data-motion] .site-header[data-astro-cid-nen7h5rs][data-menu-open] .site-nav[data-astro-cid-nen7h5rs]{display:block}}html[data-menu-open]{overflow:hidden}.site-header[data-astro-cid-nen7h5rs]{--header-pill-h:calc(var(--tap-min) + 2 * var(--space-3xs));--header-pill-top:var(--space-2xs);--header-pill-pad-start:var(--space-s);--header-pill-pad-end:var(--space-3xs);--header-hide-shift:calc(-1 * (var(--header-pill-top) + var(--header-pill-h) + var(--space-2xs)));--header-pill-amount:10%;--color-header-pill:color-mix(in oklab, var(--color-text) var(--header-pill-amount), var(--color-bg))}.site-header[data-astro-cid-nen7h5rs][data-theme^=group-]{--header-pill-amount:5%}@media (width>=768px){.site-header[data-astro-cid-nen7h5rs]{--header-pill-w:40rem;--header-pill-top:var(--space-xs);--header-pill-pad-start:var(--space-m);--header-pill-pad-end:var(--space-2xs)}}@media (width>=1200px){.site-header[data-astro-cid-nen7h5rs]{--header-pill-w:46rem}}.site-header__pill[data-astro-cid-nen7h5rs],.site-header__veil[data-astro-cid-nen7h5rs]{display:none}html[data-motion]:has([data-card-stack]) .site-header[data-astro-cid-nen7h5rs]{min-block-size:var(--header-h);border-block-end-width:0;margin-block-end:calc(-1 * var(--header-h))}html[data-motion] [data-card-stack]>[data-card]:first-child{--card-pin:0px;min-block-size:100svh;padding-block-start:calc(var(--header-h) + var(--section-space))}@media (height<=720px){html[data-motion] [data-card-stack]>[data-card]:first-child{padding-block-start:calc(var(--header-h) + var(--space-l))}}html[data-motion] .site-header__pill[data-astro-cid-nen7h5rs]{inline-size:min(var(--hdr-pill-w,var(--header-pill-w,100%)), 100% - 2 * var(--page-margin));block-size:var(--header-pill-h);border-radius:var(--radius-control);background:var(--color-header-pill);opacity:0;pointer-events:none;margin-inline:auto;display:block;position:absolute;inset-block-start:var(--header-pill-top);inset-inline:0}@media (width>=768px){html[data-motion] .site-header__veil[data-astro-cid-nen7h5rs]{inset:var(--header-h) 0 0;background:var(--color-veil);opacity:0;visibility:hidden;pointer-events:none;transition:opacity calc(var(--motion-fast) / 2) var(--ease-in), visibility 0s calc(var(--motion-fast) / 2);display:block;position:fixed}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .site-header__veil[data-astro-cid-nen7h5rs]{inset-block-start:0}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:has(.dn[data-dn-open]) .site-header__veil[data-astro-cid-nen7h5rs]{opacity:.4;visibility:visible;pointer-events:auto;transition:opacity var(--motion-fast) var(--ease-out)}html[data-motion] .site-nav[data-astro-cid-nen7h5rs] .dn__veil{display:none}html[data-motion] .site-nav[data-astro-cid-nen7h5rs]{--dn-panel-gap:calc((var(--header-h) - var(--tap-min)) / 2 + var(--space-2xs));--dn-bridge:var(--dn-panel-gap);position:relative}html[data-motion] .site-nav[data-astro-cid-nen7h5rs] .dn__panel{inline-size:calc(min(100vw, var(--max-width)) - 2 * var(--page-margin));inset-inline-end:0}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .site-nav[data-astro-cid-nen7h5rs]{--dn-panel-gap:calc((var(--header-pill-h) - var(--tap-min)) / 2 + var(--space-2xs));--dn-cols:2}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .site-nav[data-astro-cid-nen7h5rs] .dn__panel{inline-size:min(var(--header-pill-w), 100vw - 2 * var(--page-margin));inset-inline-end:calc(-1 * var(--header-pill-pad-end))}}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]){pointer-events:none;background-color:#0000}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .site-header__pill[data-astro-cid-nen7h5rs]{opacity:1}html[data-motion] .site-header[data-astro-cid-nen7h5rs][data-hdr=pill] [data-astro-cid-nen7h5rs]:is(.site-header__pill,.wordmark,.header-contact,.menu-toggle,.site-nav){pointer-events:auto}html[data-motion] .site-header__bar[data-astro-cid-nen7h5rs]{pointer-events:none}html[data-motion] .site-header[data-astro-cid-nen7h5rs][data-hdr=top] .site-header__bar[data-astro-cid-nen7h5rs]{pointer-events:auto}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .wordmark[data-astro-cid-nen7h5rs]{translate:var(--hdr-dx-start,0px) var(--hdr-dy,0px)}html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) [data-astro-cid-nen7h5rs]:is(.header-contact,.menu-toggle){translate:var(--hdr-dx-end,0px) var(--hdr-dy,0px)}@media (width>=768px){html[data-motion] .site-header[data-astro-cid-nen7h5rs]:not([data-hdr=top]) .site-nav[data-astro-cid-nen7h5rs]{translate:var(--hdr-dx-end,0px) var(--hdr-dy,0px)}}html[data-motion] .site-header[data-astro-cid-nen7h5rs][data-hdr=hidden] [data-astro-cid-nen7h5rs]:is(.site-header__pill,.site-header__bar){translate:0 var(--header-hide-shift)}@media not (prefers-reduced-motion:reduce){html[data-motion]:not([data-motion=reduce]) .site-header__pill[data-astro-cid-nen7h5rs]{transition:opacity var(--motion-fast) var(--ease-out), translate var(--motion-base) var(--ease-out), background-color var(--motion-fast) var(--ease-out)}html[data-motion]:not([data-motion=reduce]) .site-header__bar[data-astro-cid-nen7h5rs],html[data-motion]:not([data-motion=reduce]) [data-astro-cid-nen7h5rs]:is(.wordmark,.header-contact,.menu-toggle,.site-nav){transition:translate var(--motion-base) var(--ease-out)}html[data-motion]:not([data-motion=reduce]) .site-header[data-astro-cid-nen7h5rs][data-hdr=hidden] [data-astro-cid-nen7h5rs]:is(.site-header__pill,.site-header__bar){transition:opacity var(--motion-fast) var(--ease-out), translate var(--motion-fast) var(--ease-in), background-color var(--motion-fast) var(--ease-out)}html[data-motion] .site-header[data-astro-cid-nen7h5rs][data-hdr-cut] [data-astro-cid-nen7h5rs]:is(.site-header__pill,.site-header__bar,.wordmark,.header-contact,.menu-toggle,.site-nav){transition:none}}[data-rf]{--rf-rise:min(14vh, 110px);--rf-rise-dur:.7s;--rf-rise-ease:var(--ease-out);--rf-draw-dur:3s;--rf-wm-dash:5;--rf-wm-stroke:1px;--rf-wm-glow-stroke:2px;--rf-wm-faint:.5;--rf-wm-dim:.55;position:relative;overflow:clip}:root[data-motion=rich] [data-rf]{--rf-wm-stroke:1.25px}[data-rf-cap]{border-end-end-radius:var(--rf-cap-radius,var(--radius-card));border-end-start-radius:var(--rf-cap-radius,var(--radius-card))}[data-rf=""]{margin-block-start:calc(-1 * var(--rf-cap-radius,var(--radius-card)))}[data-rf-edge]{pointer-events:none;block-size:1px;position:absolute;inset-block-end:0;inset-inline:0}@supports selector(:has(~ *)){:root [data-card-stack][data-card-stack]:has(~[data-rf=""]){z-index:1;border-end-end-radius:var(--rf-cap-radius,var(--radius-card));border-end-start-radius:var(--rf-cap-radius,var(--radius-card));position:relative;inset-block-start:auto;overflow:clip}:root [data-card-stack]:has(~[data-rf=""])>[data-rf-cap]{border-end-end-radius:0;border-end-start-radius:0}@media (width>=768px) and (hover:hover) and (pointer:fine){:root:is([data-motion=rich],[data-motion=touch]) [data-rf=""][data-rf-fits]{position:sticky;inset-block-end:0}}}@supports selector(:has(~ *)) and (animation-timeline:view()){:root [data-card-stack][data-card-stack]:has(~[data-rf=""]){timeline-scope:--rf-cap;animation:1ms linear rf-corner;animation-duration:auto;border-end-end-radius:0;border-end-start-radius:0;animation-timeline:--rf-cap;animation-range:cover}:root [data-card-stack]:has(~[data-rf=""])>[data-rf-cap]{view-timeline-name:--rf-cap;view-timeline-inset:0px}}@keyframes rf-corner{0%,to{border-end-end-radius:var(--rf-cap-radius,var(--radius-card));border-end-start-radius:var(--rf-cap-radius,var(--radius-card))}}[data-rf-state=armed] [data-rf-rise]{transform:translateY(var(--rf-rise))}[data-rf-state=in] [data-rf-rise]{animation:rf-rise var(--rf-rise-dur) var(--rf-rise-ease) backwards}@keyframes rf-rise{0%{transform:translateY(var(--rf-rise))}}[data-rf-wm]{--rf-wm-d:calc(var(--rf-wm-dash) * 100 / var(--rf-wm-vbw) * 100cqi);container-type:inline-size}[data-wm]{stroke-width:var(--rf-wm-stroke)}[data-wm=draw]{stroke:var(--color-accent)}[data-wm=base]{stroke:var(--color-text-muted)}[data-wm=glow]{stroke-width:var(--rf-wm-glow-stroke)}[data-wm=base],[data-wm=glow]{opacity:0}[data-wm-spot] stop:first-child{stop-color:var(--color-group-4)}[data-wm-spot] stop:nth-child(2){stop-color:var(--color-group-2)}[data-wm-spot] stop:nth-child(3){stop-color:var(--color-accent)}[data-wm-spot] stop:nth-child(4){stop-color:var(--color-group-1);stop-opacity:.6}[data-wm-spot] stop:nth-child(5){stop-color:var(--color-group-1);stop-opacity:0}[data-wm-state=armed] [data-wm=draw]{visibility:hidden}[data-wm-state=in] [data-wm=draw]{animation:rf-fade var(--motion-slow) var(--ease-out) backwards}:root[data-motion=rich] [data-wm-state=in] [data-wm=draw]{animation:rf-draw var(--rf-draw-dur) var(--ease-in-out) backwards}@keyframes rf-fade{0%{opacity:0}}@keyframes rf-draw{0%{stroke-dasharray:var(--rf-wm-d) var(--rf-wm-d);stroke-dashoffset:var(--rf-wm-d)}to{stroke-dasharray:var(--rf-wm-d) var(--rf-wm-d);stroke-dashoffset:0}}@media (hover:hover) and (pointer:fine){:root[data-motion=rich] [data-wm-row] [data-wm]{transition:opacity var(--motion-fast) var(--ease-std)}:root[data-motion=rich] [data-wm-row]:hover [data-wm]{transition-duration:var(--motion-base)}:root[data-motion=rich] [data-wm-row]:hover [data-wm=base]{opacity:var(--rf-wm-faint)}:root[data-motion=rich] [data-wm-row]:hover [data-wm=glow]{opacity:1}:root[data-motion=rich] [data-wm-row]:hover [data-wm=draw]{opacity:var(--rf-wm-dim)}}.rf{--rf-glow:22%;--rf-col-min:10.5rem;padding-block-start:calc(var(--section-space) + var(--rf-cap-radius,var(--radius-card)))}.rf[data-rf=plain]{padding-block-start:var(--section-space)}.rf[data-surface]{background:var(--color-bg) radial-gradient(125% 125% at 50% 10%, var(--color-bg) 50%, color-mix(in oklab, var(--color-accent) var(--rf-glow), var(--color-bg)))}.rf__grid{gap:var(--space-xl) var(--gutter);display:grid}.rf__name{font-family:var(--font-role-display);font-weight:var(--weight-display);font-size:var(--wordmark-size);line-height:var(--leading-h3)}.rf__line{max-inline-size:var(--measure-narrow);color:var(--color-text-muted);margin-block-start:var(--space-xs)}.rf__heading{color:var(--color-label);margin-block-end:var(--space-2xs)}.rf__col ul{display:grid}.rf__link,.rf__control{min-block-size:var(--tap-min);min-inline-size:var(--tap-min);color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.rf__link[aria-current],.rf__control{text-decoration:underline}@media (hover:hover) and (pointer:fine){.rf__link:hover{color:var(--color-link);text-decoration:underline;text-decoration-thickness:var(--control-border)}}.rf__link:focus-visible{color:var(--color-link);text-decoration:underline}.rf__row{align-items:center;gap:var(--space-xs);min-block-size:var(--tap-min);display:flex}.rf__icon,.rf__start .arrow{block-size:1.25em;inline-size:1.25em;color:var(--color-link);flex:none}.rf__base{align-items:flex-start;gap:var(--space-2xs) var(--space-l);border-block-start:var(--rule-width) solid var(--color-rule);flex-direction:column;margin-block-start:var(--space-xl);padding-block-start:var(--space-m);display:flex}.rf__socials{column-gap:var(--space-m);flex-wrap:wrap;display:flex}.rf__control{text-decoration-thickness:var(--rule-width);text-underline-offset:.2em}.rf__control[aria-pressed]:before{content:"";block-size:.75em;inline-size:.75em;border:var(--control-border) solid currentColor;border-radius:var(--radius-frame);margin-inline-end:var(--space-2xs)}.rf__control[aria-pressed=true]:before{background:currentColor}.rf__copy{color:var(--color-text-muted)}.rf__mark{aspect-ratio:var(--rf-wm-ratio);min-block-size:0;margin-block-start:var(--space-xl);overflow:clip}.rf__wm{inline-size:100%;font-family:var(--font-wordmark,var(--font-role-display));font-weight:var(--weight-display);display:block}.rf__wm-src{block-size:0;inline-size:0;position:absolute;overflow:hidden}@media (width<=767px){.rf__mark[data-wm-lines="2"]{aspect-ratio:var(--rf-wm-ratio-stack)}.rf__mark[data-wm-lines="2"] [data-wm-row]{display:none}}@media (width>=768px){.rf__grid{grid-template-columns:repeat(8,minmax(0,1fr))}.rf__brand{grid-column:1/-1}.rf__col{grid-column:span 1}.rf__col--wide{grid-column:span 4}.rf__contact{grid-column:span 3}.rf__col--wide ul{columns:2 var(--rf-col-min);column-gap:var(--gutter);display:block}.rf__col--wide li{break-inside:avoid}.rf__base{flex-flow:wrap;align-items:center}.rf__copy{margin-inline-start:auto}.rf__mark [data-wm-stack]{display:none}}@media (width>=1200px){.rf__grid{grid-template-columns:repeat(12,minmax(0,1fr))}.rf__col{grid-column:span 2}.rf__brand,.rf__contact{grid-column:span 3}.rf__col--wide{grid-column:span 4}}.arrow[data-astro-cid-tns2tesc]{vertical-align:-.25em;flex:none;block-size:1.25em;inline-size:1.25em;display:inline-block}@property --card-h{syntax:"<length>";inherits:false;initial-value:100000px}[data-card-stack]{display:block}[data-card]{min-block-size:100svh;padding-block:calc(var(--header-h) + var(--section-space)) var(--section-space);background:var(--color-bg);color:var(--color-text);flex-direction:column;justify-content:center;display:flex;position:relative}[data-card][data-align=start]{justify-content:flex-start}[data-card][data-align=end]{justify-content:flex-end}[data-card-stack]>[data-card]:first-child{--card-pin:var(--header-h);min-block-size:calc(100svh - var(--header-h));padding-block-start:var(--section-space)}@media (height<=720px){[data-card-stack]>[data-card]:first-child{padding-block-start:var(--space-l)}}[data-card]~[data-card],[data-card-stack]~[data-card]{border-start-start-radius:var(--radius-card);border-start-end-radius:var(--radius-card);margin-block-start:calc(-1 * var(--radius-card))}html[data-motion] :is([data-card]:not([data-card=end]),[data-card-stack]){position:sticky;inset-block-start:min(var(--card-pin,0px), 100svh - var(--card-h,100000px))}[data-card=end]{position:relative}html[data-motion] [data-card-stack][data-stack-rest]>[data-card]~[data-card]~[data-card]{margin-block-start:var(--stack-rest,0px)}html[data-motion] [data-card-stack][data-stack-rest]:after{content:"";block-size:var(--stack-rest,0px);display:block}.intro[data-astro-cid-nwktezpe]{display:none}html[data-intro]{overflow:hidden}html[data-intro] .intro[data-astro-cid-nwktezpe]{z-index:0;background:var(--color-paper);display:grid;position:fixed;inset:0}html[data-intro] [data-header]{opacity:0;pointer-events:none}[data-header]{transition:opacity var(--motion-base) var(--ease-out)}html[data-intro] [data-card-stack]>[data-card]:first-child{clip-path:inset(7.5svh 7.5vw round 40px);translate:0 calc(100vh + 200px)}html[data-intro] :is([data-card-stack]>[data-card]:not(:first-child),[data-footer]){visibility:hidden}@media (width<=767px){html[data-intro] [data-card-stack]>[data-card]:first-child{clip-path:inset(7svh 7vw round 32px)}}.intro__shader[data-astro-cid-nwktezpe]{mix-blend-mode:screen;block-size:100%;inline-size:100%;position:absolute;inset:0}.intro__word[data-astro-cid-nwktezpe]{z-index:1;block-size:auto;inline-size:min(82vw,46rem);color:var(--color-ink);grid-area:1/1;place-self:center;position:relative;overflow:visible}.intro__word[data-astro-cid-nwktezpe] path[data-astro-cid-nwktezpe]{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;animation:intro-draw var(--d) var(--e) var(--t) both}@keyframes intro-draw{0%{stroke-dashoffset:1px;opacity:0}1%{opacity:1}to{stroke-dashoffset:0;opacity:1}}:root{--appfont-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, Helvetica, Arial, system-ui, sans-serif;--appfont-header1-size:clamp(3rem, 2.05rem + 4.05vw, 5rem);--appfont-header1-leading:1.05;--appfont-header1-tracking:-.015em;--appfont-header1-weight:600;--appfont-header2-size:clamp(2rem, 1.47rem + 2.25vw, 3.5rem);--appfont-header2-leading:1.0714;--appfont-header2-tracking:-.005em;--appfont-header2-weight:600;--appfont-header3-size:clamp(1.75rem, 1.31rem + 1.88vw, 3rem);--appfont-header3-leading:1.0834;--appfont-header3-tracking:-.003em;--appfont-header3-weight:600;--appfont-title-size:1.5rem;--appfont-title-leading:1.1667;--appfont-title-tracking:.009em;--appfont-title-weight:600;--appfont-eyebrow-size:1.3125rem;--appfont-eyebrow-leading:1.1905;--appfont-eyebrow-tracking:.011em;--appfont-eyebrow-weight:600;--appfont-intro-size:clamp(1.1875rem, 1.14rem + .21vw, 1.3125rem);--appfont-intro-leading:1.381;--appfont-intro-tracking:.011em;--appfont-intro-weight:400;--appfont-body-size:1.0625rem;--appfont-body-leading:1.4706;--appfont-body-tracking:-.022em;--appfont-body-weight:400;--appfont-caption-size:.875rem;--appfont-caption-leading:1.4286;--appfont-caption-tracking:-.016em;--appfont-caption-weight:400;--appfont-label-size:.75rem;--appfont-label-leading:1.3334;--appfont-label-tracking:.06em;--appfont-label-weight:600;--appfont-button-size:1.0625rem;--appfont-button-leading:1.1765;--appfont-button-tracking:-.022em;--appfont-button-weight:400}.appfont-header1,.appfont-header2,.appfont-header3,.appfont-title,.appfont-eyebrow,.appfont-intro,.appfont-body,.appfont-caption,.appfont-label,.appfont-button{font-family:var(--appfont-family)}.appfont-header1{font-size:var(--appfont-header1-size);line-height:var(--appfont-header1-leading);letter-spacing:var(--appfont-header1-tracking);font-weight:var(--appfont-header1-weight)}.appfont-header2{font-size:var(--appfont-header2-size);line-height:var(--appfont-header2-leading);letter-spacing:var(--appfont-header2-tracking);font-weight:var(--appfont-header2-weight)}.appfont-header3{font-size:var(--appfont-header3-size);line-height:var(--appfont-header3-leading);letter-spacing:var(--appfont-header3-tracking);font-weight:var(--appfont-header3-weight)}.appfont-title{font-size:var(--appfont-title-size);line-height:var(--appfont-title-leading);letter-spacing:var(--appfont-title-tracking);font-weight:var(--appfont-title-weight)}.appfont-eyebrow{font-size:var(--appfont-eyebrow-size);line-height:var(--appfont-eyebrow-leading);letter-spacing:var(--appfont-eyebrow-tracking);font-weight:var(--appfont-eyebrow-weight)}.appfont-intro{font-size:var(--appfont-intro-size);line-height:var(--appfont-intro-leading);letter-spacing:var(--appfont-intro-tracking);font-weight:var(--appfont-intro-weight)}.appfont-body{font-size:var(--appfont-body-size);line-height:var(--appfont-body-leading);letter-spacing:var(--appfont-body-tracking);font-weight:var(--appfont-body-weight)}.appfont-caption{font-size:var(--appfont-caption-size);line-height:var(--appfont-caption-leading);letter-spacing:var(--appfont-caption-tracking);font-weight:var(--appfont-caption-weight)}.appfont-label{font-size:var(--appfont-label-size);line-height:var(--appfont-label-leading);letter-spacing:var(--appfont-label-tracking);font-weight:var(--appfont-label-weight);text-transform:uppercase}.appfont-button{font-size:var(--appfont-button-size);line-height:var(--appfont-button-leading);letter-spacing:var(--appfont-button-tracking);font-weight:var(--appfont-button-weight)}:root{--color-paper:#0e0f11;--color-paper-alt:#3d0f2b;--color-ink:#fbf3ef;--color-ink-muted:#b8a9a6;--color-line:#2f2729;--color-dark:#f6ece6;--color-on-dark:#110d0e;--color-on-dark-muted:#6b3a4a;--color-line-on-dark:#e3d2c9;--color-accent:#ff40ab;--color-on-accent:#110d0e;--color-placeholder-1:#1b1617;--color-placeholder-2:#241d1f;--color-placeholder-3:#ebddd5;--color-group-1:#ff40ab;--color-group-2:#f4a5c0;--color-group-3:#b99aa6;--color-group-4:#efd3dc;--color-on-group-1:#110d0e;--color-on-group-2:#110d0e;--color-on-group-3:#110d0e;--color-on-group-4:#110d0e;--color-veil:#0e0f11;--scheme-paper:dark;--scheme-alt:dark;--scheme-dark:light;--scheme-group-1:light;--scheme-group-2:light;--scheme-group-3:light;--scheme-group-4:light;--font-display:var(--appfont-family);--font-wordmark:var(--font-barlow,var(--font-display));--font-body:var(--font-display);--font-role-display:var(--font-display);--font-role-title:var(--font-display);--font-role-h2:var(--font-display);--font-role-h3:var(--font-display);--font-role-body:var(--font-body);--font-role-label:var(--font-body);--font-role-caption:var(--font-body);--text-display:var(--appfont-header1-size);--text-title:var(--text-display);--text-h2:var(--appfont-header2-size);--text-h3:var(--appfont-title-size);--text-lede:var(--appfont-intro-size);--text-body:var(--appfont-body-size);--text-label:.8125rem;--text-caption:var(--appfont-caption-size);--text-button:var(--appfont-button-size);--text-chip:.875rem;--text-stop:.875rem;--text-figure:.9375rem;--wordmark-size:1.25rem;--weight-display:600;--weight-title:600;--weight-h2:600;--weight-h3:600;--weight-body:400;--weight-strong:600;--weight-label:600;--weight-caption:400;--leading-display:var(--appfont-header1-leading);--leading-title:var(--appfont-header1-leading);--leading-h2:var(--appfont-header2-leading);--leading-h3:var(--appfont-title-leading);--leading-lede:var(--appfont-intro-leading);--leading-body:var(--appfont-body-leading);--leading-label:1.2;--leading-stop:1.25;--leading-caption:var(--appfont-caption-leading);--tracking-display:var(--appfont-header1-tracking);--tracking-title:var(--appfont-header1-tracking);--tracking-h2:var(--appfont-header2-tracking);--tracking-h3:var(--appfont-title-tracking);--tracking-body:var(--appfont-body-tracking);--tracking-label:.06em;--tracking-caption:var(--appfont-caption-tracking);--label-case:uppercase;--page-margin:16px;--gutter:16px;--grid-columns:4;--max-width:1440px;--measure:54ch;--measure-narrow:40ch;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:4.5rem;--section-space:clamp(4rem, 3rem + 3vw, 7rem);--band-space:0rem;--radius-frame:4px;--radius:var(--radius-frame);--radius-control:999px;--radius-card:16px;--rule-width:1px;--focus-width:3px;--focus-offset:2px;--tap-min:2.75rem;--control-height:3rem;--control-pad:1.25rem;--control-border:2px;--header-h:4rem;--route-width:6px;--stop-size:1.125rem;--stop-ring:4px;--stripe-width:4px;--ratio-hero:16 / 9;--ratio-hero-phone:4 / 5;--ratio-card:4 / 5;--ratio-inline:3 / 2;--card-width-strip:min(78vw, 22rem);--wipe-covers:1;--wipe-axis:x;--wipe-cover-from:0%;--wipe-cover-to:101%;--wipe-edge-width:6px;--wipe-media-scale:1.1;--wipe-media-shift:0%;--rule-origin:0% 50%;--motion-fast:.35s;--motion-base:.7s;--motion-slow:1s;--motion-stagger:80ms;--motion-stagger-char:35ms;--motion-rise:40px;--motion-wipe-slant:10%;--ease-out:cubic-bezier(.25, 1, .5, 1);--ease-in:cubic-bezier(.5, 0, .75, 0);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-std:cubic-bezier(.25, .1, .25, 1);--ease-spring:linear(0, .07, .235, .438, .638, .811, .943, 1.033, 1.085, 1.106, 1.106, 1.092, 1.071, 1.049, 1.029, 1.012, 1, .993, .989, .988, .989, .991, .994, .996, 1);--scene-breath:4s;--scene-type-char:40ms;--stack-rest:min(25svh, 240px)}@media (width<=991px),(pointer:coarse){:root{--stack-rest:min(15svh, 120px)}}@media (width>=768px){:root{--page-margin:32px;--gutter:24px;--grid-columns:8;--card-width-strip:max(21rem, min(44vw, 28rem, (100svh - var(--header-h) - 22rem) * .8))}}@media (width>=1200px){:root{--page-margin:48px;--gutter:32px;--grid-columns:12;--card-width-strip:max(21rem, min(40vw, 36rem, (100svh - var(--header-h) - 22rem) * .8));--radius-card:24px}}:root,[data-surface=paper],[data-header][data-theme=paper]{--color-bg:var(--color-paper);--color-text:var(--color-ink);--color-text-muted:var(--color-ink-muted);--color-rule:var(--color-line);--color-link:var(--color-accent);--color-focus:var(--color-accent);--color-button:var(--color-accent);--color-on-button:var(--color-on-accent);--color-label:var(--color-accent);--surface-mark:initial;--surface-scheme:var(--scheme-paper)}[data-surface=alt],[data-header][data-theme=alt]{--color-bg:var(--color-paper-alt);--color-text:var(--color-ink);--color-text-muted:var(--color-ink-muted);--color-rule:var(--color-paper);--color-link:var(--color-accent);--color-focus:var(--color-accent);--color-button:var(--color-accent);--color-on-button:var(--color-on-accent);--color-label:var(--color-accent);--surface-mark:initial;--surface-scheme:var(--scheme-alt)}[data-surface=dark],[data-header][data-theme=dark]{--color-bg:var(--color-dark);--color-text:var(--color-on-dark);--color-text-muted:var(--color-on-dark-muted);--color-rule:var(--color-line-on-dark);--color-link:var(--color-on-dark);--color-focus:var(--color-on-dark);--color-button:var(--color-on-dark);--color-on-button:var(--color-dark);--color-label:var(--color-on-dark);--surface-mark:var(--color-on-dark);--surface-scheme:var(--scheme-dark)}[data-surface=group-1],[data-header][data-theme=group-1]{--color-bg:var(--color-group-1);--color-text:var(--color-on-group-1);--color-label:var(--color-on-group-1);--surface-scheme:var(--scheme-group-1)}[data-surface=group-2],[data-header][data-theme=group-2]{--color-bg:var(--color-group-2);--color-text:var(--color-on-group-2);--color-label:var(--color-on-group-2);--surface-scheme:var(--scheme-group-2)}[data-surface=group-3],[data-header][data-theme=group-3]{--color-bg:var(--color-group-3);--color-text:var(--color-on-group-3);--color-label:var(--color-on-group-3);--surface-scheme:var(--scheme-group-3)}[data-surface=group-4],[data-header][data-theme=group-4]{--color-bg:var(--color-group-4);--color-text:var(--color-on-group-4);--color-label:var(--color-on-group-4);--surface-scheme:var(--scheme-group-4)}:is([data-surface^=group-],[data-header][data-theme^=group-]){--color-text-muted:var(--color-text);--color-rule:var(--color-text);--color-link:var(--color-text);--color-focus:var(--color-text);--color-button:var(--color-text);--color-on-button:var(--color-bg);--surface-mark:var(--color-text)}:root,[data-surface],[data-header][data-theme]{--color-selection:var(--color-button);--color-on-selection:var(--color-on-button);--wipe-cover:var(--color-bg);--wipe-edge-color:var(--surface-mark,var(--color-ink))}[data-group="1"]{--group:var(--surface-mark,var(--color-group-1));--on-group:var(--color-on-group-1)}[data-group="2"]{--group:var(--surface-mark,var(--color-group-2));--on-group:var(--color-on-group-2)}[data-group="3"]{--group:var(--surface-mark,var(--color-group-3));--on-group:var(--color-on-group-3)}[data-group="4"]{--group:var(--surface-mark,var(--color-group-4));--on-group:var(--color-on-group-4)}[data-group]{--wipe-edge-color:var(--group)}:root{--sample-plum:var(--color-group-3);--sample-shell:var(--color-dark);--sample-ink:var(--color-on-dark);--sample-rule:var(--color-line-on-dark)}@media (width<=991px){:root{--motion-base:.55s;--motion-slow:.8s;--motion-stagger:60ms;--motion-rise:24px}}:root:is([data-motion=touch],[data-motion=lite]){--motion-base:.55s;--motion-slow:.8s;--motion-stagger:60ms;--motion-rise:24px}:root[data-motion=lite]{--motion-rise:20px}@media (prefers-reduced-motion:reduce){:root{--motion-fast:10ms;--motion-base:10ms;--motion-slow:.2s;--motion-stagger:0s;--motion-stagger-char:0s;--motion-rise:0px}}:root[data-motion=reduce]{--motion-fast:10ms;--motion-base:10ms;--motion-slow:.2s;--motion-stagger:0s;--motion-stagger-char:0s;--motion-rise:0px}html.motion-pending [data-reveal]:not([data-reveal=wipe]){opacity:0}html[data-motion=reduce] [data-reveal]{opacity:1!important}*,:before,:after{box-sizing:border-box}*{margin:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-s));color-scheme:var(--scheme-paper);font-synthesis:none}body{background:var(--color-bg);min-height:100svh;color:var(--color-text);font-family:var(--font-role-body);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;display:flex;overflow-x:clip}main{flex:1 0 auto;display:block}main:focus{outline:none}img,picture,video,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ul[role=list],ol[role=list]{padding:0;list-style:none}p,li,dd,h1,h2,h3,h4{overflow-wrap:break-word}p,li{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}::selection{background:var(--color-selection);color:var(--color-on-selection)}[data-surface]{background:var(--color-bg);color:var(--color-text);color-scheme:var(--surface-scheme)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.t-display,.t-title,.t-h2,.t-h3{color:var(--color-text)}.t-display{font-family:var(--font-role-display);font-size:var(--text-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.t-title{font-family:var(--font-role-title);font-size:var(--text-title);font-weight:var(--weight-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}.t-h2{font-family:var(--font-role-h2);font-size:var(--text-h2);font-weight:var(--weight-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.t-h3{font-family:var(--font-role-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.t-lede{font-size:var(--text-lede);line-height:var(--leading-lede);max-inline-size:var(--measure)}.t-muted{color:var(--color-text-muted)}.t-label{font-family:var(--font-role-label);font-size:var(--text-label);font-weight:var(--weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:var(--label-case)}.t-caption{font-family:var(--font-role-caption);font-size:var(--text-caption);font-weight:var(--weight-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption)}a{color:var(--color-link);text-decoration-thickness:var(--rule-width);text-underline-offset:.2em}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:var(--focus-width)}}a:focus-visible{text-decoration-thickness:var(--focus-width)}.link-standalone{min-block-size:var(--tap-min);min-inline-size:var(--tap-min);font-weight:var(--weight-strong);align-items:center;display:inline-flex}.wrap{inline-size:100%;max-inline-size:var(--max-width);padding-inline:var(--page-margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.section{padding-block:var(--section-space)}.section-head{gap:var(--space-s);align-content:start;margin-block-end:var(--space-xl);display:grid}.section-head>p{max-inline-size:var(--measure)}.stack>*+*{margin-block-start:var(--stack-space,var(--space-s))}.measure{max-inline-size:var(--measure)}.actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.button{min-block-size:var(--control-height);min-inline-size:var(--tap-min);padding-inline:var(--control-pad);border:var(--control-border) solid var(--color-button);border-radius:var(--radius-control);background:var(--color-button);color:var(--color-on-button);font-size:var(--text-button);font-weight:var(--weight-strong);text-align:center;justify-content:center;align-items:center;line-height:1.2;text-decoration:none;display:inline-flex}.button--secondary{border-color:var(--color-text);color:var(--color-text);background:0 0}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--color-bg);color:var(--color-text)}.button--secondary:hover{background:var(--color-button);color:var(--color-on-button)}}.button:focus-visible{background:var(--color-bg);color:var(--color-text)}.button--secondary:focus-visible{background:var(--color-button);color:var(--color-on-button)}@media (hover:none){.button:active{transform:scale(.98)}}.link-standalone>.arrow,.button>.arrow{margin-inline-start:var(--space-2xs)}.route-seg{border-radius:var(--radius-control);background:var(--group,var(--color-text));position:absolute}.route-ring{z-index:1;inline-size:var(--stop-size);block-size:var(--stop-size);border:var(--stop-ring) solid var(--group,var(--color-text));border-radius:var(--radius-control);background:var(--color-bg);flex:none;display:block;position:relative}.route-ring.is-current{background:var(--group,var(--color-text))}.route-name{font-size:var(--text-stop);font-weight:var(--weight-label);line-height:var(--leading-stop)}.tag{padding-inline:var(--space-2xs);padding-block:var(--space-3xs);border:var(--rule-width) solid currentColor;align-items:center;display:inline-flex}.prose{max-inline-size:var(--measure)}.prose>*+*{margin-block-start:var(--space-s)}.prose h2{font-family:var(--font-role-h2);font-size:var(--text-h2);font-weight:var(--weight-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);margin-block-start:var(--space-2xl)}.prose h3{font-family:var(--font-role-h3);font-size:var(--text-h3);font-weight:var(--weight-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3);margin-block-start:var(--space-xl)}.prose h2+*,.prose h3+*{margin-block-start:var(--space-s)}.prose>:first-child{margin-block-start:0}.prose ul,.prose ol{padding-inline-start:var(--space-m)}.prose li+li{margin-block-start:var(--space-2xs)}.prose li::marker{color:var(--color-text-muted)}.prose strong{font-weight:var(--weight-strong)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}html:not([data-motion]) .needs-js{display:none!important}[data-card][data-surface=paper]{--card-top:var(--color-paper);--card-foot:var(--color-paper-alt)}[data-card][data-surface=alt]{--card-top:color-mix(in oklab, var(--color-paper) 45%, var(--color-paper-alt));--card-foot:color-mix(in oklab, var(--color-accent) 16%, var(--color-paper-alt))}[data-card]:is([data-surface=paper],[data-surface=alt]){background:radial-gradient(125% 125% at 50% 10%, var(--card-top) 40%, var(--card-foot) 100%) var(--card-top)}.wordmark{--mark-size:2.125rem}.rf__name{--mark-size:3rem}.rf__name .tappsy-mark{color:var(--color-text)}html[data-motion=reduce] [data-reveal-children]>*{opacity:1!important}@keyframes hero-in{0%{opacity:.1;transform:translateY(.35em)}}@keyframes rv-in{0%{opacity:.1;transform:translateY(.35em)}}@keyframes rv-rise{0%{opacity:.1;transform:translateY(var(--motion-rise))}}@keyframes rv-rule{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) [data-hero]>*{animation:hero-in var(--motion-slow) var(--ease-out) backwards}:root:not([data-motion=reduce]) [data-hero]>:nth-child(2){animation-delay:var(--motion-stagger)}:root:not([data-motion=reduce]) [data-hero]>:nth-child(3){animation-delay:calc(var(--motion-stagger) * 2)}:root:not([data-motion=reduce]) [data-hero]>:nth-child(n+4){animation-delay:calc(var(--motion-stagger) * 3)}:root:not([data-motion=reduce]) [data-reveal-children]>:not([data-reveal-js]){animation:hero-in var(--motion-slow) var(--ease-out) calc(var(--motion-stagger) * 4) backwards}:root:not([data-motion=reduce]) [data-reveal-children]>:nth-child(2):not([data-reveal-js]){animation-delay:calc(var(--motion-stagger) * 5)}:root:not([data-motion=reduce]) [data-reveal-children]>:nth-child(3):not([data-reveal-js]){animation-delay:calc(var(--motion-stagger) * 6)}:root:not([data-motion=reduce]) [data-reveal-children]>:nth-child(n+4):not([data-reveal-js]){animation-delay:calc(var(--motion-stagger) * 7)}:root:not([data-motion=reduce]) [data-reveal-in]{animation:rv-in var(--motion-slow) var(--ease-out) var(--rv-delay,0s) backwards}:root:not([data-motion=reduce]) [data-reveal-in=rise]{animation-name:rv-rise}:root:not([data-motion=reduce]) [data-reveal-in=rule]{transform-origin:var(--rule-origin);animation-name:rv-rule}:root:not([data-motion=reduce]) [data-reveal-in=count],:root:not([data-motion=reduce]) [data-reveal-in=rule][data-route]{animation:none}:root:not([data-motion=reduce]) [data-reveal-in=rule][data-route]:before{animation:rv-route var(--motion-slow) var(--ease-out) var(--rv-delay,0s) backwards}}@keyframes rv-route{0%{transform:translate(calc(-101% * var(--route-dx,1)), calc(-101% * var(--route-dy,0)))}}.route-seg[data-route]{background:0 0;overflow:hidden}.route-seg[data-route]:before{content:"";border-radius:inherit;background:var(--group,var(--color-text));transform:translate(calc((var(--draw,1) - 1) * 101% * var(--route-dx,1)), calc((var(--draw,1) - 1) * 101% * var(--route-dy,0)));position:absolute;inset:0}html.motion-pending:not([data-motion=reduce]) [data-reveal=wipe] [data-media-frame]:after{content:"";z-index:2;pointer-events:none;background:var(--wipe-cover);position:absolute;inset:0}.wipe-cover{z-index:2;pointer-events:none;background:var(--wipe-cover);position:absolute;inset:0}.wipe-cover[data-axis=x][data-part=a]{inset-inline-end:50%}.wipe-cover[data-axis=x][data-part=b]{inset-inline-start:50%}.wipe-cover[data-axis=y][data-part=a]{inset-block-end:50%}.wipe-cover[data-axis=y][data-part=b]{inset-block-start:50%}.wipe-cover:after{content:"";background:var(--wipe-edge-color);position:absolute}.wipe-cover[data-axis=x]:after{inline-size:var(--wipe-edge-width);inset-block:0}.wipe-cover[data-axis=y]:after{block-size:var(--wipe-edge-width);inset-inline:0}.wipe-cover[data-axis=x][data-edge=end]:after{inset-inline-end:0}.wipe-cover[data-axis=x][data-edge=start]:after{inset-inline-start:0}.wipe-cover[data-axis=y][data-edge=end]:after{inset-block-end:0}.wipe-cover[data-axis=y][data-edge=start]:after{inset-block-start:0}.rv-line-mask{margin-block:-.04em;padding-block:.04em}[data-rv-split]{flex-direction:column;display:flex}@media (hover:hover) and (pointer:fine){.button{transition:background-color var(--motion-fast) var(--ease-std), color var(--motion-fast) var(--ease-std), border-color var(--motion-fast) var(--ease-std)}}@keyframes menu-in{0%{opacity:0}}@keyframes menu-link-in{0%{opacity:0;transform:translateY(calc(var(--motion-rise) / 2))}}@keyframes menu-out{to{opacity:0}}@media (width<=767px) and (prefers-reduced-motion:no-preference){:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-open] .site-nav{animation:menu-in var(--motion-fast) var(--ease-out) both}:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-open] .site-nav .dn__list>li{animation:menu-link-in var(--motion-fast) var(--ease-out) backwards}:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-open] .site-nav .dn__list>li:nth-child(2){animation-delay:var(--motion-stagger)}:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-open] .site-nav .dn__list>li:nth-child(3){animation-delay:calc(var(--motion-stagger) * 2)}:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-open] .site-nav .dn__list>li:nth-child(n+4){animation-delay:calc(var(--motion-stagger) * 3)}:root:is([data-motion=touch],[data-motion=lite]) .site-header[data-menu-closing]:not([data-menu-open]) .site-nav{pointer-events:none;animation:menu-out var(--motion-fast) var(--ease-out) forwards;display:block}}@keyframes pan{to{transform:translateX(calc(-1 * var(--pan-travel,0px)))}}@supports (animation-timeline:view()){:root[data-motion=rich] .strip[data-pan-active]{block-size:calc(100svh - var(--header-h) + var(--pan-distance,0px));view-timeline:--pan block;view-timeline-inset:var(--header-h) 0px}:root[data-motion=rich] .strip[data-pan-active] .strip__stage{block-size:calc(100svh - var(--header-h));flex-direction:column;justify-content:safe center;display:flex;position:sticky;inset-block-start:var(--header-h)}:root[data-motion=rich] .strip[data-pan-active] .strip__viewport{scroll-snap-type:none;overflow:clip}:root[data-motion=rich] .strip[data-pan-active] .strip__track{animation-name:pan;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;animation-timeline:--pan;animation-range:contain 3% contain 97%}}@keyframes progress{0%{transform:scaleX(0)}}@supports (animation-timeline:scroll()){:root:is([data-motion=rich],[data-motion=touch]) [data-header]:after{content:"";background:var(--color-link);transform-origin:0%;pointer-events:none;block-size:2px;animation:1ms linear both progress;animation-duration:auto;animation-timeline:scroll(root);position:absolute;inset-block-start:0;inset-inline:0}}.card-rest{visibility:hidden;pointer-events:none;block-size:1px;position:absolute;inset-block-end:0;inset-inline:0}@keyframes cine-track{0%{opacity:0;filter:var(--cine-blur,blur(20px));transform:perspective(60rem)translateY(60px)scale(.85)rotateX(-20deg)}to{opacity:1;filter:none;transform:none}}@keyframes cine-sweep{0%{opacity:1;clip-path:inset(-.2em 100% -.2em 0)}to{opacity:1;clip-path:inset(-.2em 0)}}:root:is([data-motion=rich],[data-motion=touch]) [data-cine]{opacity:0}:root[data-motion=touch] [data-cine]{--cine-blur:none}:root:is([data-motion=rich],[data-motion=touch]) :is([data-cine][data-cine-at=load],[data-cine][data-cine-on]){animation:var(--cine-name) var(--cine-dur) var(--cine-ease) var(--cine-delay,var(--cine-delay-default)) both}[data-cine=track]{--cine-name:cine-track;--cine-dur:1.8s;--cine-ease:cubic-bezier(.16, 1, .3, 1);--cine-delay-default:0s}[data-cine=sweep]{--cine-name:cine-sweep;--cine-dur:1.4s;--cine-ease:cubic-bezier(.76, 0, .24, 1);--cine-delay-default:.8s}:root:is([data-motion=rich],[data-motion=touch]) [data-cine][data-cine-done]{opacity:1;animation:none}html[data-intro]:not([data-intro=land]) [data-cine]{animation-play-state:paused!important}.skip[data-astro-cid-hkbrpulz]{z-index:100;min-block-size:var(--tap-min);padding-inline:var(--space-s);background:var(--color-ink);color:var(--color-paper);font-weight:var(--weight-strong);transform:translateY(calc(-100% - var(--space-s)));align-items:center;text-decoration:none;display:inline-flex;position:absolute;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs)}.skip[data-astro-cid-hkbrpulz]:focus-visible{outline-color:var(--color-ink);transform:none}
