:root{--color-bg: var(--color-white);--color-bg-subtle: var(--color-neutral-50);--color-bg-tint: var(--color-brand-mist);--color-surface: var(--color-white);--color-surface-tint: var(--color-brand-mist);--gradient-soft: linear-gradient(135deg, var(--color-brand-cream) 0%, var(--color-brand-aqua) 100%);--gradient-hero: var(--gradient-soft);--gradient-inverse: linear-gradient(120deg, var(--color-brand-night) 0%, color-mix(in oklab, var(--color-brand-cta) 78%, var(--color-brand-night)) 100%);--gradient-banner: linear-gradient(90deg, var(--color-brand-night) 0%, var(--color-brand-950) 50%, var(--color-brand-night) 100%);--gradient-banner-hover: linear-gradient(90deg, var(--color-brand-night) 0%, var(--color-brand-900) 50%, var(--color-brand-night) 100%);--color-heading: var(--color-navy);--color-text-strong: var(--color-neutral-900);--color-text: var(--color-neutral-700);--color-text-muted: var(--color-neutral-500);--color-accent: var(--color-brand-cta-deep);--color-link: var(--color-brand-cta-deep);--color-link-hover: var(--color-brand-ink);--color-border: color-mix(in srgb, var(--color-neutral-900) 9%, transparent);--color-border-strong: color-mix(in srgb, var(--color-neutral-900) 16%, transparent);--color-border-hover: color-mix(in srgb, var(--color-neutral-900) 28%, transparent);--color-border-accent: color-mix(in srgb, var(--color-brand-cta) 30%, transparent);--color-action: var(--color-brand-cta);--color-action-strong: var(--color-brand-cta-deep);--color-on-action: var(--color-white);--gradient-action: linear-gradient(98deg, var(--color-action) 0%, var(--color-action-strong) 100%);--color-focus: var(--color-brand-500);--color-status-success: color-mix(in oklab, var(--color-teal-600) 80%, var(--color-neutral-500));--color-status-info: color-mix(in oklab, var(--color-info-600) 75%, var(--color-neutral-500));--color-status-warning: color-mix(in oklab, var(--color-warning-600) 80%, var(--color-neutral-500));--color-status-danger: color-mix(in oklab, var(--color-brand-rose) 85%, var(--color-neutral-500));--color-bg-dark: var(--color-brand-night);--color-heading-dark: var(--color-white);--color-text-dark: color-mix(in srgb, var(--color-white) 78%, transparent);--color-text-muted-dark: color-mix(in srgb, var(--color-white) 60%, transparent);--color-accent-dark: var(--color-brand-300);--color-border-dark: color-mix(in srgb, var(--color-white) 12%, transparent);--tone: var(--color-brand-cta);--tone-tint: 10%;--tone-tint-card: 5%;--tone-line: 25%;--text-2xs: .6875rem;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1rem;--text-md: clamp(1.0625rem, 1.0077rem + .225vw, 1.1875rem);--text-lg: clamp(1.1875rem, 1.1053rem + .337vw, 1.375rem);--text-xl: clamp(1.25rem, 1.1404rem + .449vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.3357rem + .674vw, 1.875rem);--text-3xl: clamp(1.75rem, 1.4213rem + 1.348vw, 2.5rem);--text-4xl: clamp(2rem, 1.4522rem + 2.247vw, 3.25rem);--text-5xl: clamp(2.375rem, 1.6629rem + 2.921vw, 4rem);--leading-tight: 1.1;--leading-heading: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tighter: -.035em;--tracking-tight: -.02em;--tracking-caps: .1em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--heading-font: var(--font-heading);--heading-weight: var(--weight-medium);--heading-weight-display: var(--weight-semibold);--heading-tracking: var(--tracking-tighter);--eyebrow-font: var(--font-label);--eyebrow-weight: var(--weight-medium);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--container-max: 100rem;--container-narrow: 48rem;--measure: 45rem;--measure-wide: 60rem;--media-narrow: 32rem;--sidebar-width: 15rem;--gutter: clamp(1.25rem, 3.5vw, 3.5rem);--band-space-sm: clamp(3rem, 2.3427rem + 2.697vw, 4.5rem);--band-space: clamp(4.5rem, 2.9663rem + 6.292vw, 8rem);--band-space-lg: clamp(6rem, 4.2472rem + 7.191vw, 10rem);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--border-width: 1px;--border-width-strong: 2px;--shadow-color: var(--color-brand-night);--shadow-xs: 0 1px 2px color-mix(in srgb, var(--shadow-color) 5%, transparent);--shadow-sm: 0 1px 2px color-mix(in srgb, var(--shadow-color) 4%, transparent), 0 6px 20px -6px color-mix(in srgb, var(--shadow-color) 10%, transparent);--shadow-md: 0 2px 4px color-mix(in srgb, var(--shadow-color) 4%, transparent), 0 12px 32px -8px color-mix(in srgb, var(--shadow-color) 14%, transparent);--shadow-lg: 0 4px 8px color-mix(in srgb, var(--shadow-color) 4%, transparent), 0 28px 56px -20px color-mix(in srgb, var(--shadow-color) 24%, transparent);--shadow-action: 0 4px 14px -2px color-mix(in srgb, var(--color-action) 35%, transparent);--shadow-action-hover: 0 10px 24px -4px color-mix(in srgb, var(--color-action) 45%, transparent);--highlight: inset 0 1px 0 color-mix(in srgb, var(--color-white) 70%, transparent);--duration-fast: .15s;--duration: .2s;--duration-slow: .4s;--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--hover-lift: -2px;--hover-nudge: 3px;--stroke-thin: 1px;--stroke: 1.25px;--stroke-bold: 1.75px;--stroke-dash: 3 5;--illo-font: var(--font-body);--illo-label-font: var(--font-label);--illo-text-size: .875rem;--illo-text: var(--color-neutral-600);--illo-line: color-mix(in srgb, var(--color-neutral-500) 45%, transparent);--illo-line-accent: var(--color-teal-500);--illo-node: var(--color-white);--illo-node-border: var(--color-border);--illo-node-tint: 7%;--illo-node-line: 30%;--illo-group-tint: 9%;--illo-group-line: 42%;--illo-wash: 10%;--illo-glow-tint: 12%;--illo-radius: var(--radius-md);--illo-shadow: var(--shadow-sm);--illo-shadow-ink: var(--color-neutral-900);--astro-code-foreground: var(--color-neutral-200);--astro-code-background: var(--color-neutral-900);--astro-code-token-keyword: var(--color-danger-400);--astro-code-token-string: var(--color-info-300);--astro-code-token-constant: var(--color-info-400);--astro-code-token-function: var(--color-brand-300);--astro-code-token-parameter: var(--color-warning-300);--astro-code-token-string-expression: var(--color-success-300);--astro-code-token-comment: var(--color-neutral-500);--astro-code-token-punctuation: var(--color-neutral-200);--astro-code-token-link: var(--color-info-300);--button-font: var(--font-body);--button-size: var(--text-base);--button-weight: var(--weight-semibold);--button-tracking: -.01em;--button-transform: none;--button-radius: var(--radius-md);--button-padding: .875rem 1.5rem;--button-padding-sm: .5rem 1rem;--button-padding-lg: 1rem 1.75rem;--button-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2013'%3E%3Cpath%20d='M0.56543%206.49994C0.56543%206.27003%200.656762%206.04953%200.819334%205.88696C0.981906%205.72439%201.2024%205.63306%201.43231%205.63306H11.476L7.75362%201.9124C7.59085%201.74962%207.4994%201.52884%207.4994%201.29864C7.4994%201.06844%207.59085%200.847667%207.75362%200.684889C7.9164%200.522112%208.13718%200.430664%208.36738%200.430664C8.59758%200.430664%208.81835%200.522112%208.98113%200.684889L14.1824%205.88619C14.2632%205.96671%2014.3272%206.06238%2014.3709%206.16769C14.4146%206.27301%2014.4371%206.38592%2014.4371%206.49994C14.4371%206.61397%2014.4146%206.72687%2014.3709%206.83219C14.3272%206.93751%2014.2632%207.03317%2014.1824%207.11369L8.98113%2012.315C8.81835%2012.4778%208.59758%2012.5692%208.36738%2012.5692C8.13718%2012.5692%207.9164%2012.4778%207.75362%2012.315C7.59085%2012.1522%207.4994%2011.9314%207.4994%2011.7012C7.4994%2011.471%207.59085%2011.2503%207.75362%2011.0875L11.476%207.36682H1.43231C1.2024%207.36682%200.981906%207.27549%200.819334%207.11292C0.656762%206.95035%200.56543%206.72985%200.56543%206.49994Z'/%3E%3C/svg%3E");--mark-yes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='white'/%3E%3Cpath d='m7.5 12.5 3 3 6-6.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='12' cy='12' r='11' mask='url(%23m)'/%3E%3C/svg%3E");--mark-partial: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='white'/%3E%3Cpath d='M7.5 12h9' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='12' cy='12' r='11' mask='url(%23m)'/%3E%3C/svg%3E");--mark-no: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='white'/%3E%3Cpath d='m8.5 8.5 7 7m0-7-7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='12' cy='12' r='11' mask='url(%23m)'/%3E%3C/svg%3E");--mark-unknown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='white'/%3E%3Cpath d='M9.4 9.4a2.7 2.7 0 0 1 5.2 1c0 1.8-2.6 2.4-2.6 3.6M12 17.2h.01' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='12' cy='12' r='11' mask='url(%23m)'/%3E%3C/svg%3E");--card-radius: var(--radius-lg);--card-padding: clamp(1.25rem, .976rem + 1.124vw, 1.875rem);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-lg);--card-media-ratio: 3 / 2;--card-min-width: 17.5rem;--logo-tile-height: 2.875rem;--chip-font: var(--font-body);--chip-radius: var(--radius-pill);--input-radius: var(--radius-sm);--header-height: 4.5rem;--header-height-sm: 4rem;--nav-font: var(--font-body);--nav-size: .875rem;--nav-weight: var(--weight-regular);--nav-tracking: normal;--nav-transform: uppercase;--menu-card-width: 21.25rem}#cc-main{--cc-font-family: var(--font-body);--cc-bg: var(--color-surface);--cc-primary-color: var(--color-text-strong);--cc-secondary-color: var(--color-text-muted);--cc-btn-primary-bg: var(--color-text-strong);--cc-btn-primary-color: var(--color-surface);--cc-btn-primary-hover-bg: var(--color-black);--cc-btn-primary-hover-color: var(--color-surface);--cc-btn-secondary-bg: var(--color-bg-subtle);--cc-btn-secondary-hover-bg: var(--color-neutral-200);--cc-btn-secondary-hover-color: var(--color-text-strong);--cc-btn-secondary-hover-border-color: var(--color-neutral-200);--cc-separator-border-color: var(--color-border);--cc-toggle-off-bg: var(--color-text-muted);--cc-toggle-on-knob-bg: var(--color-surface);--cc-toggle-readonly-bg: var(--color-neutral-300);--cc-toggle-readonly-knob-bg: var(--color-surface);--cc-cookie-category-block-bg: var(--color-bg-subtle);--cc-cookie-category-block-border: var(--color-border);--cc-cookie-category-block-hover-bg: var(--color-neutral-100);--cc-cookie-category-block-hover-border: var(--color-border);--cc-cookie-category-expanded-block-hover-bg: var(--color-neutral-100);--cc-overlay-bg: color-mix(in srgb, var(--color-black) 65%, transparent);--cc-footer-border-color: var(--color-border)}:root{--swiper-theme-color: var(--color-action);--swiper-preloader-color: var(--color-action)}.editorial{--color-heading: var(--color-neutral-900)}.band-dark,.card-dark,.cta-panel,.site-banner,.on-dark{--color-bg: var(--color-bg-dark);--color-bg-subtle: color-mix(in srgb, var(--color-white) 4%, var(--color-bg-dark));--color-surface: color-mix(in srgb, var(--color-white) 6%, transparent);--color-surface-tint: color-mix(in srgb, var(--color-white) 10%, transparent);--color-heading: var(--color-heading-dark);--color-text-strong: var(--color-heading-dark);--color-text: var(--color-text-dark);--color-text-muted: var(--color-text-muted-dark);--color-accent: var(--color-accent-dark);--color-link: var(--color-accent-dark);--color-link-hover: var(--color-white);--color-border: var(--color-border-dark);--color-border-strong: color-mix(in srgb, var(--color-white) 28%, transparent);--color-border-hover: color-mix(in srgb, var(--color-white) 44%, transparent);--color-border-accent: color-mix(in srgb, var(--color-white) 40%, transparent);--highlight: inset 0 1px 0 color-mix(in srgb, var(--color-white) 8%, transparent);--tone-tint: 18%;--tone-tint-card: 8%;--illo-text: var(--color-text-muted-dark);--illo-line: color-mix(in srgb, var(--color-white) 24%, transparent);--illo-node: color-mix(in srgb, var(--color-white) 6%, transparent);--illo-node-border: var(--color-border-dark);--illo-node-tint: 12%;--illo-group-tint: 8%;--button-primary-bg: var(--color-white);--button-primary-fg: var(--color-brand-ink);--button-primary-shadow: none}.h1,.h2,.h3,.h4,.h5,.h6{margin-block:0;font-family:var(--heading-font);font-weight:var(--heading-weight);line-height:var(--leading-heading);letter-spacing:var(--heading-tracking);color:var(--color-heading);text-wrap:balance}.h1{font-size:var(--text-5xl);font-weight:var(--heading-weight-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter)}.h2{font-size:var(--text-4xl)}.h3{font-size:var(--text-3xl)}.h4{font-size:var(--text-2xl)}.h5{font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:normal}.h6{font-size:var(--text-md);line-height:var(--leading-snug);letter-spacing:normal}.lede{margin-block:0;font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text);text-wrap:pretty}.eyebrow{margin-block:0;font-family:var(--eyebrow-font);font-size:var(--text-xs);font-weight:var(--eyebrow-weight);line-height:var(--leading-normal);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-accent)}.meta{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl);margin-block:0}.meta-item{display:flex;flex-direction:column;gap:var(--space-2xs)}.meta-label{font-family:var(--eyebrow-font);font-size:var(--text-xs);font-weight:var(--eyebrow-weight);line-height:var(--leading-normal);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.meta-value{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal);color:var(--color-text-strong)}.text-md{font-size:var(--text-md);line-height:var(--leading-relaxed)}.text-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-xs{font-size:var(--text-xs);line-height:var(--leading-normal)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-strong{font-weight:var(--weight-semibold);color:var(--color-text-strong)}.text-mono{font-family:var(--font-mono)}.text-center{text-align:center}.text-link{color:var(--color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease)}.text-link:hover{color:var(--color-link-hover)}.link-arrow{display:inline-flex;align-items:center;gap:.375em;font-weight:var(--weight-semibold);color:var(--color-link);text-decoration:none;transition:color var(--duration-fast) var(--ease)}.link-arrow:after{content:"→";transition:transform var(--duration) var(--ease)}.link-arrow:hover{color:var(--color-link-hover)}.link-arrow:hover:after{transform:translate(3px)}.prose{max-width:var(--measure);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text);overflow-wrap:break-word}.prose :where(p,ul,ol,dl,blockquote,figure,pre,table,hr,img,video,iframe,details){margin-block:0}.prose :where(p){line-height:inherit}.prose>*+*{margin-top:1.25em}.prose>:where(figure,pre,table,aside,.card,.terminal){margin-block:2em}.prose>:where(h2,h3,h4,h5,h6){margin-block:2em 0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose>:where(h2,h3,h4,h5,h6)+*{margin-top:.75em}.prose :where(h2,h3,h4,h5,h6){font-family:var(--heading-font);font-weight:var(--heading-weight);line-height:var(--leading-heading);letter-spacing:var(--heading-tracking);color:var(--color-heading);text-wrap:balance;scroll-margin-top:calc(var(--nav-height, 4.5rem) + var(--space-md))}.prose :where(h2){font-size:var(--text-2xl)}.prose :where(h3){font-size:var(--text-xl)}.prose :where(h4,h5,h6){font-size:var(--text-md);letter-spacing:normal}.prose :where(a){color:var(--color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease)}.prose :where(a:hover){color:var(--color-link-hover)}.prose :where(strong,b){font-weight:var(--weight-bold);color:var(--color-text-strong)}.prose :where(code){padding:.125em .375em;border-radius:var(--radius-xs);background:var(--color-bg-subtle);border:var(--border-width) solid var(--color-border);font-family:var(--font-mono);font-size:.875em;color:var(--color-text-strong)}.prose :where(mark){padding:0 .125em;background:var(--color-brand-100);color:inherit}.prose :where(ul,ol){padding-left:1.5em}.prose :where(li){margin:0;padding-left:.25em}.prose :where(li+li,li>ul,li>ol){margin-top:.5em}.prose :where(li)::marker{color:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.prose :where(ol>li)::marker{font-weight:var(--weight-semibold)}.prose :where(blockquote,.callout){padding:var(--space-md) var(--space-lg);border:0;border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface-tint);font-size:inherit;line-height:inherit;color:var(--color-text-strong)}.prose :where(blockquote,.callout)>*+*{margin-top:.75em}.prose :where(blockquote cite){display:block;font-size:var(--text-sm);font-style:normal;color:var(--color-text-muted)}.prose :where(img,video){display:block;max-width:100%;height:auto;border-radius:var(--radius-md)}.prose :where(figure>svg){display:block;width:100%;height:auto}.prose :where(iframe){display:block;width:100%;height:auto;aspect-ratio:16 / 9;border:0;border-radius:var(--radius-md)}.prose :where(.media-narrow){max-width:min(var(--media-narrow),100%);margin-inline:auto}.prose :where(figcaption){margin-top:var(--space-xs);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:center;color:var(--color-text-muted)}.prose :where(pre){padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-neutral-900);color:var(--color-neutral-100);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);white-space:pre-wrap;overflow-wrap:anywhere}.prose :where(pre code){padding:0;border:0;background:none;font-size:inherit;color:inherit}.prose :where(table){display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:var(--text-sm);line-height:var(--leading-normal)}@media(min-width:768px){.prose :where(table){display:table;width:100%}}.prose :where(th,td){padding:var(--space-sm) var(--space-md);border:0;border-bottom:var(--border-width) solid var(--color-border);text-align:left;vertical-align:top}.prose :where(th){font-weight:var(--weight-semibold);color:var(--color-text-strong)}.prose :where(thead th){border-bottom-color:var(--color-border-strong);background:var(--color-bg-subtle)}.prose :where(tr.is-highlight>*){background:color-mix(in srgb,var(--color-action) 5%,transparent);color:var(--color-text-strong)}.prose :where(.guide-table){display:block;font-size:var(--text-xs)}@media(min-width:992px){.prose :where(.guide-table){display:table;table-layout:fixed}}.prose :where(.guide-table th,.guide-table td){padding:var(--space-xs) var(--space-sm)}.prose :where(.guide-table td:first-child){font-weight:var(--weight-semibold);color:var(--color-text-strong)}@media(min-width:992px){.prose>:where(.guide-table,.diagram-canvas,figure:has(>.diagram-canvas)){--wide: min(var(--measure-wide), 100vw - 2 * var(--gutter));width:var(--wide);max-width:none;margin-inline:calc((100% - var(--wide)) / 2)}}.prose :where(hr){height:0;border:0;border-top:var(--border-width) solid var(--color-border);margin-block:2.5em}.toc{margin:0;padding:0;list-style:none;counter-reset:toc;font-size:var(--text-sm);line-height:var(--leading-snug)}.toc>li{display:flex;gap:var(--space-sm);margin:0;padding-block:var(--space-2xs);break-inside:avoid;counter-increment:toc}.toc>li:before{content:counter(toc,decimal-leading-zero);flex:none;min-width:1.5em;font-family:var(--font-label);color:var(--color-accent)}.toc a{color:var(--color-text-strong);text-decoration:none;transition:color var(--duration-fast) var(--ease)}.toc a:hover{color:var(--color-link-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}@media(min-width:768px){.toc{columns:2;column-gap:var(--space-xl)}}.btn,.newsletter input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--button-padding);border:var(--border-width) solid transparent;border-radius:var(--button-radius);font-family:var(--button-font);font-size:var(--button-size);font-weight:var(--button-weight);line-height:1.25;letter-spacing:var(--button-tracking);text-transform:var(--button-transform);text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.btn:hover,.newsletter input[type=submit]:hover{transform:translateY(var(--hover-lift))}.btn:active,.newsletter input[type=submit]:active{transform:none}.btn:focus-visible,.newsletter input[type=submit]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn svg{flex:none;width:1.125em;height:1.125em}.btn-primary,.newsletter input[type=submit]{background:var(--button-primary-bg, var(--gradient-action));color:var(--button-primary-fg, var(--color-on-action));box-shadow:var(--button-primary-shadow, var(--shadow-action))}.btn-primary:hover,.newsletter input[type=submit]:hover{color:var(--button-primary-fg, var(--color-on-action));box-shadow:var(--button-primary-shadow, var(--shadow-action-hover))}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-accent);color:var(--color-text-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-action) 6%,var(--color-surface));border-color:var(--color-accent);color:var(--color-text-strong)}.btn-arrow:after{content:"";flex:none;width:1em;height:1em;background:currentColor;-webkit-mask:var(--button-arrow) center / contain no-repeat;mask:var(--button-arrow) center / contain no-repeat;transition:transform var(--duration) var(--ease)}.btn-arrow:hover:after{transform:translate(var(--hover-nudge))}.btn-block{display:flex;width:100%}.btn-sm{padding:var(--button-padding-sm);font-size:var(--text-sm)}.btn-lg{padding:var(--button-padding-lg);font-size:var(--text-md)}.tone-success{--tone: var(--color-status-success)}.tone-info{--tone: var(--color-status-info)}.tone-warning{--tone: var(--color-status-warning)}.tone-danger{--tone: var(--color-status-danger)}.tone-neutral{--tone: var(--color-neutral-500)}.tone-brand{--tone: var(--color-brand-cta)}.chip{display:inline-flex;align-items:center;gap:var(--space-2xs);width:fit-content;padding:.25rem .625rem;border:var(--border-width) solid color-mix(in srgb,var(--tone) var(--tone-line),var(--color-surface));border-radius:var(--chip-radius);background:color-mix(in srgb,var(--tone) var(--tone-tint),var(--color-surface));font-family:var(--chip-font);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);color:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong));white-space:nowrap;text-decoration:none}.chip svg{width:1em;height:1em}.chip-caps{letter-spacing:var(--tracking-caps);text-transform:uppercase}.chip-dot:before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}.chip-solid{border-color:transparent;background:var(--tone);color:var(--color-on-action)}.chip-sm{padding:0 .4375rem;font-size:var(--text-2xs);font-weight:var(--weight-bold)}.mark{display:inline-block;flex:none;width:1.125em;height:1lh;background:var(--tone);mask:var(--mark-glyph, var(--mark-yes)) center / 1.125em no-repeat}.mark-partial{--tone: var(--color-status-warning);--mark-glyph: var(--mark-partial)}.mark-no{--tone: var(--color-status-danger);--mark-glyph: var(--mark-no)}.mark-unknown{--tone: var(--color-neutral-500);--mark-glyph: var(--mark-unknown)}.marked{display:flex;align-items:flex-start;gap:var(--space-xs)}.card{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;padding:var(--card-padding);border:var(--border-width) solid var(--card-border, var(--color-border));border-radius:var(--card-radius);background:var(--card-bg, var(--color-surface));box-shadow:var(--highlight),var(--card-shadow);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.card>*{margin-block:0}.card-title{font-family:var(--heading-font);font-size:var(--text-lg);font-weight:var(--heading-weight);line-height:var(--leading-snug);letter-spacing:normal;color:var(--color-heading)}.card-footer{margin-top:auto;padding-top:var(--space-xs)}.card-tint{--card-bg: color-mix(in srgb, var(--tone) var(--tone-tint-card), var(--color-surface));--card-border: color-mix(in srgb, var(--tone) var(--tone-line), var(--color-surface))}.card-dark{--card-bg: var(--color-bg-dark)}.card-lg{--card-padding: var(--space-xl);gap:var(--space-md)}.card-link{color:var(--color-text-muted);text-decoration:none;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.card-link:hover{transform:translateY(var(--hover-lift));border-color:var(--color-border-accent);box-shadow:var(--highlight),var(--card-shadow-hover)}.card-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.card-media{margin:calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) var(--space-xs);border-radius:var(--card-radius) var(--card-radius) 0 0;overflow:hidden;background:var(--color-bg-subtle)}.card-media img{display:block;width:100%;height:auto;aspect-ratio:var(--card-media-ratio);object-fit:cover}.card-body{display:flex;flex:1;flex-direction:column;gap:var(--space-sm)}.card-body>*{margin-block:0}@media(min-width:992px){.card-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--space-2xl)}.card-feature .card-media{order:2;margin:0;border-radius:var(--radius-md)}}.icon-tile{display:inline-grid;flex:none;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--tone) var(--tone-tint),var(--color-surface));color:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.icon-tile svg{width:1.5rem;height:1.5rem}.stat{display:flex;flex-direction:column;gap:var(--space-2xs)}.stat-value{font-family:var(--heading-font);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.stat-label{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.quote{display:flex;flex-direction:column;gap:var(--space-md);margin:0}.quote-text{margin:0;padding:0;border:0;font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-strong)}.quote-text-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.quote-author{display:flex;align-items:flex-start;gap:var(--space-sm);margin:0;font-size:var(--text-sm);text-align:left;line-height:var(--leading-snug);font-style:normal}.quote-author.card-footer{margin-top:auto}.quote-author img{flex:none;width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover}.quote-name{display:block;font-weight:var(--weight-semibold);color:var(--color-text-strong)}.quote-role{display:block;color:var(--color-text-muted)}.cta-panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-lg);border-radius:var(--radius-xl);background:var(--gradient-inverse);text-align:center;color:var(--color-text);overflow:hidden;isolation:isolate}.cta-panel:before{content:"";position:absolute;inset:auto 0 -40%;height:80%;background:radial-gradient(closest-side,color-mix(in srgb,var(--color-action) 45%,transparent),transparent);z-index:-1}.cta-panel>*{margin-block:0;max-width:var(--container-narrow)}.logo-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-lg) var(--space-2xl)}.logo-row img{display:block;width:auto;height:1.75rem}.logo-mark{display:block;width:auto;max-width:12rem;height:var(--space-xl);object-fit:contain;object-position:left center}.logo-tile{display:inline-flex;flex:none;align-items:center;height:var(--logo-tile-height);padding:0 var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-xs)}.logo-tile img{display:block;width:auto;height:1.5rem}.form-field{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:normal;text-transform:none;color:var(--color-text-strong)}.form-hint{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.form-input,.newsletter input[type=email]{display:block;width:100%;min-height:2.875rem;padding:.625rem .875rem;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--input-radius);background:var(--color-surface);box-shadow:var(--shadow-xs);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-strong);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.form-input::placeholder,.newsletter input[type=email]::placeholder{color:var(--color-text-muted)}.form-input:hover,.newsletter input[type=email]:hover{border-color:var(--color-border-hover)}.form-input:focus,.newsletter input[type=email]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 20%,transparent)}textarea.form-input{min-height:7.5rem;resize:vertical}select.form-input{appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:1rem}.check{display:inline-flex;align-items:center;gap:var(--space-xs);margin:0;font-size:var(--text-base);font-weight:var(--weight-regular);letter-spacing:normal;text-transform:none;color:var(--color-text);cursor:pointer}.check input{appearance:none;display:grid;flex:none;place-content:center;width:1.125rem;height:1.125rem;margin:0;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface);cursor:pointer;transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.check input[type=radio]{border-radius:50%}.check input:before{content:"";width:.625rem;height:.625rem;transform:scale(0);transition:transform var(--duration-fast) var(--ease);background:var(--color-on-action);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.check input[type=radio]:before{width:.5rem;height:.5rem;border-radius:50%;clip-path:none}.check input:checked{border-color:var(--color-action);background:var(--color-action)}.check input:checked:before{transform:scale(1)}.check input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.filter-list{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;margin:0;padding:0;border:0}.filter-list .check{display:flex}.check-count{margin-left:auto;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.newsletter form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-sm);margin:0}.newsletter .hs-form-field>label,.newsletter .hs_error_rollup{display:none}.newsletter .hs_email{position:relative;flex:999 1 14rem;min-width:0}.newsletter .hs_submit{flex:1 0 auto}.newsletter input[type=submit]{width:100%}.newsletter .hs-error-msgs{position:absolute;margin:var(--space-2xs) 0 0;padding:0;list-style:none}.newsletter .hs-error-msg{margin:0;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);letter-spacing:normal;text-transform:none;color:var(--color-status-danger)}.newsletter .submitted-message{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text)}.tabs{display:inline-flex;flex-wrap:wrap;gap:var(--space-2xs);max-width:100%;padding:var(--space-2xs);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.tab{appearance:none;margin:0;padding:var(--space-xs) var(--space-md);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);background:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:normal;text-transform:none;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.tab:hover{color:var(--color-text-strong)}.tab[aria-selected=true]{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text-strong)}.tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.accordion{font-family:var(--font-body)}.accordion-item{border-bottom:var(--border-width) solid var(--color-border);interpolate-size:allow-keywords}.accordion-item:first-child{border-top:var(--border-width) solid var(--color-border)}.accordion-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:calc(var(--space-md) + var(--space-2xs));font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-strong);list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease)}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary:hover{color:var(--color-accent)}.accordion-summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-sm)}.accordion-icon{display:flex;flex:none;align-items:center;justify-content:center;width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-text-strong) 5%,transparent);color:var(--color-text);transition:transform var(--duration-slow) var(--ease-out),background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.accordion-icon svg{width:1.25rem;height:1.25rem}.accordion-summary:hover .accordion-icon{background:color-mix(in srgb,var(--color-action) 12%,transparent);color:var(--color-accent)}.accordion-item[open]>.accordion-summary .accordion-icon{transform:rotate(180deg);background:var(--color-action);color:var(--color-on-action)}.accordion-panel{padding:0 0 var(--space-lg);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text)}@media(min-width:768px){.accordion-panel{padding-right:var(--space-3xl)}}.accordion-panel>*{max-width:68ch;margin-block:0}.accordion-panel>*+*{margin-top:var(--space-sm)}.accordion-panel :where(p,li){font-size:inherit;line-height:inherit}.accordion-panel a{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}.accordion-panel a:hover{color:var(--color-link-hover)}.accordion-item::details-content{block-size:0;overflow-y:clip;transition:block-size var(--duration-slow) var(--ease-out),content-visibility var(--duration-slow) allow-discrete}.accordion-item[open]::details-content{block-size:auto}@media(prefers-reduced-motion:reduce){.accordion-summary,.accordion-icon,.accordion-item::details-content{transition:none}}.table-scroll{max-width:100%;overflow-x:auto;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:collapse;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text)}.table th,.table td{padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width) solid var(--color-border);text-align:left;vertical-align:top}.table thead th{background:var(--color-bg-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.table tbody th{font-weight:var(--weight-semibold);color:var(--color-text-strong)}.table tbody tr:last-child>*{border-bottom:0}.table .is-highlight{background:color-mix(in srgb,var(--color-action) 5%,transparent);color:var(--color-text-strong)}.table-stack thead{display:none}.table-stack tr,.table-stack th,.table-stack td{display:block}.table-stack tbody tr{padding-block:var(--space-sm);border-bottom:var(--border-width) solid var(--color-border)}.table-stack tbody tr:last-child{border-bottom:0}.table-stack th,.table-stack td{padding-block:var(--space-xs);border-bottom:0}.table-stack td[data-label]:before{content:attr(data-label);display:block;margin-bottom:var(--space-2xs);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}@media(min-width:768px){.table-stack thead{display:table-header-group}.table-stack tr{display:table-row}.table-stack tbody tr{border-bottom:0}.table-stack th,.table-stack td{display:table-cell;padding-block:var(--space-md);border-bottom:var(--border-width) solid var(--color-border)}.table-stack tbody tr:last-child>*{border-bottom:0}.table-stack td[data-label]:before{content:none}}.code-block{margin:0;padding:var(--space-lg);border:var(--border-width) solid var(--color-border-dark);border-radius:var(--radius-lg);background:var(--color-neutral-900);box-shadow:var(--shadow-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-neutral-200);white-space:pre-wrap;overflow-wrap:anywhere}.code-block :where(code){padding:0;border:0;background:none;font:inherit;color:inherit}.code-comment{color:var(--color-neutral-500)}.code-accent{color:var(--color-brand-300)}.terminal{border:var(--border-width) solid var(--color-border-dark);border-radius:var(--radius-lg);background:var(--color-neutral-900);box-shadow:var(--shadow-lg);overflow:hidden}.terminal-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--color-border-dark);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-neutral-400)}.terminal-bar:before{content:"";flex:none;width:.625rem;height:.625rem;margin-right:2.25rem;border-radius:50%;background:var(--color-neutral-600);box-shadow:1rem 0 0 var(--color-neutral-600),2rem 0 0 var(--color-neutral-600)}.terminal .code-block{border:0;border-radius:0;box-shadow:none}.diagram-canvas{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:clamp(1.25rem,.702rem + 2.247vw,2.5rem);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg-subtle);background-image:radial-gradient(circle,color-mix(in srgb,var(--color-neutral-900) 9%,transparent) 1px,transparent 1.5px),linear-gradient(135deg,color-mix(in srgb,var(--tone) var(--illo-wash),transparent),transparent 45% 55%,color-mix(in srgb,var(--illo-line-accent) var(--illo-wash),transparent));background-size:18px 18px,100% 100%;background-position:center,0 0;--diagram-bg: var(--color-bg-subtle);justify-content:center;font-family:var(--illo-font);font-size:var(--illo-text-size);line-height:var(--leading-snug);color:var(--illo-text)}.diagram-canvas-sm{gap:var(--space-sm);padding:var(--space-md)}.diagram-canvas-sm .diagram-node{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.diagram-canvas-sm .diagram-node .icon-tile{width:1.75rem;height:1.75rem}.diagram-canvas-sm .diagram-node .icon-tile svg{width:1rem;height:1rem}.diagram-canvas-sm .diagram-group{gap:var(--space-xs);padding:var(--space-sm)}.diagram-canvas-sm .diagram-link{min-height:2rem}.diagram-flow{display:flex;flex-direction:column;align-items:center;width:100%}@media(min-width:768px){.diagram-flow{flex-direction:row;align-items:center}}.diagram-node{display:flex;align-items:center;gap:var(--space-sm);min-width:0;max-width:100%;padding:var(--space-sm) var(--space-md);border:var(--stroke-thin) solid color-mix(in srgb,var(--tone) var(--illo-node-line),var(--illo-node-border));border-radius:var(--illo-radius);background:color-mix(in srgb,var(--tone) var(--illo-node-tint),var(--illo-node));box-shadow:var(--highlight),var(--illo-shadow);text-align:left}.diagram-node .icon-tile{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm)}.diagram-node .icon-tile svg{width:1.25rem;height:1.25rem}.diagram-node-title{display:block;font-weight:var(--weight-semibold);color:var(--color-text-strong)}.diagram-node-detail{display:block;font-family:var(--illo-label-font);font-size:var(--text-xs);color:var(--color-text-muted)}.diagram-node-accent{border-color:color-mix(in srgb,var(--tone) 55%,transparent);background:color-mix(in srgb,var(--tone) calc(var(--illo-node-tint) * 2.5),var(--illo-node));box-shadow:var(--highlight),0 0 0 4px color-mix(in srgb,var(--tone) var(--illo-glow-tint),transparent),0 8px 24px -6px color-mix(in srgb,var(--tone) calc(var(--illo-glow-tint) * 3),transparent)}.diagram-node-end{margin-left:auto}.diagram-node-ghost{border-style:dashed;border-color:var(--color-border-strong);background:transparent;box-shadow:none;color:var(--color-text-muted)}.diagram-node-ghost .diagram-node-title{color:var(--color-text-muted)}.diagram-link{position:relative;display:flex;flex:1 1 3.5rem;align-items:center;justify-content:center;align-self:stretch;min-height:3.5rem;padding:var(--space-xs) 0 var(--space-sm)}.diagram-link:before{content:"";position:absolute;top:0;bottom:5px;left:50%;width:var(--stroke);transform:translate(-50%);background:linear-gradient(to bottom,var(--illo-line),var(--illo-line-accent))}.diagram-link:after{content:"";position:absolute;bottom:3px;left:50%;width:7px;height:7px;border-right:var(--stroke) solid var(--illo-line-accent);border-bottom:var(--stroke) solid var(--illo-line-accent);transform:translate(-50%) rotate(45deg)}.diagram-link>*{position:relative;padding:.125rem .5rem;border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-pill);background:var(--diagram-bg, var(--color-bg-subtle));font-family:var(--illo-label-font);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-text-muted);white-space:nowrap}@media(min-width:768px){.diagram-link{align-self:auto;min-width:4rem;min-height:0;padding:0 var(--space-sm) 0 var(--space-xs)}.diagram-link:has(>*){min-width:max-content}.diagram-link:before{inset:50% 5px auto 0;width:auto;height:var(--stroke);transform:translateY(-50%);background:linear-gradient(to right,var(--illo-line),var(--illo-line-accent))}.diagram-link:after{inset:50% 3px auto auto;transform:translateY(-50%) rotate(-45deg)}}.diagram-link-flow:before{background:repeating-linear-gradient(to bottom,var(--illo-line-accent) 0 4px,transparent 4px 10px);animation:diagram-flow-y 1.2s linear infinite}@media(min-width:768px){.diagram-link-flow:before{background:repeating-linear-gradient(to right,var(--illo-line-accent) 0 4px,transparent 4px 10px);animation-name:diagram-flow-x}}@keyframes diagram-flow-x{to{background-position:10px 0}}@keyframes diagram-flow-y{to{background-position:0 10px}}@media(prefers-reduced-motion:reduce){.diagram-link-flow:before{animation:none}}.diagram-flow-down{align-items:stretch}@media(min-width:768px){.diagram-flow-down{flex-direction:column;align-items:stretch}.diagram-flow-down>.diagram-link{align-self:stretch;min-width:0;min-height:3.5rem;padding:var(--space-xs) 0 var(--space-sm)}.diagram-flow-down>.diagram-link:before{inset:0 auto 5px 50%;width:var(--stroke);height:auto;transform:translate(-50%);background:linear-gradient(to bottom,var(--illo-line),var(--illo-line-accent))}.diagram-flow-down>.diagram-link:after{inset:auto auto 3px 50%;transform:translate(-50%) rotate(45deg)}}.diagram-group{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;max-width:100%;padding:var(--space-md);border:var(--stroke-thin) dashed color-mix(in srgb,var(--tone) var(--illo-group-line),transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--tone) var(--illo-group-tint),transparent)}.diagram-label{font-family:var(--illo-label-font);font-size:var(--text-xs);font-weight:var(--eyebrow-weight);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:color-mix(in srgb,var(--tone) 75%,var(--color-text-strong))}.diagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--space-sm)}.diagram-status{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 18%,transparent)}.illo-line,.illo-line-accent{fill:none;stroke:var(--illo-line);stroke-width:var(--stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.illo-line-accent{stroke:var(--illo-line-accent)}.illo-dashed{stroke-dasharray:var(--stroke-dash)}:is(feDropShadow,feFlood){flood-color:var(--illo-shadow-ink)}.illo text{font-family:var(--illo-font)}.illo .illo-mono{font-family:var(--font-mono)}.illo-w-thin{stroke-width:var(--stroke-thin)}.illo-w{stroke-width:var(--stroke)}.illo-w-bold{stroke-width:var(--stroke-bold)}.illo-fill-surface{fill:var(--illo-node)}.illo-stroke-surface{stroke:var(--illo-node)}.illo-stop-surface{stop-color:var(--illo-node)}.illo-fill-subtle{fill:var(--color-bg-subtle)}.illo-stroke-subtle{stroke:var(--color-bg-subtle)}.illo-stop-subtle{stop-color:var(--color-bg-subtle)}.illo-fill-faint{fill:color-mix(in srgb,var(--color-neutral-500) 14%,var(--color-surface))}.illo-stroke-faint{stroke:var(--illo-node-border)}.illo-stop-faint{stop-color:color-mix(in srgb,var(--color-neutral-500) 14%,var(--color-surface))}.illo-fill-edge{fill:color-mix(in srgb,var(--color-neutral-500) 30%,var(--color-surface))}.illo-stroke-edge{stroke:var(--color-border-strong)}.illo-stop-edge{stop-color:color-mix(in srgb,var(--color-neutral-500) 30%,var(--color-surface))}.illo-fill-line{fill:var(--illo-line)}.illo-stroke-line{stroke:var(--illo-line)}.illo-stop-line{stop-color:var(--illo-line)}.illo-fill-muted{fill:var(--color-text-muted)}.illo-stroke-muted{stroke:var(--color-text-muted)}.illo-stop-muted{stop-color:var(--color-text-muted)}.illo-fill-label{fill:var(--illo-text)}.illo-stroke-label{stroke:var(--illo-text)}.illo-stop-label{stop-color:var(--illo-text)}.illo-fill-text{fill:var(--color-text)}.illo-stroke-text{stroke:var(--color-text)}.illo-stop-text{stop-color:var(--color-text)}.illo-fill-strong{fill:var(--color-text-strong)}.illo-stroke-strong{stroke:var(--color-text-strong)}.illo-stop-strong{stop-color:var(--color-text-strong)}.illo-fill-faint-tint{fill:color-mix(in srgb,var(--tone) var(--tone-tint-card),var(--color-surface))}.illo-stroke-faint-tint{stroke:color-mix(in srgb,var(--tone) var(--tone-tint-card),var(--color-surface))}.illo-stop-faint-tint{stop-color:color-mix(in srgb,var(--tone) var(--tone-tint-card),var(--color-surface))}.illo-fill-tint{fill:color-mix(in srgb,var(--tone) var(--tone-tint),var(--color-surface))}.illo-stroke-tint{stroke:color-mix(in srgb,var(--tone) var(--tone-tint),var(--color-surface))}.illo-stop-tint{stop-color:color-mix(in srgb,var(--tone) var(--tone-tint),var(--color-surface))}.illo-fill-soft{fill:color-mix(in srgb,var(--tone) var(--tone-line),var(--color-surface))}.illo-stroke-soft{stroke:color-mix(in srgb,var(--tone) var(--tone-line),var(--color-surface))}.illo-stop-soft{stop-color:color-mix(in srgb,var(--tone) var(--tone-line),var(--color-surface))}.illo-fill-mid{fill:color-mix(in srgb,var(--tone) 60%,var(--color-surface))}.illo-stroke-mid{stroke:color-mix(in srgb,var(--tone) 60%,var(--color-surface))}.illo-stop-mid{stop-color:color-mix(in srgb,var(--tone) 60%,var(--color-surface))}.illo-fill-tone{fill:var(--tone)}.illo-stroke-tone{stroke:var(--tone)}.illo-stop-tone{stop-color:var(--tone)}.illo-fill-ink{fill:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.illo-stroke-ink{stroke:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.illo-stop-ink{stop-color:color-mix(in srgb,var(--tone) 80%,var(--color-text-strong))}.site-banner{position:relative;z-index:100;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-bottom:var(--border-width) solid var(--color-border);background:var(--gradient-banner);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal);color:var(--color-text-strong);text-decoration:none}.site-banner:hover{color:var(--color-text-strong);background:var(--gradient-banner-hover)}.site-banner>svg{flex:none;width:1rem;height:1rem;transition:transform var(--duration) var(--ease)}.site-banner:hover>svg{transform:translate(2px)}@media(max-width:479px){.site-banner{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}}.site-header{position:relative;z-index:1000;display:flex;align-items:center;width:100%;min-height:var(--header-height-sm);padding-inline:var(--gutter);border-bottom:var(--border-width) solid transparent;font-family:var(--nav-font);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-strong)}@media(min-width:768px){.site-header{min-height:var(--header-height)}}.site-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--container-max);margin-inline:auto}.site-header-logo{display:block;flex:none}.site-header-logo img{display:block;width:8.5rem;height:auto}@media(min-width:768px){.site-header-logo img{width:10.25rem}}.site-header-spacer{display:none}.site-header-spacer.is-active{display:block}.site-header.is-stuck{position:fixed;inset:0 0 auto;border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.site-header-toggle{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 calc(-1 * var(--space-xs)) 0 0;padding:0;border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.site-header-burger{display:flex;flex-direction:column;gap:6px;width:1.5rem}.site-header-burger>span{height:2px;background:currentColor;transition:transform var(--duration) var(--ease),opacity var(--duration-fast) var(--ease)}.site-header-toggle[aria-expanded=true] .site-header-burger>span:nth-child(1){transform:translateY(8px) rotate(45deg)}.site-header-toggle[aria-expanded=true] .site-header-burger>span:nth-child(2){opacity:0}.site-header-toggle[aria-expanded=true] .site-header-burger>span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-menu-links{display:flex}.site-menu-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin:0;padding:var(--space-xs) var(--space-md);border:0;background:none;font-family:var(--nav-font);font-size:var(--nav-size);font-weight:var(--nav-weight);line-height:var(--leading-normal);letter-spacing:var(--nav-tracking);text-transform:var(--nav-transform);text-decoration:none;white-space:nowrap;color:var(--color-text-strong);cursor:pointer}.site-menu-link:hover{color:var(--color-text-strong)}.site-menu-link[aria-current=page]{color:var(--color-action)}.site-menu-chevron{flex:none;width:1rem;height:1rem;transition:transform var(--duration) var(--ease)}.site-menu-link[aria-expanded=true] .site-menu-chevron{transform:rotate(180deg)}.site-header :is(button,a):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.site-menu-actions{display:flex;gap:var(--space-md)}.site-menu-panel{display:none}.site-menu-link[aria-expanded=true]+.site-menu-panel{display:block}.site-menu-columns{display:flex;align-items:flex-start;gap:var(--space-xl)}.site-menu-column{display:flex;flex-direction:column}.site-menu-head{margin:0;padding:var(--space-2xs) var(--space-sm) var(--space-xs);font-family:var(--eyebrow-font);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.site-menu-list{display:flex;flex-direction:column;gap:2px}.site-menu-list-2{display:grid;grid-template-columns:repeat(2,var(--menu-card-width));gap:2px var(--space-md)}.site-menu-card,.site-menu-item,.site-menu-text{border-radius:var(--radius-sm);font-size:var(--nav-size);line-height:var(--leading-normal);text-decoration:none;color:var(--color-text-strong);transition:background-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}:is(.site-menu-card,.site-menu-item,.site-menu-text):hover{background:color-mix(in srgb,var(--color-action) 6%,var(--color-surface));color:var(--color-text-strong)}.site-menu-icon{display:flex;flex:none;width:1.5rem;height:1.5rem;color:var(--color-accent)}.site-menu-icon :is(svg,img){width:100%;height:100%}.site-menu-card{position:relative;display:grid;grid-template-columns:max-content 1fr;align-items:start;gap:0 var(--space-md);padding:var(--space-sm) var(--space-xl) var(--space-sm) var(--space-sm)}.site-menu-card-title{display:block;font-weight:var(--weight-bold);letter-spacing:var(--nav-tracking);text-transform:var(--nav-transform)}.site-menu-card-text{display:block;margin-top:var(--space-2xs);color:var(--color-text-muted)}.site-menu-card-arrow{position:absolute;top:50%;right:var(--space-sm);width:1rem;height:1rem;transform:translateY(-50%) rotate(-90deg);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease)}.site-menu-card:hover .site-menu-card-arrow{color:var(--color-action)}.site-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);font-weight:var(--weight-bold);letter-spacing:var(--nav-tracking);text-transform:var(--nav-transform)}.site-menu-text{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-weight:var(--weight-semibold)}@media(max-width:1199.98px){.site-menu{display:none}.site-header.is-open .site-menu{position:absolute;top:100%;left:0;right:0;display:block;height:calc(100dvh - var(--nav-menu-top, var(--header-height-sm)));padding:var(--space-md) var(--gutter) var(--space-4xl);overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface);animation:site-menu-in var(--duration) var(--ease-out)}.site-menu-links{flex-direction:column}.site-menu-link{width:100%}.site-menu-panel{padding-bottom:var(--space-xs)}.site-menu-columns{flex-direction:column;gap:0}.site-menu-column{width:100%}.site-menu-list-2{grid-template-columns:minmax(0,1fr)}.site-menu-head{padding:var(--space-md) var(--space-xs) var(--space-xs)}.site-menu-card,.site-menu-item{align-items:center;padding:var(--space-sm) var(--space-xs)}.site-menu-text{padding:var(--space-xs)}.site-menu-card-text,.site-menu-card-arrow{display:none}.site-menu-actions{flex-direction:column;margin-top:var(--space-lg)}html.nav-menu-open,html.nav-menu-open body{overflow:hidden}}@keyframes site-menu-in{0%{opacity:0;transform:translateY(-6px)}}@media(min-width:1200px){.site-header-toggle{display:none}.site-header-inner{position:relative}.site-menu{display:flex;flex:1;align-items:center;justify-content:space-between;margin-left:var(--space-lg)}.site-menu-links{align-items:center;margin-inline:auto}.site-menu-actions{align-items:center;margin-left:var(--space-md)}.site-menu-panel{position:absolute;top:100%;left:50%;width:max-content;max-width:calc(100vw - 2 * var(--gutter));margin-top:var(--space-sm);padding:var(--space-md) var(--space-lg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);transform:translate(-50%);text-align:left}.site-menu-card{width:var(--menu-card-width)}}@media(prefers-reduced-motion:reduce){.site-banner>svg,.site-header-burger>span,.site-menu-chevron,.site-header.is-open .site-menu{transition:none;animation:none}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}[id]{scroll-margin-top:calc(var(--nav-height, var(--header-height)) + var(--space-md))}.site-footer{line-height:var(--leading-normal)}.site-footer-logo{display:block;width:fit-content}.site-footer-logo img{display:block;width:9.625rem;height:auto}.site-footer-columns{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--space-xl);text-align:center}.site-footer-column{display:flex;flex-direction:column;gap:var(--space-xl)}.site-footer-group{display:flex;flex-direction:column;gap:var(--space-md)}.site-footer-heading{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-normal);text-transform:uppercase;color:var(--color-text-strong)}.site-footer-links{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin:0;padding:0;list-style:none}.site-footer-links>li{margin:0}.site-footer-link,.site-footer-copyright{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);text-decoration:none;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease)}.site-footer-link:hover{color:var(--color-text-strong)}.site-footer-newsletter{width:100%;max-width:26rem}.site-footer-email{font-weight:var(--weight-semibold);text-decoration:none;color:var(--color-text-strong)}.site-footer-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-lg)}.site-footer-bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding-top:var(--space-lg);border-top:var(--border-width) solid var(--color-border-strong);text-align:center}.site-footer-legal{display:flex;flex-direction:column;gap:var(--space-md)}.site-footer-legal-links{display:flex;justify-content:center;gap:var(--space-md)}.site-footer-social{display:flex;align-items:center;gap:var(--space-lg)}.site-footer-social a{display:flex;color:var(--color-text-strong);transition:color var(--duration-fast) var(--ease)}.site-footer-social a:hover{color:var(--color-accent)}.site-footer-social svg{width:1.25rem;height:1.25rem}@media(max-width:767.98px){.site-footer-logo,.site-footer-newsletter{margin-inline:auto}}@media(min-width:768px){.site-footer-columns{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:start;text-align:left}.site-footer-links{align-items:flex-start}.site-footer-newsletter{grid-column:1 / -1}.site-footer-badges{justify-content:flex-start}.site-footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}.site-footer-legal-links{justify-content:flex-start}}@media(min-width:992px){.site-footer-columns{display:flex;justify-content:space-between;gap:var(--space-md)}}[hidden]{display:none!important}.band{padding-block:var(--band-space);background:var(--color-bg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text)}.band-sm{padding-block:var(--band-space-sm)}.band-lg{padding-block:var(--band-space-lg)}.band-subtle{--color-bg: var(--color-bg-subtle)}.band-tint{--color-bg: var(--color-bg-tint)}.band-hero{background:var(--gradient-hero)}.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container-narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.container-prose{max-width:calc(var(--measure) + 2 * var(--gutter))}.intro{display:flex;flex-direction:column;gap:var(--space-md);max-width:var(--container-narrow);margin-bottom:clamp(2.5rem,1.952rem + 2.247vw,3.75rem)}.intro>*{margin-block:0}.intro:last-child{margin-bottom:0}.intro-center{align-items:center;margin-inline:auto;text-align:center}.stack{--stack-space: var(--space-md)}.stack>*{margin-block:0}.stack>*+*{margin-block-start:var(--stack-space)}.stack-xs{--stack-space: var(--space-xs)}.stack-sm{--stack-space: var(--space-sm)}.stack-lg{--stack-space: var(--space-lg)}.stack-xl{--stack-space: var(--space-xl)}.stack-2xl{--stack-space: var(--space-2xl)}.row{display:flex;flex-wrap:wrap;align-items:center;--row-space: var(--space-sm);gap:var(--row-space)}.row-xs{--row-space: var(--space-xs)}.row-center{justify-content:center}.row-between{justify-content:space-between}.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--grid-space, var(--space-lg))}@media(min-width:768px){.grid-2,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:992px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--card-min-width)),1fr))}.grid-subgrid{--grid-space: var(--space-2xl) var(--space-lg)}.grid-subgrid>*{display:grid;grid-row:span var(--grid-parts, 4);grid-template-rows:subgrid;row-gap:var(--space-sm)}.grid-subgrid>*>*{margin:0}ul.grid,ol.grid{margin:0;padding:0;list-style:none}.grid>li{display:flex;flex-direction:column;margin:0}.grid>li>*{flex:1}.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-2xl)}@media(min-width:992px){.with-sidebar{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}}.columns{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--space-2xl)}@media(min-width:992px){.columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3xl)}.columns-flip>:first-child{order:2}}.divider{height:0;margin:0;border:0;border-top:var(--border-width) solid var(--color-border)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-astro-cid-sckkx6r4]:focus{outline:none}[data-astro-cid-sckkx6r4]:focus-visible{outline:2px solid currentColor;outline-offset:2px}.pointer-events-none[data-astro-cid-sckkx6r4]{pointer-events:none}.pointer-events-auto[data-astro-cid-sckkx6r4]{pointer-events:auto}.margin-0[data-astro-cid-sckkx6r4]{margin:0}.margin-top-0[data-astro-cid-sckkx6r4]{margin-top:0}.margin-bottom-0[data-astro-cid-sckkx6r4]{margin-bottom:0}.margin-left-0[data-astro-cid-sckkx6r4]{margin-left:0}.margin-right-0[data-astro-cid-sckkx6r4]{margin-right:0}.padding-0[data-astro-cid-sckkx6r4]{padding:0}.padding-top-0[data-astro-cid-sckkx6r4]{padding-top:0}.padding-bottom-0[data-astro-cid-sckkx6r4]{padding-bottom:0}.padding-left-0[data-astro-cid-sckkx6r4]{padding-left:0}.padding-right-0[data-astro-cid-sckkx6r4]{padding-right:0}.section-curved[data-astro-cid-sckkx6r4]{position:relative;overflow:hidden}.section-curved[data-astro-cid-sckkx6r4]:before{content:"";position:absolute;top:-50px;left:-5%;right:-5%;height:100px;background:inherit;border-radius:0 0 50% 50%}
