/* Metric-matched stand-ins shown until the web fonts load (widths measured against
   Arial/Liberation Sans): stops the hero reflowing when Raleway swaps in. */
@font-face {
	font-family: 'Raleway Fallback';
	src: local('Arial'), local('Liberation Sans'), local('Helvetica'), local('Roboto');
	size-adjust: 105.5%;
}
@font-face {
	font-family: 'Public Sans Fallback';
	src: local('Arial'), local('Liberation Sans'), local('Helvetica'), local('Roboto');
	size-adjust: 104%;
}
html {
	scroll-behavior: smooth;
	/* Clears the sticky header when jumping to an anchor. */
	scroll-padding-top: 6rem;
}
:target {
	scroll-margin-top: 6rem;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
/* Raleway ships proportional figures; line them up in stats and tables. */
.tabular-figures {
	font-variant-numeric: tabular-nums;
}
/*
	A lot of components call `focus:outline-none` and never replace it, which
	leaves keyboard users with no visible focus at all. One brand-red ring for
	everything, and only for keyboard focus so it never shows on mouse clicks.
*/
:focus-visible {
	border-radius: 0.125rem;
	outline: 2px solid transparent;
	outline-offset: 2px;
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
	--tw-ring-opacity: 1;
	--tw-ring-color: rgb(var(--color-primary-DEFAULT) / var(--tw-ring-opacity, 1));
	--tw-ring-offset-width: 2px;
	--tw-ring-offset-color: #fff;
}
.dark :focus-visible {
	--tw-ring-offset-color: rgb(var(--color-gray-950) / 1);
}
::-moz-selection {
	--tw-bg-opacity: 1;
	background-color: rgb(var(--color-primary-DEFAULT) / var(--tw-bg-opacity, 1));
	--tw-text-opacity: 1;
	color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
::selection {
	--tw-bg-opacity: 1;
	background-color: rgb(var(--color-primary-DEFAULT) / var(--tw-bg-opacity, 1));
	--tw-text-opacity: 1;
	color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
/* Retired from the public site, still used by the proposals layer. */
.grain-bg {
	background-image: url(/_snap/img/e7ce8b5c1a285961.png);
}
/* Product cut-outs fade in rather than snapping in once decoded. */
img {
	transition-property: opacity;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 300ms;
}
/* For Webkit-based browsers (Chrome, Safari and Opera) */
.scrollbar-hide::-webkit-scrollbar {
	display: none;
}
/* For IE, Edge and Firefox */
.scrollbar-hide {
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
/* ------------------------------------------------------------------ *
 * Structural system
 *
 * The spec is written in hsl(var(--foreground) / a). This project's
 * palette ships as space-separated RGB triples (Nuxt UI writes
 * --color-gray-900: 38 38 37), so the same idea is expressed with rgb().
 * The point holds: the band is the foreground ink at low opacity over the
 * same ground, not a separately-chosen grey, so it stays correct when the
 * theme flips.
 * ------------------------------------------------------------------ */
:root {
	--foreground: var(--color-gray-900);
	--border: rgb(var(--color-gray-900) / 0.12);
	--grid-line: rgb(var(--color-gray-900) / 0.09);
}
/* 1. Alternating ground — the primary divider. Full-bleed, hairline top and bottom. */
.section-band {
	background: rgb(var(--foreground) / 0.045);
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
/*
	3. Hairline lattice — one continuous grid rather than floating boxes.
	Negative margins collapse adjacent borders into a single shared hairline and
	the wrapper clips the outer edges, so it survives any column count and any
	wrap point without :nth-child rules.
*/
.lattice {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 12px;
}
.lattice > * {
	margin-left: -1px;
	margin-top: -1px;
	border-left: 1px solid var(--border);
	border-top: 1px solid var(--border);
}
/* On phones a lattice can become one swipeable row instead of a tall stack. */
@media (max-width: 767px) {
	.lattice--swipe {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.lattice--swipe::-webkit-scrollbar {
		display: none;
	}

	.lattice--swipe > * {
		flex: 0 0 84%;
		scroll-snap-align: start;
	}
}
/* 5. Architectural grid lines — quiet, but visible. */
.grid-rails {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.grid-rails--local {
	position: absolute;
}
/* Phones: the two verticals sit right against the text and read as clutter. */
@media (max-width: 767px) {
	.grid-rails {
		display: none;
	}
}
.grid-rails::before,
.grid-rails::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--grid-line);
}
.grid-rails::before {
	left: max(1.5rem, 50% - 43rem);
}
.grid-rails::after {
	right: max(1.5rem, 50% - 43rem);
}
@media (min-width: 768px) {
	.grid-rails::before {
		left: max(2rem, 50% - 43rem);
	}

	.grid-rails::after {
		right: max(2rem, 50% - 43rem);
	}
}
/* 8. Numerals in a sequence are data, not decoration. */
.seq-num {
	font-family: var(--font-mono), ui-monospace, monospace;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	font-variant-numeric: tabular-nums;
}
/* 7. Document pages: left-aligned on a 42rem measure, no banding. */
.document-body .section-band {
	background: none;
	border: 0;
}
.document-body section {
	padding-top: 0;
	padding-bottom: 2.5rem;
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}
.document-body [class*='text-center'] {
	text-align: left;
}
.document-body .mx-auto {
	margin-left: 0;
	margin-right: 0;
}
/* Anchors clear the sticky header. */
.document-body :is(h2, h3) {
	scroll-margin-top: 6rem;
}

/*# sourceMappingURL=data:application/json;base64,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Q2hCO0FBRUEscUNBQXFDO0FBQ3JDO0NBQ0MsdUJBQXVCO0FBQ3hCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIm1haW4uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIE1ldHJpYy1tYXRjaGVkIHN0YW5kLWlucyBzaG93biB1bnRpbCB0aGUgd2ViIGZvbnRzIGxvYWQgKHdpZHRocyBtZWFzdXJlZCBhZ2FpbnN0XG4gICBBcmlhbC9MaWJlcmF0aW9uIFNhbnMpOiBzdG9wcyB0aGUgaGVybyByZWZsb3dpbmcgd2hlbiBSYWxld2F5IHN3YXBzIGluLiAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUmFsZXdheSBGYWxsYmFjayc7XG5cdHNyYzogbG9jYWwoJ0FyaWFsJyksIGxvY2FsKCdMaWJlcmF0aW9uIFNhbnMnKSwgbG9jYWwoJ0hlbHZldGljYScpLCBsb2NhbCgnUm9ib3RvJyk7XG5cdHNpemUtYWRqdXN0OiAxMDUuNSU7XG59XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQdWJsaWMgU2FucyBGYWxsYmFjayc7XG5cdHNyYzogbG9jYWwoJ0FyaWFsJyksIGxvY2FsKCdMaWJlcmF0aW9uIFNhbnMnKSwgbG9jYWwoJ0hlbHZldGljYScpLCBsb2NhbCgnUm9ib3RvJyk7XG5cdHNpemUtYWRqdXN0OiAxMDQlO1xufVxuXG5odG1sIHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdC8qIENsZWFycyB0aGUgc3RpY2t5IGhlYWRlciB3aGVuIGp1bXBpbmcgdG8gYW4gYW5jaG9yLiAqL1xuXHRzY3JvbGwtcGFkZGluZy10b3A6IDZyZW07XG59XG5cbjp0YXJnZXQge1xuXHRzY3JvbGwtbWFyZ2luLXRvcDogNnJlbTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0aHRtbCB7XG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuXHR9XG59XG5cbmJvZHkge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuLyogUmFsZXdheSBzaGlwcyBwcm9wb3J0aW9uYWwgZmlndXJlczsgbGluZSB0aGVtIHVwIGluIHN0YXRzIGFuZCB0YWJsZXMuICovXG4udGFidWxhci1maWd1cmVzIHtcblx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLypcblx0QSBsb3Qgb2YgY29tcG9uZW50cyBjYWxsIGBmb2N1czpvdXRsaW5lLW5vbmVgIGFuZCBuZXZlciByZXBsYWNlIGl0LCB3aGljaFxuXHRsZWF2ZXMga2V5Ym9hcmQgdXNlcnMgd2l0aCBubyB2aXNpYmxlIGZvY3VzIGF0IGFsbC4gT25lIGJyYW5kLXJlZCByaW5nIGZvclxuXHRldmVyeXRoaW5nLCBhbmQgb25seSBmb3Iga2V5Ym9hcmQgZm9jdXMgc28gaXQgbmV2ZXIgc2hvd3Mgb24gbW91c2UgY2xpY2tzLlxuKi9cbjpmb2N1cy12aXNpYmxlIHtcblx0QGFwcGx5IG91dGxpbmUtbm9uZSByaW5nLTIgcmluZy1wcmltYXJ5IHJpbmctb2Zmc2V0LTIgcmluZy1vZmZzZXQtd2hpdGUgcm91bmRlZC1zbTtcbn1cblxuLmRhcmsgOmZvY3VzLXZpc2libGUge1xuXHRAYXBwbHkgcmluZy1vZmZzZXQtZ3JheS05NTA7XG59XG5cbjo6c2VsZWN0aW9uIHtcblx0QGFwcGx5IGJnLXByaW1hcnkgdGV4dC13aGl0ZTtcbn1cblxuLyogUmV0aXJlZCBmcm9tIHRoZSBwdWJsaWMgc2l0ZSwgc3RpbGwgdXNlZCBieSB0aGUgcHJvcG9zYWxzIGxheWVyLiAqL1xuLmdyYWluLWJnIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCd+fi9hc3NldHMvaW1nL25vaXNlLnBuZycpO1xufVxuXG4vKiBQcm9kdWN0IGN1dC1vdXRzIGZhZGUgaW4gcmF0aGVyIHRoYW4gc25hcHBpbmcgaW4gb25jZSBkZWNvZGVkLiAqL1xuaW1nIHtcblx0QGFwcGx5IHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi0zMDA7XG59XG5cbi8qIEZvciBXZWJraXQtYmFzZWQgYnJvd3NlcnMgKENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYSkgKi9cbi5zY3JvbGxiYXItaGlkZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBGb3IgSUUsIEVkZ2UgYW5kIEZpcmVmb3ggKi9cbi5zY3JvbGxiYXItaGlkZSB7XG5cdC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cblx0c2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTdHJ1Y3R1cmFsIHN5c3RlbVxuICpcbiAqIFRoZSBzcGVjIGlzIHdyaXR0ZW4gaW4gaHNsKHZhcigtLWZvcmVncm91bmQpIC8gYSkuIFRoaXMgcHJvamVjdCdzXG4gKiBwYWxldHRlIHNoaXBzIGFzIHNwYWNlLXNlcGFyYXRlZCBSR0IgdHJpcGxlcyAoTnV4dCBVSSB3cml0ZXNcbiAqIC0tY29sb3ItZ3JheS05MDA6IDM4IDM4IDM3KSwgc28gdGhlIHNhbWUgaWRlYSBpcyBleHByZXNzZWQgd2l0aCByZ2IoKS5cbiAqIFRoZSBwb2ludCBob2xkczogdGhlIGJhbmQgaXMgdGhlIGZvcmVncm91bmQgaW5rIGF0IGxvdyBvcGFjaXR5IG92ZXIgdGhlXG4gKiBzYW1lIGdyb3VuZCwgbm90IGEgc2VwYXJhdGVseS1jaG9zZW4gZ3JleSwgc28gaXQgc3RheXMgY29ycmVjdCB3aGVuIHRoZVxuICogdGhlbWUgZmxpcHMuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuOnJvb3Qge1xuXHQtLWZvcmVncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktOTAwKTtcblx0LS1ib3JkZXI6IHJnYih2YXIoLS1jb2xvci1ncmF5LTkwMCkgLyAwLjEyKTtcblx0LS1ncmlkLWxpbmU6IHJnYih2YXIoLS1jb2xvci1ncmF5LTkwMCkgLyAwLjA5KTtcbn1cblxuLyogMS4gQWx0ZXJuYXRpbmcgZ3JvdW5kIOKAlCB0aGUgcHJpbWFyeSBkaXZpZGVyLiBGdWxsLWJsZWVkLCBoYWlybGluZSB0b3AgYW5kIGJvdHRvbS4gKi9cbi5zZWN0aW9uLWJhbmQge1xuXHRiYWNrZ3JvdW5kOiByZ2IodmFyKC0tZm9yZWdyb3VuZCkgLyAwLjA0NSk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLypcblx0My4gSGFpcmxpbmUgbGF0dGljZSDigJQgb25lIGNvbnRpbnVvdXMgZ3JpZCByYXRoZXIgdGhhbiBmbG9hdGluZyBib3hlcy5cblx0TmVnYXRpdmUgbWFyZ2lucyBjb2xsYXBzZSBhZGphY2VudCBib3JkZXJzIGludG8gYSBzaW5nbGUgc2hhcmVkIGhhaXJsaW5lIGFuZFxuXHR0aGUgd3JhcHBlciBjbGlwcyB0aGUgb3V0ZXIgZWRnZXMsIHNvIGl0IHN1cnZpdmVzIGFueSBjb2x1bW4gY291bnQgYW5kIGFueVxuXHR3cmFwIHBvaW50IHdpdGhvdXQgOm50aC1jaGlsZCBydWxlcy5cbiovXG4ubGF0dGljZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLmxhdHRpY2UgPiAqIHtcblx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG59XG5cbi8qIE9uIHBob25lcyBhIGxhdHRpY2UgY2FuIGJlY29tZSBvbmUgc3dpcGVhYmxlIHJvdyBpbnN0ZWFkIG9mIGEgdGFsbCBzdGFjay4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQubGF0dGljZS0tc3dpcGUge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0c2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHR9XG5cblx0LmxhdHRpY2UtLXN3aXBlOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5sYXR0aWNlLS1zd2lwZSA+ICoge1xuXHRcdGZsZXg6IDAgMCA4NCU7XG5cdFx0c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuXHR9XG59XG5cbi8qIDUuIEFyY2hpdGVjdHVyYWwgZ3JpZCBsaW5lcyDigJQgcXVpZXQsIGJ1dCB2aXNpYmxlLiAqL1xuLmdyaWQtcmFpbHMge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGluc2V0OiAwO1xuXHR6LWluZGV4OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdyaWQtcmFpbHMtLWxvY2FsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vKiBQaG9uZXM6IHRoZSB0d28gdmVydGljYWxzIHNpdCByaWdodCBhZ2FpbnN0IHRoZSB0ZXh0IGFuZCByZWFkIGFzIGNsdXR0ZXIuICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LmdyaWQtcmFpbHMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmdyaWQtcmFpbHM6OmJlZm9yZSxcbi5ncmlkLXJhaWxzOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1ncmlkLWxpbmUpO1xufVxuXG4uZ3JpZC1yYWlsczo6YmVmb3JlIHtcblx0bGVmdDogbWF4KDEuNXJlbSwgNTAlIC0gNDNyZW0pO1xufVxuXG4uZ3JpZC1yYWlsczo6YWZ0ZXIge1xuXHRyaWdodDogbWF4KDEuNXJlbSwgNTAlIC0gNDNyZW0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmdyaWQtcmFpbHM6OmJlZm9yZSB7XG5cdFx0bGVmdDogbWF4KDJyZW0sIDUwJSAtIDQzcmVtKTtcblx0fVxuXG5cdC5ncmlkLXJhaWxzOjphZnRlciB7XG5cdFx0cmlnaHQ6IG1heCgycmVtLCA1MCUgLSA0M3JlbSk7XG5cdH1cbn1cblxuLyogOC4gTnVtZXJhbHMgaW4gYSBzZXF1ZW5jZSBhcmUgZGF0YSwgbm90IGRlY29yYXRpb24uICovXG4uc2VxLW51bSB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuXHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vKiA3LiBEb2N1bWVudCBwYWdlczogbGVmdC1hbGlnbmVkIG9uIGEgNDJyZW0gbWVhc3VyZSwgbm8gYmFuZGluZy4gKi9cbi5kb2N1bWVudC1ib2R5IC5zZWN0aW9uLWJhbmQge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IDA7XG59XG5cbi5kb2N1bWVudC1ib2R5IHNlY3Rpb24ge1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDIuNXJlbTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5kb2N1bWVudC1ib2R5IFtjbGFzcyo9J3RleHQtY2VudGVyJ10ge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZG9jdW1lbnQtYm9keSAubXgtYXV0byB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIEFuY2hvcnMgY2xlYXIgdGhlIHN0aWNreSBoZWFkZXIuICovXG4uZG9jdW1lbnQtYm9keSA6aXMoaDIsIGgzKSB7XG5cdHNjcm9sbC1tYXJnaW4tdG9wOiA2cmVtO1xufVxuIl0sInZlcnNpb24iOjN9 */