.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}@layer tokens{:root{--c-magenta-50:#fff0f7;--c-magenta-100:#ffdcec;--c-magenta-200:#ffb3d6;--c-magenta-300:#ff8fc4;--c-magenta-400:#ff4d9e;--c-magenta-500:#d6006e;--c-magenta-600:#b30059;--c-magenta-700:#8a0045;--c-amber-400:#ffb020;--c-amber-700:#8f5a00;--c-status-info:#2a5b8c;--c-status-info-dark:#7fb3e0;--c-status-success:#0f7a52;--c-status-success-dark:#4fcb96;--c-status-warning:#8f5a00;--c-status-warning-dark:#ffb020;--c-status-error:#a81020;--c-status-error-dark:#ff6b78;--c-code-ins-wash-light:#e5f3ec;--c-code-ins-wash-dark:#102018;--c-code-del-wash-light:#f8e6e9;--c-code-del-wash-dark:#301217;--c-ink-950:#120810;--c-ink-900:#150a10;--c-ink-800:#1e0e17;--c-ink-700:#2a1420;--c-ink-600:#3d2130;--c-ink-500:#5a3646;--c-ink-400:#6b4c5c;--c-ink-350:#8a6a79;--c-ink-250:#7e6070;--c-ink-300:#9b7c8b;--c-ink-200:#c4aeb8;--c-ink-150:#e4d8de;--c-ink-100:#f2eaee;--c-ink-50:#faf4f7;--c-white:#fff;--bg:var(--c-ink-50);--bg-surface:var(--c-white);--bg-sunken:var(--c-ink-100);--bg-code:var(--c-ink-100);--overlay:var(--c-ink-900);--code-chrome-bg:var(--c-magenta-50);--code-mark-bg:var(--c-magenta-100);--code-mark-border:var(--c-magenta-500);--code-ins-bg:var(--c-code-ins-wash-light);--code-ins-border:var(--c-status-success);--code-del-bg:var(--c-code-del-wash-light);--code-del-border:var(--c-status-error);--fg:var(--c-ink-900);--fg-muted:var(--c-ink-400);--fg-subtle:var(--c-ink-300);--fg-onbrand:var(--c-white);--border:var(--c-ink-150);--border-strong:var(--c-ink-200);--border-edge:var(--c-ink-200);--border-control:var(--c-ink-350);--border-brand:var(--c-magenta-500);--brand:var(--c-magenta-500);--brand-hover:var(--c-magenta-600);--logo-liquid:var(--c-magenta-300);--brand-wash:var(--c-magenta-50);--accent:var(--c-amber-400);--accent-text:var(--c-amber-700);--focus-ring:var(--c-magenta-500);--status-info:var(--c-status-info);--status-success:var(--c-status-success);--status-warning:var(--c-status-warning);--status-error:var(--c-status-error);--font-display:var(--font-archivo,"Archivo"), "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-source-serif,"Source Serif 4"), Georgia, "Times New Roman", serif;--font-mono:var(--font-jetbrains-mono,"JetBrains Mono"), ui-monospace, "SF Mono", Menlo, monospace;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-md:.9375rem;--text-base:1.125rem;--text-lg:1.25rem;--text-xl:1.4375rem;--text-2xl:clamp(1.625rem, 1.2rem + 1.6vw, 1.875rem);--text-3xl:clamp(2rem, 1.4rem + 2.6vw, 2.5rem);--text-4xl:clamp(2.5rem, 1.6rem + 4.2vw, 3.75rem);--leading-display:.98;--leading-tight:1.16;--leading-snug:1.4;--leading-ui:1.5;--leading-body:1.7;--tracking-display:-.035em;--tracking-tight:-.018em;--tracking-normal:0;--tracking-mono:.02em;--tracking-caps:.14em;--weight-regular:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--u:.25rem;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-6:1.5rem;--sp-8:2rem;--sp-12:3rem;--sp-16:4rem;--sp-24:6rem;--sp-32:8rem;--w-prose:42rem;--w-wide:58rem;--w-max:72rem;--gutter:clamp(1.25rem, 4vw, 2.5rem);--article-card-rule-size:3px;--control-rule-size:2px;--link-rule-size:1px;--link-underline-offset:.2em;--drawer-width:88vw;--drawer-max-width:24rem;--radius-sm:2px;--radius:3px;--radius-lg:4px;--shadow-1:0 1px 2px #150a100f;--shadow-2:0 4px 16px -2px #150a101a;--shadow-3:0 12px 40px -8px #150a1029;--ease:cubic-bezier(.2, .8, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.7, 0, .3, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--dur-loop:.7s}:root[data-theme=dark],.scheme-inverse{--bg:var(--c-ink-900);--bg-surface:var(--c-ink-800);--bg-sunken:var(--c-ink-950);--bg-code:var(--c-ink-800);--code-chrome-bg:var(--c-ink-950);--code-mark-bg:var(--c-ink-700);--code-mark-border:var(--c-magenta-400);--code-ins-bg:var(--c-code-ins-wash-dark);--code-ins-border:var(--c-status-success-dark);--code-del-bg:var(--c-code-del-wash-dark);--code-del-border:var(--c-status-error-dark);--fg:var(--c-ink-100);--fg-muted:var(--c-ink-300);--fg-subtle:var(--c-ink-400);--fg-onbrand:var(--c-white);--border:var(--c-ink-500);--border-strong:var(--c-ink-400);--border-edge:var(--c-ink-400);--border-control:var(--c-ink-250);--brand:var(--c-magenta-400);--brand-hover:var(--c-magenta-300);--brand-wash:#d6006e24;--accent-text:var(--c-amber-400);--focus-ring:var(--c-magenta-300);--status-info:var(--c-status-info-dark);--status-success:var(--c-status-success-dark);--status-warning:var(--c-status-warning-dark);--status-error:var(--c-status-error-dark);--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px -2px #00000080;--shadow-3:0 12px 40px -8px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--c-ink-900);--bg-surface:var(--c-ink-800);--bg-sunken:var(--c-ink-950);--bg-code:var(--c-ink-800);--code-chrome-bg:var(--c-ink-950);--code-mark-bg:var(--c-ink-700);--code-mark-border:var(--c-magenta-400);--code-ins-bg:var(--c-code-ins-wash-dark);--code-ins-border:var(--c-status-success-dark);--code-del-bg:var(--c-code-del-wash-dark);--code-del-border:var(--c-status-error-dark);--fg:var(--c-ink-100);--fg-muted:var(--c-ink-300);--fg-subtle:var(--c-ink-400);--border:var(--c-ink-500);--border-strong:var(--c-ink-400);--border-edge:var(--c-ink-400);--border-control:var(--c-ink-250);--brand:var(--c-magenta-400);--brand-hover:var(--c-magenta-300);--brand-wash:#d6006e24;--accent-text:var(--c-amber-400);--focus-ring:var(--c-magenta-300);--status-info:var(--c-status-info-dark);--status-success:var(--c-status-success-dark);--status-warning:var(--c-status-warning-dark);--status-error:var(--c-status-error-dark);--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px -2px #00000080;--shadow-3:0 12px 40px -8px #0009}}.scheme-inverse{color-scheme:dark;background:var(--bg);color:var(--fg)}}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4{overflow-wrap:break-word}:where(ul,ol)[class]{padding:0;list-style:none}}@layer base{html{scroll-behavior:smooth;scroll-padding-top:var(--sp-16)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);font-variant-numeric:oldstyle-nums}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;font-variant-numeric:lining-nums}h1{font-size:var(--text-3xl)}a{color:var(--brand);text-decoration-thickness:var(--link-rule-size);text-underline-offset:var(--link-underline-offset);text-decoration-color:color-mix(in oklab, var(--brand) 40%, transparent);transition:text-decoration-color var(--dur-fast) var(--ease)}a:hover{text-decoration-color:var(--brand)}a:not(:where(.link-sip,.btn,.tag,.post-card__link,.article-nav__link,.stat__source,.skip-link,[aria-disabled=true])):is(:hover,:focus-visible){text-decoration-color:var(--brand);transition-duration:var(--dur)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}code,kbd,samp,pre{font-family:var(--font-mono);font-variant-ligatures:none;letter-spacing:var(--tracking-mono)}::selection{background:var(--c-magenta-500);color:var(--c-white)}}@layer prose{.prose{--prose-block-space:var(--sp-8);--prose-wide-width:min(var(--w-wide), calc(100vw - (var(--gutter) * 2)));max-width:var(--w-prose);margin-inline:auto}.prose>*+*{margin-top:var(--sp-6)}.prose>:where(figure,blockquote,.callout,.expressive-code,pre,table,.prose-block):where(:not(:first-child)),.prose>:where(figure,blockquote,.callout,.expressive-code,pre,table,.prose-block)+:where(p,ul,ol,figure,blockquote,.callout,.expressive-code,pre,table,.prose-block){margin-block-start:var(--prose-block-space)}.prose>:where(h2,h3,h4)+:where(figure,blockquote,.callout,.expressive-code,pre,table,.prose-block){margin-block-start:var(--sp-6)}@media (width>=40rem){.prose{--prose-block-space:var(--sp-12)}}.prose h2{font-size:var(--text-2xl);margin-top:var(--sp-12);margin-bottom:calc(var(--sp-6) * -1 + var(--sp-4));scroll-margin-top:var(--sp-16)}@media (width>=40rem){.prose h2{margin-top:var(--sp-16)}}.prose h3{font-size:var(--text-xl);margin-top:var(--sp-12);margin-bottom:calc(var(--sp-6) * -1 + var(--sp-3));scroll-margin-top:var(--sp-16)}.prose h4{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-muted);margin-top:var(--sp-12)}.prose .lead{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--fg-muted)}.prose strong{font-weight:var(--weight-semi)}.prose em{font-style:italic}.prose :is(ul,ol){padding-left:var(--sp-6);gap:var(--sp-2);display:grid}.prose ul{list-style:none}.prose ul>li{position:relative}.prose ul>li:before{content:"";left:calc(var(--sp-6) * -1 + 2px);background:var(--brand);width:5px;height:5px;position:absolute;top:.72em}.prose ol{list-style:decimal}.prose ol>li::marker{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--brand)}.prose blockquote{border-left:2px solid var(--brand);padding-left:var(--sp-6);color:var(--fg-muted);font-style:italic}.prose>blockquote{padding-block:var(--sp-2)}.prose :not(pre)>code{background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.12em .36em;font-size:.86em}.prose pre:not(:where(.expressive-code *)){width:var(--prose-wide-width);max-width:none;margin-inline:calc((100% - var(--prose-wide-width)) / 2);background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-6);font-size:var(--text-sm);line-height:var(--leading-ui);tab-size:2;overflow-x:auto}.prose pre:not(:where(.expressive-code *)) code{font-size:inherit;background:0 0;border:0;padding:0}.prose .expressive-code{width:var(--prose-wide-width);max-width:none;margin-inline:calc((100% - var(--prose-wide-width)) / 2)}.prose figure{gap:var(--sp-3);display:grid}.prose figcaption{font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-ui);color:var(--fg-muted)}.prose hr{background:var(--border);height:1px;margin-block:var(--sp-16);border:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-ui)}.prose :is(th,td){text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.prose th{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-muted);font-weight:var(--weight-regular)}}@layer components{.link-sip{--sip-motion:none;--sip-spark-motion:none;text-decoration:none;display:inline-block;position:relative}.link-sip:before{content:"";inset-inline:0;block-size:var(--control-rule-size);background:var(--brand);opacity:0;transform-origin:bottom;pointer-events:none;animation-name:var(--sip-motion);animation-duration:var(--dur-slow);animation-timing-function:var(--ease);animation-fill-mode:both;position:absolute;bottom:0}.link-sip:after{content:"";inset-inline-end:0;bottom:var(--control-rule-size);inline-size:var(--sp-1);block-size:var(--sp-1);background:var(--accent);box-shadow:calc(var(--sp-2) * -1) var(--sp-1) 0 var(--brand-hover);opacity:0;pointer-events:none;animation-name:var(--sip-spark-motion);animation-duration:var(--dur-slow);animation-timing-function:var(--ease);animation-fill-mode:both;position:absolute}.link-sip[aria-current=page]:before{opacity:1}@keyframes link-sip{0%{opacity:1;transform:scaleY(1)}38%{opacity:1;transform:scaleY(2)}to{opacity:1;transform:scaleY(1)}}@keyframes link-spark{0%,12%{opacity:0;transform:translateY(0)}28%{opacity:1}to{opacity:0;transform:translateY(calc(var(--sp-3) * -1))}}@media (prefers-reduced-motion:no-preference){.link-sip:not([aria-disabled=true]):focus-visible{--sip-motion:link-sip;--sip-spark-motion:link-spark}@media (hover:hover){.link-sip:not([aria-disabled=true]):hover{--sip-motion:link-sip;--sip-spark-motion:link-spark}}}.link-sip:is(:hover,:focus-visible):not([aria-disabled=true]):before{opacity:1}.meta{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-muted)}.container{max-width:var(--w-max);padding-inline:var(--gutter);margin-inline:auto}.container-wide{max-width:var(--w-wide);padding-inline:var(--gutter);margin-inline:auto}.container-prose{max-width:var(--w-prose);padding-inline:var(--gutter);margin-inline:auto}.post-list{gap:0;padding-inline-start:0;list-style:none;display:grid}.post-list>li:before{content:none}.post-list--grid{gap:var(--sp-6)}.post-list--grid>li{display:grid}@media (width>=40rem){.post-list--grid{grid-template-columns:repeat(2,1fr)}}.post-card{--post-card-glass:var(--brand);--post-card-juice:color-mix(in srgb, var(--brand) 58%, var(--fg-onbrand));padding-block:var(--sp-8);border-bottom:1px solid var(--border);align-content:start;display:grid;position:relative}.post-card:after{inline-size:100%;block-size:var(--article-card-rule-size);background:var(--post-card-glass);pointer-events:none;clip-path:inset(100% 0 0);content:"";position:absolute;inset-block-end:0;inset-inline-start:0}.post-card:is(:hover,:focus-within):after{clip-path:inset(0)}.post-card:active{--post-card-glass:var(--brand-hover)}.post-card__fizz{block-size:var(--sp-1);pointer-events:none;position:absolute;inset-block-end:var(--sp-1);inset-inline:0}.post-card__fizz i{inline-size:var(--sp-2);block-size:var(--sp-2);background:var(--accent);opacity:0;position:absolute;inset-block-end:0;inset-inline-start:28%}.post-card__fizz i:nth-child(2){background:var(--fg-onbrand);inset-inline-start:54%}.post-card__fizz i:nth-child(3){inset-inline-start:79%}.post-card__body{align-content:start;gap:var(--sp-2);min-inline-size:0;display:grid}.post-card__media{border-radius:var(--radius-sm);background:var(--bg-surface);position:relative;overflow:hidden}.post-card__media:before,.post-card__media:after{z-index:1;inline-size:var(--sp-2);block-size:var(--sp-2);background:var(--brand);pointer-events:none;opacity:0;content:"";position:absolute;inset-block-end:var(--sp-2)}.post-card__media:before{inset-inline-start:var(--sp-6)}.post-card__media:after{inline-size:var(--sp-1);block-size:var(--sp-1);background:var(--accent);inset-inline-end:var(--sp-8)}.post-card__image{aspect-ratio:3/2;object-fit:cover;block-size:auto;inline-size:100%;display:block}.post-card--with-image{gap:var(--sp-6)}@media (width>=40rem){.post-card--with-image:not(.post-card--grid){grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.post-card__meta{align-items:center;gap:var(--sp-2);display:flex}.post-card__title{font-size:var(--text-xl);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);margin-block:0}.post-card__title a{color:var(--fg);text-decoration:none}.post-card__title a:after{content:"";position:absolute;inset:0}.post-card:is(:hover,:focus-within) .post-card__title a{color:var(--brand)}.post-card:active .post-card__title a{color:var(--brand-hover)}.post-card__title a:focus-visible{outline:none}.post-card__title a:focus-visible:after{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.post-card__excerpt{color:var(--fg-muted);font-size:var(--text-base);line-height:var(--leading-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-card__extra{position:relative}@media (prefers-reduced-motion:no-preference){.post-card:after{block-size:calc(var(--article-card-rule-size) + var(--sp-1));background:linear-gradient(to right, color-mix(in srgb, var(--post-card-juice) 90%, transparent), color-mix(in srgb, var(--post-card-juice) 80%, var(--fg-onbrand)) 45%, color-mix(in srgb, var(--post-card-juice) 90%, transparent)) left top / 100% var(--sp-1) no-repeat, linear-gradient(var(--post-card-glass), var(--post-card-glass)) left bottom / 100% var(--article-card-rule-size) no-repeat}.post-card:is(:hover,:focus-within):after{animation:post-card-rule-pour calc((var(--dur-loop) - var(--dur-fast)) * .7) linear both}.post-card:is(:hover,:focus-within) .post-card__fizz i{animation:post-card-rule-fizz var(--dur-slow) var(--ease-in) var(--dur) both}.post-card:is(:hover,:focus-within) .post-card__fizz i:nth-child(2){animation-delay:calc(var(--dur) + var(--dur-fast))}.post-card:is(:hover,:focus-within) .post-card__fizz i:nth-child(3){animation-name:post-card-rule-fizz-short}.post-card__image{transition:filter var(--dur) var(--ease)}.post-card:is(:hover,:focus-within) .post-card__image{filter:saturate(1.08)contrast(1.03)}.post-card:is(:hover,:focus-within) .post-card__media:before{animation:post-card-fizz-left var(--dur-slow) var(--ease-in) both}.post-card:is(:hover,:focus-within) .post-card__media:after{animation:post-card-fizz-right var(--dur-slow) var(--ease-in) var(--dur-fast) both}}@keyframes post-card-fizz-left{0%{opacity:0;transform:translate(0)}20%,70%{opacity:1}to{opacity:0;transform:translate(var(--sp-1), calc(var(--sp-8) * -1))}}@keyframes post-card-fizz-right{0%{opacity:0;transform:translate(0)}20%,70%{opacity:1}to{opacity:0;transform:translate(calc(var(--sp-1) * -1), calc(var(--sp-6) * -1))}}@keyframes post-card-rule-fizz{0%{opacity:0;transform:translateY(0)}20%,60%{opacity:.85}to{opacity:0;transform:translateY(calc(var(--sp-3) * -1))}}@keyframes post-card-rule-pour{0%{clip-path:inset(100% 0 0);animation-timing-function:var(--ease)}30%{clip-path:inset(0)}65%{clip-path:inset(0);animation-timing-function:var(--ease-in)}to{clip-path:inset(var(--sp-1) 0 0)}}@keyframes post-card-rule-fizz-short{0%{opacity:0;transform:translateY(0)}20%,60%{opacity:.85}to{opacity:0;transform:translateY(calc(var(--sp-2) * -1))}}.post-card--grid{padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.post-card--grid:before{content:"";inline-size:var(--sp-8);block-size:var(--sp-1);background:var(--brand)}.tag{--tag-motion:none;--control-glint:var(--brand-hover);overflow-wrap:anywhere;max-inline-size:100%;min-height:24px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);padding:2px var(--sp-2);border:1px solid var(--border-control);border-radius:var(--radius-sm);color:var(--fg-muted);align-items:center;text-decoration:none;display:inline-flex;position:relative}a.tag:not([aria-disabled=true]):is(:hover,:focus-visible,:active){border-color:var(--brand);color:var(--brand)}.btn{--button-effect:button-reflection;--button-motion:none;--control-glint:var(--fg-onbrand);--button-fizz-left:calc(50% - var(--sp-2));--button-fizz-right:calc(50% + var(--sp-2));justify-content:center;align-items:center;gap:var(--sp-2);min-height:40px;font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-ui);font-weight:var(--weight-medium);padding:var(--sp-1) var(--sp-6);border-radius:var(--radius);background:var(--brand);color:var(--fg-onbrand);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}.btn:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover,.btn:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):active{background:var(--brand-hover)}.btn--ghost{--control-glint:var(--brand);color:var(--brand);border-color:var(--border-control);background:0 0}.btn--ghost:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover,.btn--ghost:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):active{background:var(--brand-wash);border-color:var(--brand)}.btn--sm{min-height:32px;padding:var(--sp-1) var(--sp-4);font-size:var(--text-sm)}@media (width<=39.999rem){.btn:not(.btn--ghost):not(.btn--sm){min-height:48px}}.btn:disabled,.btn[aria-disabled=true]{background:var(--bg-sunken);border-color:var(--border-control);color:var(--fg-muted);cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn:before,a.tag:not([aria-disabled=true]):before{content:"";padding:var(--control-rule-size);border-radius:inherit;pointer-events:none;background-image:linear-gradient(135deg, transparent 42%, color-mix(in oklab, var(--control-glint) 48%, transparent) 42% 46%, var(--control-glint) 46% 48%, transparent 48%);mask:linear-gradient(var(--fg-onbrand) 0 0) content-box, linear-gradient(var(--fg-onbrand) 0 0);opacity:0;animation-name:var(--button-motion);animation-duration:var(--dur-slow);background-size:300% 100%;animation-timing-function:linear;animation-fill-mode:both;position:absolute;inset:0;mask-composite:exclude}.btn--fizz{--button-effect:button-fizz}.btn--fizz:before{display:none}.btn--fizz:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):after,.btn[aria-busy=true]:after{content:"";inset-inline:0;block-size:var(--sp-8);background-image:linear-gradient(var(--accent) 0 0), linear-gradient(90deg, var(--brand-hover) 25%, var(--fg-onbrand) 25% 75%, var(--brand-hover) 75%), linear-gradient(var(--brand-hover) 0 0);background-repeat:no-repeat;background-size:var(--sp-1) var(--sp-1);background-position:var(--button-fizz-left) 100%, 50% 100%, var(--button-fizz-right) 100%;opacity:0;pointer-events:none;animation-name:var(--button-motion);animation-duration:var(--dur-slow);animation-timing-function:var(--ease);animation-fill-mode:both;position:absolute;bottom:100%}@keyframes button-reflection{0%{opacity:0;background-position:100% 0}18%{opacity:1}78%{opacity:1}to{opacity:0;background-position:0 0}}a.tag:not([aria-disabled=true]):before{animation-name:var(--tag-motion)}@keyframes button-fizz{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(calc(var(--sp-4) * -1))}}@media (prefers-reduced-motion:no-preference){a.tag:not([aria-disabled=true]):focus-visible{--tag-motion:button-reflection}.btn:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):focus-visible{--button-motion:var(--button-effect)}@media (hover:hover){a.tag:not([aria-disabled=true]):hover{--tag-motion:button-reflection}.btn:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover{--button-motion:var(--button-effect)}}}.btn[aria-busy=true]:after{opacity:1;mask-image:linear-gradient(to top, transparent, var(--fg-onbrand) var(--sp-1), var(--fg-onbrand) calc(100% - var(--sp-2)), transparent);animation-name:button-loading-fizz;animation-duration:var(--dur-loop);animation-timing-function:linear;animation-iteration-count:infinite}@keyframes button-loading-fizz{0%{background-position:var(--button-fizz-left) 120%, 50% 73.333%, var(--button-fizz-right) 26.667%}33.332%{background-position:var(--button-fizz-left) 73.334%, 50% 26.668%, var(--button-fizz-right) -20%}33.333%{background-position:var(--button-fizz-left) 73.333%, 50% 26.667%, var(--button-fizz-right) 120%}66.666%{background-position:var(--button-fizz-left) 26.667%, 50% -20%, var(--button-fizz-right) 73.333%}66.667%{background-position:var(--button-fizz-left) 26.667%, 50% 120%, var(--button-fizz-right) 73.333%}to{background-position:var(--button-fizz-left) -20%, 50% 73.333%, var(--button-fizz-right) 26.667%}}@media (prefers-reduced-motion:reduce){.btn[aria-busy=true]:after{animation:none;mask-image:none}}.contact-form{gap:var(--sp-6);max-width:var(--w-prose);display:grid}.contact-form__field{gap:var(--sp-2);min-width:0;display:grid}.contact-form__field label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg)}.contact-form__hint{font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-ui);letter-spacing:var(--tracking-mono);color:var(--fg-muted)}.contact-form__field :is(input,textarea){width:100%;min-height:40px;padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--radius);overflow-wrap:anywhere;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease)}.contact-form__field textarea{resize:vertical}.contact-form__field :is(input,textarea):hover:not(:disabled){border-color:var(--fg-muted)}.contact-form__field :is(input,textarea):focus-visible{border-color:var(--brand)}.contact-form__field :is(input,textarea):user-invalid{border:2px solid var(--status-error)}.contact-form__field :is(input,textarea):disabled{background:var(--bg-sunken);color:var(--fg-muted);cursor:not-allowed}.contact-form>.btn{justify-self:start}.skip-link{inset-inline-start:var(--gutter);top:var(--sp-2);z-index:8;padding:var(--sp-2) var(--sp-4);background:var(--bg-surface);color:var(--fg);font-family:var(--font-display);font-size:var(--text-md);transform:translateY(calc(-100% - var(--sp-8)));text-decoration:none;position:absolute}.skip-link:focus{transform:none}.icon-btn{min-width:32px;min-height:32px;padding:var(--sp-1);border-radius:var(--radius-sm);color:var(--fg-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--bg-sunken);color:var(--brand)}.reading-progress{display:none}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.reading-progress{z-index:1;block-size:var(--sp-1);background:var(--brand);pointer-events:none;transform-origin:0;animation-name:reading-progress;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;margin-block:0;animation-timeline:scroll(root);display:block;position:fixed;inset-block-start:0;inset-inline:0;transform:scaleX(0)}}}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tldr{border-inline-start:2px solid var(--brand);font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--fg);padding-inline-start:var(--sp-6)}h1+.tldr{margin-top:var(--sp-4)}.stat{gap:var(--sp-2);padding:var(--sp-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);display:grid}.stat__value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-variant-numeric:lining-nums;color:var(--brand)}.stat__value strong{font-weight:inherit}.stat__label{font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-snug);color:var(--fg)}.stat__delta{font-family:var(--font-display);font-size:var(--text-sm);line-height:var(--leading-ui);color:var(--fg-muted)}.stat__cite{align-items:center;gap:var(--sp-1) var(--sp-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-ui);letter-spacing:var(--tracking-mono);color:var(--fg-muted);overflow-wrap:anywhere;flex-wrap:wrap;margin-block-start:var(--sp-2);display:flex}.stat__source{align-items:center;gap:var(--sp-1);min-width:0;min-height:24px;text-decoration:none;display:inline-flex}a.stat__source:hover{color:var(--brand-hover);text-decoration:underline}a.stat__source:active{color:var(--brand-hover)}.quote{gap:var(--sp-3);border-inline-start:2px solid var(--brand);padding-inline-start:var(--sp-6);padding-block:var(--sp-2);grid-template-columns:minmax(0,1fr);display:grid}.quote__text{font-family:var(--font-body);font-size:var(--text-base);color:var(--fg);overflow-wrap:break-word;border-inline-start:0;padding-inline-start:0;font-style:italic}.quote__cite{gap:var(--sp-1) var(--sp-2);color:var(--fg-muted);overflow-wrap:anywhere;grid-template-columns:auto minmax(0,1fr);display:grid}.quote__dash,.quote__author{font-family:var(--font-display);font-size:var(--text-md);line-height:var(--leading-snug)}.quote__author{font-weight:var(--weight-medium);color:var(--fg)}.quote__source{align-items:center;gap:var(--sp-1) var(--sp-4);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-ui);letter-spacing:var(--tracking-mono);flex-wrap:wrap;grid-column:2;display:flex}.quote__source a{align-items:center;gap:var(--sp-1);min-width:0;min-height:24px;text-decoration:none;display:inline-flex}.quote__source a:hover{color:var(--brand-hover);text-decoration:underline}.quote__source a:active{color:var(--brand-hover)}.figure{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);display:grid}.figure--wide{width:var(--prose-wide-width,100%);max-width:none;margin-inline:calc((100% - var(--prose-wide-width,100%)) / 2)}.figure__image{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:auto}.figure__caption{gap:var(--sp-2);overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-sm);line-height:var(--leading-ui);color:var(--fg-muted);grid-template-columns:minmax(0,1fr);display:grid}.figure__summary{align-items:center;gap:var(--sp-2);min-height:24px;color:var(--fg);font-weight:var(--weight-medium);cursor:pointer;list-style:none;display:flex}.figure__summary::-webkit-details-marker{display:none}.figure__summary:hover,.figure__data[open]>.figure__summary{color:var(--brand)}.figure__chevron{flex-shrink:0}.figure__data[open]>.figure__summary>.figure__chevron{transform:rotate(180deg)}.figure__description{color:var(--fg);margin-block-start:var(--sp-2)}.callout{--callout-tone:var(--status-info);align-items:start;gap:var(--sp-2) var(--sp-3);padding:var(--sp-6);background:color-mix(in oklab, var(--callout-tone) 7%, var(--bg-surface));border:1px solid var(--callout-tone);border-radius:var(--radius);color:var(--fg);grid-template-columns:auto minmax(0,1fr);display:grid}.callout--note{--callout-tone:var(--status-info)}.callout--tip{--callout-tone:var(--status-success)}.callout--warning{--callout-tone:var(--status-warning)}.callout--danger{--callout-tone:var(--status-error)}@media (width>=40rem){.stat,.callout{padding:var(--sp-8)}.quote,.prose>blockquote{padding-block:var(--sp-3)}}.callout__icon{min-height:24px;color:var(--callout-tone);align-items:center;display:flex}.callout__content{gap:var(--sp-3);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);display:grid}.callout__title{font-family:var(--font-display);font-size:var(--text-base);line-height:var(--leading-snug);color:var(--fg)}.callout__title strong{font-weight:var(--weight-semi)}.site-header{background:var(--bg);border-bottom:1px solid var(--border-edge)}.site-header__bar{align-items:center;gap:var(--sp-2);min-height:48px;padding-block:var(--sp-2);display:flex}.site-header__brand{--cf-wordmark-size:var(--text-lg);--cf-lockup-gap:var(--sp-2);color:inherit;flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.site-header__brand:hover{color:inherit}.site-header__nav{align-items:center;gap:var(--sp-6);flex:1;margin-inline-start:var(--sp-4);display:none}.site-header__nav a{color:var(--fg-muted);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-medium);min-block-size:calc(1lh + var(--sp-4));align-items:center;text-decoration:none;display:flex}@supports (text-box-trim:trim-both) and (text-box-edge:ex alphabetic){.site-header__label{text-box-trim:trim-both;text-box-edge:ex alphabetic}}.site-header__nav a:hover,.site-header__nav a[aria-current=page]{color:var(--fg)}.site-header__actions{align-items:center;gap:var(--sp-1);margin-inline-start:auto;display:flex}.site-header__actions>nav{align-items:center;display:flex}.site-header__lang{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--fg-muted);min-height:32px;padding-inline:var(--sp-2);align-items:center;text-decoration:none;display:inline-flex}.site-header__lang:hover{color:var(--fg)}.site-header__menu{display:inline-flex}.site-header__drawer{isolation:isolate;width:var(--drawer-width);max-width:var(--drawer-max-width);height:100%;max-height:none;padding:var(--sp-6) var(--gutter);border:0;border-inline-start:var(--control-rule-size) solid var(--brand);box-shadow:var(--shadow-3);overscroll-behavior:contain;margin:0 0 0 auto;overflow-x:hidden}.site-header__drawer::backdrop{background:color-mix(in oklab, var(--overlay) 48%, transparent)}.site-header__drawer:before{content:"";z-index:-1;background-image:linear-gradient(135deg, transparent 35%, color-mix(in srgb, var(--brand-hover) 20%, transparent) 35% 44%, color-mix(in srgb, var(--fg-onbrand) 28%, transparent) 44% 48%, transparent 48%);pointer-events:none;opacity:0;background-size:300% 100%;position:absolute;inset:0}.site-header__drawer[open][data-state=open]{animation:drawer-enter var(--dur-slow) var(--ease) both}.site-header__drawer[open][data-state=open]::backdrop{animation:drawer-veil-enter var(--dur-slow) var(--ease) both}.site-header__drawer[open][data-state=open]:before{animation:drawer-reflection var(--dur-slow) linear both}.site-header__drawer[open][data-state=open] nav{animation:drawer-content-enter var(--dur-slow) var(--ease) both}.site-header__drawer[open][data-state=closing]{animation:drawer-exit var(--dur) var(--ease-in) both}.site-header__drawer[open][data-state=closing]::backdrop{animation:drawer-veil-exit var(--dur) var(--ease-in) both}@keyframes drawer-enter{0%{transform:var(--drawer-enter-from,translateX(100%))}to{transform:translate(0)}}@keyframes drawer-exit{0%{transform:var(--drawer-exit-from,translateX(0))}to{transform:translate(100%)}}@keyframes drawer-veil-enter{0%{opacity:var(--drawer-veil-from,0)}to{opacity:1}}@keyframes drawer-veil-exit{0%{opacity:var(--drawer-veil-from,1)}to{opacity:0}}@keyframes drawer-content-enter{0%{opacity:.8}to{opacity:1}}@keyframes drawer-reflection{0%{opacity:0;background-position:0 0}18%,78%{opacity:1}to{opacity:0;background-position:100% 0}}@media (prefers-reduced-motion:reduce){.site-header__drawer[open][data-state],.site-header__drawer[open][data-state]:before,.site-header__drawer[open][data-state]::backdrop,.site-header__drawer[open][data-state] nav{animation:none;transform:none}}.site-header__drawer-head{justify-content:flex-end;margin-block-end:var(--sp-4);display:flex}.site-header__drawer-head .icon-btn{color:var(--fg)}.site-header__drawer nav a{min-height:48px;color:var(--fg);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-medium);border-bottom:1px solid var(--border);align-items:center;text-decoration:none;display:flex}.site-header__drawer nav a:hover{background:var(--brand-wash)}.site-header__drawer nav a[aria-current=page]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--brand)}.site-header__actions [data-theme-toggle]{display:none}:root[data-js] .site-header__actions [data-theme-toggle]{display:inline-flex}@media (width>=48rem){.site-header__bar{gap:var(--sp-4)}.site-header__actions{gap:var(--sp-2)}.site-header__nav{margin-inline-start:var(--sp-6);display:flex}.site-header__menu{display:none}.site-header__brand{--cf-wordmark-size:var(--text-xl);--cf-lockup-gap:var(--sp-3)}}@media (width<=359px){.site-header__bar{gap:var(--sp-1)}.site-header__actions{gap:0}.site-header__lang{font-size:var(--text-sm)}}.site-footer{background:var(--bg);color:var(--fg);border-top:1px solid var(--border-edge);padding-block:var(--sp-12) var(--sp-8)}.site-footer a{color:var(--fg-muted);align-items:center;min-height:24px;text-decoration:none;display:inline-flex}.site-footer a:hover{color:var(--brand)}.site-footer__grid{gap:var(--sp-8);display:grid}.site-footer__brand{gap:var(--sp-3);align-content:start;display:grid}.site-footer__blurb{color:var(--fg-muted);font-size:var(--text-md);line-height:var(--leading-ui)}.site-footer__nav{gap:var(--sp-8);display:grid}.site-footer__col h2{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted);margin-block-end:var(--sp-3)}.site-footer__col ul{gap:var(--sp-1);padding-inline-start:0;list-style:none;display:grid}.site-footer__meta{justify-content:space-between;align-items:center;gap:var(--sp-4);border-top:1px solid var(--border);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-mono);flex-wrap:wrap;margin-block-start:var(--sp-8);padding-block-start:var(--sp-6);display:flex}@media (width>=48rem){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.site-footer__nav{grid-column:2/-1;grid-template-columns:subgrid}}.page-frame{padding-block:var(--sp-8) var(--sp-16)}.page-frame>.fallback-notice+div{margin-block-start:var(--sp-6)}@media (width>=40rem){.page-frame{padding-block-start:var(--sp-12)}}.tag-list{gap:var(--sp-2);flex-wrap:wrap;padding-inline-start:0;list-style:none;display:flex}.tag-list>li:before{content:none}:is(.prose,section)>:is(.post-list,.tag-list){margin-block-start:var(--sp-6)}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none}.route-motion{--route-reveal-duration:calc(var(--dur-slow) + var(--dur));--route-liquid-surface:inset(34% 0 0);--route-liquid-empty:inset(100% 0 0);--route-liquid-full:inset(0);--route-base-surface:inset(92% 0 0);pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.route-motion__pour{opacity:0;clip-path:polygon(var(--route-origin-x,50%) var(--route-origin-y,100%), var(--route-origin-x,50%) var(--route-origin-y,100%), var(--route-origin-x,50%) var(--route-origin-y,100%));background:0 0;position:absolute;inset:0;overflow:hidden}.route-motion.is-covering .route-motion__pour{animation:route-cover var(--dur-slow) var(--ease-in-out) both}.route-motion[popover]{background:0 0;border:0;block-size:100%;inline-size:100%;margin:0;padding:0}.route-motion[popover]::backdrop{background:0 0}.route-motion[data-menu-handoff].is-covering .route-motion__pour{animation:route-cover var(--dur-slow) var(--ease-in-out) both, route-handoff-fade var(--dur-fast) var(--ease) both}@keyframes route-handoff-fade{0%{opacity:0}to{opacity:1}}.route-motion.is-covered .route-motion__pour{opacity:1;clip-path:var(--route-glass-outline)}.route-motion.is-revealing .route-motion__pour{clip-path:var(--route-glass-outline);animation:route-reveal var(--route-reveal-duration) var(--ease-in) both}.route-motion__air,.route-motion__liquid,.route-motion__base{display:block;position:absolute;inset:0}.route-motion__air{background:var(--bg-sunken)}.route-motion.is-revealing .route-motion__air{animation:route-air-dissolve var(--dur-slow) var(--ease) both}body.is-route-entering main>div{animation:route-content-emerge var(--dur-slow) var(--ease) both}.route-motion__liquid{z-index:1;background:color-mix(in srgb, var(--brand) 58%, var(--fg-onbrand));clip-path:inset(100% 0 0)}.route-motion__liquid>i{inline-size:var(--sp-1);block-size:var(--sp-1);background:var(--fg-onbrand);opacity:0;--liquid-bubble-rise:calc(var(--sp-8) * -1);--liquid-bubble-drift:var(--sp-1);position:absolute;inset-block-start:var(--liquid-bubble-y);inset-inline-start:var(--liquid-bubble-x)}.route-motion__liquid>i:nth-child(2n){background:var(--accent);--liquid-bubble-drift:calc(var(--sp-1) * -1)}.route-motion__liquid>i:nth-child(5n){inline-size:var(--sp-2);block-size:var(--sp-2);--liquid-bubble-rise:calc(var(--sp-12) * -1)}.route-motion.is-covering .route-motion__liquid>i{animation:route-liquid-fizz-fill var(--dur-slow) var(--ease) both}.route-motion.is-covered .route-motion__liquid>i{opacity:.85}.route-motion.is-revealing .route-motion__liquid>i{animation:route-liquid-fizz-rise var(--route-reveal-duration) linear both}.route-motion__base{z-index:2;background:var(--brand);clip-path:inset(100% 0 0)}.route-motion.is-covering .route-motion__liquid{animation:route-liquid-fill var(--dur-slow) var(--ease-in) both}.route-motion.is-covering .route-motion__base{animation:route-base-fill var(--dur-slow) var(--ease-in-out) both}.route-motion.is-covered .route-motion__liquid{clip-path:var(--route-liquid-surface)}.route-motion.is-covered .route-motion__base{clip-path:var(--route-base-surface)}.route-motion.is-revealing .route-motion__liquid{animation:route-liquid-top-up var(--dur-slow) var(--ease) both, route-liquid-dissolve var(--route-reveal-duration) var(--ease-in-out) both}.route-motion.is-revealing .route-motion__base{clip-path:var(--route-base-surface);animation:route-base-dissolve var(--dur-slow) var(--ease) both}.route-motion__pour>i{z-index:3;inline-size:var(--sp-2);block-size:var(--sp-2);background:var(--brand);opacity:0;--bubble-rise:-18vh;--bubble-drift:0;position:absolute}.route-motion__pour>i:nth-of-type(3n){inline-size:var(--sp-1);block-size:var(--sp-1)}.route-motion__pour>i:is(:nth-of-type(3n),:nth-of-type(4n)){background:var(--accent)}.route-motion__pour>i:first-of-type{--bubble-rise:-26vh;--bubble-drift:var(--sp-3);inset-block-start:34%;inset-inline-start:12%}.route-motion__pour>i:nth-of-type(2){inline-size:var(--sp-3);block-size:var(--sp-3);--bubble-rise:-20vh;--bubble-drift:calc(var(--sp-2) * -1);inset-block-start:52%;inset-inline-start:20%}.route-motion__pour>i:nth-of-type(3){--bubble-rise:-30vh;inset-block-start:40%;inset-inline-start:31%}.route-motion__pour>i:nth-of-type(4){--bubble-rise:-24vh;--bubble-drift:var(--sp-2);inset-block-start:62%;inset-inline-start:39%}.route-motion__pour>i:nth-of-type(5){inline-size:var(--sp-3);block-size:var(--sp-3);--bubble-rise:-32vh;inset-block-start:46%;inset-inline-start:48%}.route-motion__pour>i:nth-of-type(6){--bubble-rise:-22vh;--bubble-drift:calc(var(--sp-3) * -1);inset-block-start:50%;inset-inline-start:57%}.route-motion__pour>i:nth-of-type(7){--bubble-rise:-28vh;inset-block-start:54%;inset-inline-start:66%}.route-motion__pour>i:nth-of-type(8){inline-size:var(--sp-3);block-size:var(--sp-3);--bubble-rise:-24vh;--bubble-drift:var(--sp-2);inset-block-start:58%;inset-inline-start:74%}.route-motion__pour>i:nth-of-type(9){--bubble-rise:-30vh;--bubble-drift:calc(var(--sp-2) * -1);inset-block-start:46%;inset-inline-start:83%}.route-motion__pour>i:nth-of-type(10){inset-block-start:38%;inset-inline-start:92%}.route-motion__pour>i:nth-of-type(11){--bubble-rise:-22vh;--bubble-drift:var(--sp-2);inset-block-start:58%;inset-inline-start:7%}.route-motion__pour>i:nth-of-type(12){--bubble-rise:-28vh;--bubble-drift:calc(var(--sp-2) * -1);inset-block-start:60%;inset-inline-start:26%}.route-motion__pour>i:nth-of-type(13){--bubble-rise:-24vh;inset-block-start:64%;inset-inline-start:45%}.route-motion__pour>i:nth-of-type(14){--bubble-rise:-20vh;--bubble-drift:var(--sp-2);inset-block-start:42%;inset-inline-start:63%}.route-motion__pour>i:nth-of-type(15){--bubble-rise:-26vh;--bubble-drift:calc(var(--sp-2) * -1);inset-block-start:60%;inset-inline-start:79%}.route-motion__pour>i:nth-of-type(16){--bubble-rise:-22vh;inset-block-start:54%;inset-inline-start:95%}.route-motion.is-covering .route-motion__pour>i{animation:route-bubble-cover var(--dur-slow) var(--ease) both}.route-motion.is-covered .route-motion__pour>i{opacity:1;transform:translate(var(--bubble-drift), var(--bubble-rise))}.route-motion.is-revealing .route-motion__pour>i{animation:route-bubble-reveal var(--route-reveal-duration) linear both}.route-motion__burst{pointer-events:none;transform:translate(var(--click-x,50vw), var(--click-y,50vh));z-index:101;position:fixed;inset-block-start:0;inset-inline-start:0}.route-motion__burst.is-active{transition:transform var(--dur-fast) var(--ease);will-change:transform}.route-motion__burst:before,.route-motion__burst:after{inline-size:var(--sp-2);block-size:var(--sp-2);background:var(--accent);opacity:0;content:"";position:absolute;inset-block-start:calc(var(--sp-1) * -1);inset-inline-start:calc(var(--sp-1) * -1)}.route-motion__burst:after{background:var(--brand);transform:rotate(45deg)}.route-motion__burst.is-active:before,.route-motion__burst.is-active:after{animation:click-core var(--dur-slow) steps(6, end) both}.route-motion__burst>i{inline-size:var(--sp-2);block-size:var(--sp-2);background:var(--brand);opacity:0;position:absolute}.route-motion__burst>i:nth-child(3n){inline-size:var(--sp-1);block-size:var(--sp-1);background:var(--accent)}.route-motion__burst>i:first-child{--particle-x:calc(var(--sp-16) * -1);--particle-y:0}.route-motion__burst>i:nth-child(2){--particle-x:calc(var(--sp-12) * -1);--particle-y:calc(var(--sp-8) * -1)}.route-motion__burst>i:nth-child(3){--particle-x:calc(var(--sp-6) * -1);--particle-y:calc(var(--sp-12) * -1)}.route-motion__burst>i:nth-child(4){--particle-x:0;--particle-y:calc(var(--sp-16) * -1)}.route-motion__burst>i:nth-child(5){--particle-x:var(--sp-6);--particle-y:calc(var(--sp-12) * -1)}.route-motion__burst>i:nth-child(6){--particle-x:var(--sp-12);--particle-y:calc(var(--sp-8) * -1)}.route-motion__burst>i:nth-child(7){--particle-x:var(--sp-16);--particle-y:0}.route-motion__burst>i:nth-child(8){--particle-x:var(--sp-12);--particle-y:var(--sp-8)}.route-motion__burst>i:nth-child(9){--particle-x:var(--sp-6);--particle-y:var(--sp-12)}.route-motion__burst>i:nth-child(10){--particle-x:0;--particle-y:var(--sp-16)}.route-motion__burst>i:nth-child(11){--particle-x:calc(var(--sp-6) * -1);--particle-y:var(--sp-12)}.route-motion__burst>i:nth-child(12){--particle-x:calc(var(--sp-12) * -1);--particle-y:var(--sp-8)}.route-motion__burst.is-active>i{animation:click-fizz var(--dur-slow) steps(6, end) both}@keyframes click-core{0%{opacity:1;transform:scale(1)}55%{opacity:1;transform:scale(2)}to{opacity:0;transform:scale(3)}}@keyframes click-fizz{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(var(--particle-x), var(--particle-y)) scale(0)}}@keyframes route-cover{0%{opacity:1;clip-path:polygon(var(--route-origin-x) var(--route-origin-y), var(--route-origin-x) var(--route-origin-y), var(--route-origin-x) var(--route-origin-y));transform:translateY(0)}to{opacity:1;clip-path:var(--route-glass-outline);transform:translateY(0)}}@keyframes route-liquid-fill{0%{clip-path:var(--route-liquid-empty)}to{clip-path:var(--route-liquid-surface)}}@keyframes route-base-fill{0%{clip-path:inset(100% 0 0)}to{clip-path:var(--route-base-surface)}}@keyframes route-liquid-fizz-fill{0%{opacity:0;transform:translateY(var(--sp-4))}to{opacity:.85;transform:translateY(0)}}@keyframes route-liquid-fizz-rise{0%{opacity:.85;transform:translate(0)}to{opacity:0;transform:translate(var(--liquid-bubble-drift), var(--liquid-bubble-rise))}}@keyframes route-reveal{0%{opacity:1}to{opacity:0}}@keyframes route-liquid-top-up{0%{clip-path:var(--route-liquid-surface)}to{clip-path:var(--route-liquid-full)}}@keyframes route-air-dissolve{0%{opacity:1}to{opacity:0}}@keyframes route-content-emerge{0%{opacity:0}to{opacity:1}}@keyframes route-liquid-dissolve{0%{opacity:1}to{opacity:0}}@keyframes route-base-dissolve{0%{opacity:1}to{opacity:0}}@keyframes route-bubble-cover{0%,16%{opacity:0;transform:translateY(var(--sp-8))}48%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translate(var(--bubble-drift), var(--bubble-rise))}}@keyframes route-bubble-reveal{0%{opacity:1;transform:translate(var(--bubble-drift), var(--bubble-rise))}40%{opacity:.8}to{opacity:0;transform:translate(var(--bubble-drift), calc(var(--bubble-rise) - 18vh))}}@media (prefers-reduced-motion:reduce){.route-motion.is-covering .route-motion__pour,.route-motion[data-menu-handoff].is-covering .route-motion__pour{background:var(--brand-wash);clip-path:none;animation:route-cover-reduced var(--dur-fast) var(--ease) both;transform:none}.route-motion.is-covered .route-motion__pour{background:var(--brand-wash);clip-path:none}.route-motion.is-revealing .route-motion__pour{background:var(--brand-wash);clip-path:none;animation:route-reveal-reduced var(--dur-fast) var(--ease) both;transform:none}.route-motion:is(.is-covering,.is-covered,.is-revealing) .route-motion__pour>:is(.route-motion__air,.route-motion__liquid,.route-motion__base,i),.route-motion__burst.is-active>i,.route-motion__burst.is-active:after{display:none}.route-motion__liquid>i{animation:none;display:none}.route-motion__burst.is-active:before{animation:click-confirm var(--dur-fast) var(--ease) both}body.is-route-entering main>div{animation:route-content-emerge-reduced var(--dur-fast) var(--ease) both}}@keyframes route-content-emerge-reduced{0%{opacity:0}to{opacity:1}}@keyframes route-cover-reduced{0%{opacity:0}to{opacity:1}}@keyframes route-reveal-reduced{0%{opacity:1}to{opacity:0}}@keyframes click-confirm{0%{opacity:1}to{opacity:0}}.cf-logo__fizz{pointer-events:none}.cf-logo__ripple,.cf-logo__bubble{opacity:0}.cf-logo__ripple{fill:var(--logo-liquid)}.cf-logo__bubble{fill:var(--accent)}.cf-logo__bubble--middle{fill:var(--fg)}@media (prefers-reduced-motion:no-preference){[data-logo-serve][data-serving] .cf-logo__liquid{animation:logo-serve-fill var(--dur-loop) linear both}[data-logo-serve][data-serving] .cf-logo__olive{animation:logo-serve-olive var(--dur-loop) linear both}[data-logo-serve][data-serving] .cf-logo__ripple{animation:logo-serve-ripple var(--dur-loop) var(--ease) both}[data-logo-serve][data-serving] .cf-logo__bubble{animation:logo-serve-fizz var(--dur-loop) linear both}[data-logo-serve][data-serving] .cf-logo__bubble--middle{animation-name:logo-serve-fizz-middle}[data-logo-serve][data-serving] .cf-logo__bubble--right{animation-name:logo-serve-fizz-right}}@keyframes logo-serve-fill{0%{opacity:1;clip-path:inset(0) fill-box}8%{opacity:0;clip-path:inset(0) fill-box}9%{opacity:0;clip-path:inset(100% 0 0) fill-box}12%{opacity:1;clip-path:inset(100% 0 0) fill-box;animation-timing-function:var(--ease)}58%,to{opacity:1;clip-path:inset(0) fill-box}}@keyframes logo-serve-olive{0%{opacity:1;transform:translateY(0)}8%{opacity:0;transform:translateY(0)}9%,44%{opacity:0;transform:translateY(calc(var(--sp-2) * -1))}48%{opacity:1;transform:translateY(calc(var(--sp-2) * -1));animation-timing-function:var(--ease-in)}76%,to{opacity:1;transform:translateY(0)}}@keyframes logo-serve-ripple{0%,75%{opacity:0;transform:translateY(0)}80%{opacity:1;transform:translateY(calc(var(--sp-1) / -4))}94%,to{opacity:0;transform:translateY(0)}}@keyframes logo-serve-fizz{0%,76%{opacity:0;transform:translate(0)}81%{opacity:1}to{opacity:0;transform:translate(calc(var(--sp-1) / -2), calc(var(--sp-2) * -1))}}@keyframes logo-serve-fizz-middle{0%,82%{opacity:0;transform:translateY(0)}87%{opacity:1}to{opacity:0;transform:translateY(calc(var(--sp-2) * -1))}}@keyframes logo-serve-fizz-right{0%,79%{opacity:0;transform:translate(0)}84%{opacity:1}to{opacity:0;transform:translate(calc(var(--sp-1) / 2), calc(var(--sp-2) * -1))}}}@layer utilities;@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}}.cf-lockup[data-astro-cid-h44ubdij]{align-items:center;gap:var(--cf-lockup-gap,calc(var(--cf-logo-size,32px) * .5));color:var(--fg,#150a10);display:inline-flex}.cf-lockup--vertical[data-astro-cid-h44ubdij]{gap:var(--cf-lockup-gap,calc(var(--cf-logo-size,32px) * .4));flex-direction:column}.cf-wordmark[data-astro-cid-h44ubdij]{font-family:var(--font-display,"Archivo", sans-serif);font-weight:700;font-size:var(--cf-wordmark-size,calc(var(--cf-logo-size,32px) * .92));letter-spacing:-.035em;white-space:nowrap;line-height:1}.cf-lockup--vertical[data-astro-cid-h44ubdij] .cf-wordmark[data-astro-cid-h44ubdij]{font-size:var(--cf-wordmark-size,calc(var(--cf-logo-size,32px) * .6))}.cf-wordmark[data-astro-cid-h44ubdij] i[data-astro-cid-h44ubdij]{color:var(--brand,#d6006e);font-style:normal}
