@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-ext-500-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://media.sitta.page/fonts/dm-sans-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

*,
::before,
::after {
	box-sizing: border-box;
}

html {
	/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
	font-family:
		system-ui,
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
	line-height: 1.15; /* 1. Correct the line height in all browsers. */
	-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
	tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
}

/*
Sections
========
*/

body {
	margin: 0; /* Remove the margin in all browsers. */
}

/*
Text-level semantics
====================
*/

/**
Add the correct font weight in Chrome and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/*
Tabular data
============
*/

/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
	border-color: currentcolor;
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
	padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
	vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
	display: list-item;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
html { scroll-padding-top: var(--hb-nav-stack, 0px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
#viewer-root {
  container: page / inline-size;
  font-family: var(--font-family-default);
  color: var(--paragraph-m-color, var(--gray-12));
  background-color: var(--page-background, var(--color-background));
}
#viewer-root h1, #viewer-root h2, #viewer-root h3, #viewer-root h4, #viewer-root h5, #viewer-root h6, #viewer-root p { margin: 0; }
#viewer-root figure, #viewer-root figcaption, #viewer-root blockquote { margin: 0; }
#viewer-root button { border: none; font: inherit; cursor: var(--cursor-button); }
#viewer-root a { display: inline-block; text-decoration: none; color: inherit; cursor: var(--cursor-link); }
#viewer-root img { display: block; max-width: 100%; height: auto; object-fit: cover; min-width: 0; background-size: cover; background-position: 50% 50%; }
#viewer-root ul, #viewer-root ol { list-style: none; margin: 0; padding: 0; }
#viewer-root li { display: block; }
#viewer-root a:focus-visible, #viewer-root button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root .hb-link { display: inline; }
#viewer-root :where(:has(> .hb-link)) { position: relative; }
#viewer-root .hb-link::after { content: ""; position: absolute; inset: 0; }
#viewer-root .hb-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root :where(.hb-link, .hb-card-link) { padding-block: max(0px, (24px - 1em) / 2); }
/* An image link's anchor is `display: contents`, so the image's box is the tab stop. */
#viewer-root .hb-media-link > :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root main { display: contents; }
#viewer-root main > [tabindex="-1"]:focus { outline: none; }
/* An empty gallery's picture: a band where it is as wide as the page. A tile's sizer sets a tile's height, so the cap leaves it alone. */
#viewer-root .hb-gallery-empty .hb-image-empty:not(.hb-media-fill__img, .hb-media-fit__img),
#viewer-root .hb-gallery-empty :is(.hb-media-fill, .hb-media-fit):not(.hb-tile > *):has(> .hb-image-empty) { max-height: 40vh; }
#viewer-root .hb-card { position: relative; }
#viewer-root .hb-card-link { display: inline; }
#viewer-root .hb-card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
#viewer-root .hb-card-link:focus-visible { outline: none; }
#viewer-root .hb-card:has(.hb-card-link:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root .hb-card :where(.hb-media-link > *, :has(> .hb-link), a:not(.hb-card-link, .hb-link, .hb-media-link, .hb-video__link), button:not(.hb-video__play, .hb-video__pause)) { position: relative; z-index: 2; }
#viewer-root .hb-card :is(.hb-video__link, .hb-video__play, .hb-video__pause) { z-index: 2; }
#viewer-root .hb-skip {
  position: absolute; z-index: 1001; top: 8px; left: 8px;
  padding: 8px 12px; background: var(--color-background); color: inherit;
}
#viewer-root .hb-skip:not(:focus) {
  width: 1px; height: 1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation: none !important; }
}
#viewer-root {
  --font-family-default: "DM Sans", sans-serif;
  --font-family-heading: "DM Sans", sans-serif;
  --font-family-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --font-size-1: 12px;
  --font-size-2: 14px;
  --font-size-3: 16px;
  --font-size-4: 18px;
  --font-size-5: 20px;
  --font-size-6: 24px;
  --font-size-7: 28px;
  --font-size-8: 35px;
  --font-size-9: 60px;
  --font-size-10: 90px;
  --font-size-11: 128px;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --line-height-1: 16px;
  --line-height-2: 20px;
  --line-height-3: 24px;
  --line-height-4: 26px;
  --line-height-5: 28px;
  --line-height-6: 30px;
  --line-height-7: 36px;
  --line-height-8: 40px;
  --line-height-9: 60px;
  --letter-spacing-1: 0.0025em;
  --letter-spacing-2: 0em;
  --letter-spacing-3: 0em;
  --letter-spacing-4: -0.0025em;
  --letter-spacing-5: -0.005em;
  --letter-spacing-6: -0.00625em;
  --letter-spacing-7: -0.0075em;
  --letter-spacing-8: -0.01em;
  --letter-spacing-9: -0.025em;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --space-9: 64px;
  --space-10: 80px;
  --space-11: 96px;
  --space-12: 128px;
  --radius-0: 0px;
  --radius-1: 3px;
  --radius-2: 4px;
  --radius-3: 6px;
  --radius-4: 8px;
  --radius-5: 12px;
  --radius-6: 16px;
  --radius-full: 9999px;
  --shadow-1: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
  --shadow-2: 0 1px 2px rgba(0, 0, 0, 0.08), 0 1px 1px rgba(0, 0, 0, 0.06);
  --shadow-3: 0 2px 4px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.06);
  --shadow-4: 0 4px 8px rgba(0, 0, 0, 0.08), 0 6px 12px rgba(0, 0, 0, 0.08);
  --shadow-5: 0 8px 16px rgba(0, 0, 0, 0.1), 0 12px 24px rgba(0, 0, 0, 0.1);
  --shadow-6: 0 16px 32px rgba(0, 0, 0, 0.12), 0 24px 48px rgba(0, 0, 0, 0.12);
  --cursor-button: default;
  --cursor-link: pointer;
  --cursor-disabled: not-allowed;
  --accent-1: #fdfdfe;
  --accent-a1: #00008002;
  --accent-2: #f7f9ff;
  --accent-a2: #0040ff08;
  --accent-3: #edf2fe;
  --accent-a3: #0047f112;
  --accent-4: #e1e9ff;
  --accent-a4: #0044ff1e;
  --accent-5: #d2deff;
  --accent-a5: #0044ff2d;
  --accent-6: #c1d0ff;
  --accent-a6: #003eff3e;
  --accent-7: #abbdf9;
  --accent-a7: #0037ed54;
  --accent-8: #8da4ef;
  --accent-a8: #0034dc72;
  --accent-9: #3e63dd;
  --accent-a9: #0031d2c1;
  --accent-10: #3358d4;
  --accent-a10: #002ec9cc;
  --accent-11: #3a5bc7;
  --accent-a11: #002bb7c5;
  --accent-12: #1f2d5c;
  --accent-a12: #001046e0;
  --gray-1: #fcfcfd;
  --gray-a1: #00005503;
  --gray-2: #f9f9fb;
  --gray-a2: #00005506;
  --gray-3: #f0f0f3;
  --gray-a3: #0000330f;
  --gray-4: #e8e8ec;
  --gray-a4: #00002d17;
  --gray-5: #e0e1e6;
  --gray-a5: #0009321f;
  --gray-6: #d9d9e0;
  --gray-a6: #00002f26;
  --gray-7: #cdced6;
  --gray-a7: #00062e32;
  --gray-8: #b9bbc6;
  --gray-a8: #00083046;
  --gray-9: #8b8d98;
  --gray-a9: #00051d74;
  --gray-10: #80838d;
  --gray-a10: #00071b7f;
  --gray-11: #60646c;
  --gray-a11: #0007149f;
  --gray-12: #1c2024;
  --gray-a12: #000509e3;
  --palette-1: #ffffff;
  --palette-2: #f0efec;
  --palette-3: #181715;
  --palette-4: #181715;
  --palette-5: #ffffff;
  --palette-6: #e7e5e0;
  --btn-font-family: "DM Sans", sans-serif;
  --font-family-accent: "DM Sans", sans-serif;
  --page-max-width: 1600px;
  --site-margin: 4cqw;
  --color-background: #ffffff;
  --color-surface: #f9f9fb;
  --accent-contrast: #ffffff;
  --btn-primary-bg: #181715;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-hover-fill: #ffffff;
  --btn-primary-hover-text: #181715;
  --btn-primary-hover-ring: #181715;
  --btn-primary-text: #ffffff;
  --btn-primary-border-width: 0px;
  --btn-primary-border-color: transparent;
  --btn-primary-radius: 0px;
  --btn-primary-padding-x: var(--space-6);
  --btn-primary-padding-y: var(--space-3);
  --btn-primary-height: auto;
  --btn-primary-font-weight: var(--font-weight-medium);
  --btn-primary-letter-spacing: normal;
  --btn-primary-text-transform: none;
  --btn-primary-shadow: 0 0 #0000;
  --btn-secondary-bg: transparent;
  --btn-secondary-bg-hover: color-mix(in srgb, currentColor 10%, transparent);
  --btn-secondary-hover-fill: #181715;
  --btn-secondary-hover-text: #ffffff;
  --btn-secondary-text: #181715;
  --btn-secondary-border-width: 1px;
  --btn-secondary-border-color: color-mix(in srgb, currentColor 50%, transparent);
  --btn-secondary-radius: 0px;
  --btn-secondary-padding-x: var(--space-6);
  --btn-secondary-padding-y: var(--space-3);
  --btn-secondary-height: auto;
  --btn-secondary-font-weight: var(--font-weight-medium);
  --btn-secondary-letter-spacing: normal;
  --btn-secondary-text-transform: none;
  --btn-secondary-shadow: 0 0 #0000;
  --btn-tertiary-bg: transparent;
  --btn-tertiary-bg-hover: color-mix(in srgb, currentColor 10%, transparent);
  --btn-tertiary-hover-fill: #181715;
  --btn-tertiary-hover-text: #ffffff;
  --btn-tertiary-text: #181715;
  --btn-tertiary-border-width: 0px;
  --btn-tertiary-border-color: transparent;
  --btn-tertiary-radius: 0px;
  --btn-tertiary-padding-x: var(--space-4);
  --btn-tertiary-padding-y: var(--space-3);
  --btn-tertiary-height: auto;
  --btn-tertiary-font-weight: var(--font-weight-medium);
  --btn-tertiary-letter-spacing: normal;
  --btn-tertiary-text-transform: none;
  --btn-tertiary-shadow: 0 0 #0000;
  --site-title-color: #181715;
  --nav-link-color: #181715;
  --section-background: #ffffff;
  --background-overlay: rgba(24, 23, 21, 0.04);
  --hover-fill: rgba(24, 23, 21, 0.08);
  --inset-border: rgba(24, 23, 21, 0.09);
  --section-divider-stroke: rgba(24, 23, 21, 0.09);
  --heading-xl-color: #181715;
  --heading-l-color: #181715;
  --heading-m-color: #181715;
  --heading-s-color: #181715;
  --paragraph-l-color: rgba(24, 23, 21, 0.66);
  --paragraph-m-color: rgba(24, 23, 21, 0.66);
  --paragraph-s-color: rgba(24, 23, 21, 0.59);
  --text-highlight-color: #181715;
  --background-color: #ffffff;
  --stroke-color: rgba(24, 23, 21, 0.09);
  --button-fill-color: #181715;
  --button-label-color: #ffffff;
  --button-outline-label-color: #181715;
  --empty-image-end: #d1d1d0;
  --empty-image-grain: rgba(24, 23, 21, 0.13);
  --heading-xl-size: var(--font-size-9);
  --heading-xl-weight: 700;
  --heading-xl-leading: 1.1;
  --heading-xl-tracking: -0.02em;
  --heading-xl-case: none;
  --heading-l-size: var(--font-size-8);
  --heading-l-weight: 700;
  --heading-l-leading: 1.1;
  --heading-l-tracking: -0.015em;
  --heading-l-case: none;
  --heading-m-size: var(--font-size-6);
  --heading-m-weight: 700;
  --heading-m-leading: 1.1;
  --heading-m-tracking: 0em;
  --heading-m-case: none;
  --heading-s-size: var(--font-size-5);
  --heading-s-weight: 700;
  --heading-s-leading: 1.3;
  --heading-s-tracking: 0em;
  --heading-s-case: none;
  --paragraph-m-size: var(--font-size-3);
  --paragraph-m-weight: 400;
  --paragraph-m-leading: 1.6;
  --paragraph-m-tracking: 0em;
  --paragraph-m-case: none;
  --eyebrow-size: var(--font-size-2);
  --eyebrow-weight: 600;
  --eyebrow-leading: 1.5;
  --eyebrow-tracking: 0.06em;
  --eyebrow-case: uppercase;
  --lead-size: var(--font-size-5);
  --lead-weight: 400;
  --lead-leading: 1.5;
  --lead-tracking: 0em;
  --lead-case: none;
  --caption-size: var(--font-size-2);
  --caption-weight: 400;
  --caption-leading: 1.5;
  --caption-tracking: 0em;
  --caption-case: none;
  --quote-size: var(--font-size-6);
  --quote-weight: 400;
  --quote-leading: 1.3;
  --quote-tracking: 0em;
  --quote-case: none;
  --image-poster-justify: flex-end;
  --image-poster-align: center;
  --image-poster-items: center;
  --image-poster-inset: var(--space-9);
  --image-poster-gap: var(--space-4);
  --image-poster-button-gap: 0px;
  --image-card-justify: center;
  --image-card-align: left;
  --image-card-items: flex-start;
  --image-card-inset: var(--space-8);
  --image-card-gap: var(--space-4);
  --image-card-button-gap: 0px;
  --image-poster-width: 720px;
}
#viewer-root .hb-btn {
  display: inline-flex; align-items: center; justify-content: center;
  text-align: center; border-style: solid;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
#viewer-root .hb-btn--primary {
  background: var(--btn-primary-bg); color: var(--btn-primary-text);
  border-width: var(--btn-primary-border-width); border-color: var(--btn-primary-border-color);
  border-radius: var(--btn-primary-radius);
  padding: var(--btn-primary-padding-y) var(--btn-primary-padding-x);
  min-height: var(--btn-primary-height, auto);
  font-weight: var(--btn-primary-font-weight); letter-spacing: var(--btn-primary-letter-spacing);
  text-transform: var(--btn-primary-text-transform); box-shadow: var(--btn-primary-shadow);
}
#viewer-root .hb-btn--secondary {
  background: var(--btn-secondary-bg); color: var(--btn-secondary-text);
  border-width: var(--btn-secondary-border-width); border-color: var(--btn-secondary-border-color);
  border-radius: var(--btn-secondary-radius);
  padding: var(--btn-secondary-padding-y) var(--btn-secondary-padding-x);
  min-height: var(--btn-secondary-height, auto);
  font-weight: var(--btn-secondary-font-weight); letter-spacing: var(--btn-secondary-letter-spacing);
  text-transform: var(--btn-secondary-text-transform); box-shadow: var(--btn-secondary-shadow);
}
#viewer-root .hb-btn--tertiary {
  background: var(--btn-tertiary-bg); color: var(--btn-tertiary-text);
  border-width: var(--btn-tertiary-border-width); border-color: var(--btn-tertiary-border-color);
  border-radius: var(--btn-tertiary-radius);
  padding: var(--btn-tertiary-padding-y) var(--btn-tertiary-padding-x);
  min-height: var(--btn-tertiary-height, auto);
  font-weight: var(--btn-tertiary-font-weight); letter-spacing: var(--btn-tertiary-letter-spacing);
  text-transform: var(--btn-tertiary-text-transform); box-shadow: var(--btn-tertiary-shadow);
}
#viewer-root .hb-btn--tertiary:hover { background: var(--btn-tertiary-bg-hover); }
#viewer-root .hb-btn--custom {
  background: var(--btn-custom-bg, var(--btn-primary-bg)); color: var(--btn-custom-text, var(--btn-primary-text));
  border-width: var(--btn-custom-border-width, var(--btn-primary-border-width)); border-color: var(--btn-custom-border-color, var(--btn-primary-border-color));
  border-radius: var(--btn-custom-radius, var(--btn-primary-radius));
  padding: var(--btn-custom-padding-y, var(--btn-primary-padding-y)) var(--btn-custom-padding-x, var(--btn-primary-padding-x));
  min-height: var(--btn-custom-height, var(--btn-primary-height));
  font-weight: var(--btn-custom-font-weight, var(--btn-primary-font-weight)); letter-spacing: var(--btn-custom-letter-spacing, var(--btn-primary-letter-spacing));
  text-transform: var(--btn-custom-text-transform, var(--btn-primary-text-transform)); box-shadow: var(--btn-custom-shadow, var(--btn-primary-shadow));
}
#viewer-root .hb-carousel { position: relative; }
#viewer-root .hb-carousel__viewport {
  overflow: hidden; width: 100%;
  cursor: grab;
  /* Claim horizontal gestures, leave vertical ones to the page scroll. */
  touch-action: pan-y;
}
#viewer-root .hb-carousel__viewport--dragging { cursor: grabbing; }
/* The slides are dragged, not selected. */
#viewer-root .hb-carousel__viewport--dragging * { user-select: none; }
#viewer-root .hb-carousel__track { display: flex; transition: transform 0.3s ease; }
#viewer-root .hb-carousel__slide { flex: 0 0 100%; min-width: 0; }
#viewer-root .hb-carousel__progress {
  position: relative; overflow: hidden;
  height: 2px; margin-top: 0.75rem;
  background: color-mix(in srgb, currentColor 15%, transparent);
}
#viewer-root .hb-carousel__progress-fill {
  height: 100%; background: currentColor;
  transition: transform 0.3s ease;
}
#viewer-root .hb-carousel__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%; line-height: 1;
  background: color-mix(in srgb, currentColor 8%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  color: inherit; cursor: pointer; font-size: 1.25rem;
}
#viewer-root .hb-carousel__btn:disabled { opacity: 0.35; cursor: default; }
#viewer-root .hb-carousel__btn--prev { left: 0.5rem; }
#viewer-root .hb-carousel__btn--next { right: 0.5rem; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-carousel__track,
  #viewer-root .hb-carousel__progress-fill { transition: none; }
}
/* Fill height, so a carousel can be the media half of a full-height split.
   The inner carousel is absolutely positioned rather than chained with
   percentages: the node's own box gets its height from the flex line (or from
   a stacked half's min-height), neither of which is a *definite* height that a
   percentage could resolve against — but `inset: 0` doesn't care. Everything
   below it can then use 100%, because the absolute box's height IS definite.
   The slide's image is itself an absolute-fill box (.hb-media-fill), so it
   covers its slide rather than dictating the height. */
#viewer-root .hb-carousel--fill { position: relative; }
#viewer-root .hb-carousel--fill .hb-carousel { position: absolute; inset: 0; }
#viewer-root .hb-carousel--fill .hb-carousel__viewport,
#viewer-root .hb-carousel--fill .hb-carousel__track,
#viewer-root .hb-carousel--fill .hb-carousel__slide { height: 100%; }
#viewer-root .hb-tabs__list {
  display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem;
  border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}
#viewer-root .hb-tabs__tab {
  cursor: pointer; padding: 0.5rem 0.25rem; margin-bottom: -1px;
  border-bottom: 2px solid transparent;
}
#viewer-root .hb-tabs__tab[aria-selected="true"] { border-bottom-color: currentColor; }
#viewer-root .hb-tabs__tab:focus-visible, #viewer-root .hb-tabs__panel:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root .hb-tabs__panel[hidden] { display: none; }
#viewer-root .hb-marquee { overflow: hidden; width: 100%; }
#viewer-root .hb-marquee__track { display: flex; width: max-content; align-items: center; animation: hb-marquee-scroll var(--hb-marquee-duration, 24s) linear infinite; }
#viewer-root .hb-marquee__list { display: flex; flex: none; align-items: center; }
#viewer-root .hb-marquee__dup { display: contents; }
#viewer-root .hb-marquee__item { flex: none; margin-right: var(--hb-marquee-gap, 0px); }
#viewer-root .hb-marquee:hover .hb-marquee__track,
#viewer-root .hb-marquee:focus-within .hb-marquee__track,
#viewer-root .hb-marquee:has(.hb-marquee__pause input:checked) .hb-marquee__track { animation-play-state: paused; }
#viewer-root .hb-marquee__pause {
  display: flex; width: fit-content; margin: 0.5rem 0 0 auto; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; line-height: 1; color: currentColor; opacity: 0.6; cursor: pointer;
}
#viewer-root .hb-marquee__pause:hover, #viewer-root .hb-marquee__pause:focus-within { opacity: 1; }
#viewer-root .hb-marquee__pause input { margin: 0; accent-color: currentColor; }
#viewer-root .hb-marquee--static .hb-marquee__track { animation: none; }
@keyframes hb-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-marquee__track { animation: none; }
  #viewer-root .hb-marquee__pause { display: none; }
}
#viewer-root .hb-lightbox__item { width: 100%; }
#viewer-root .hb-lightbox__thumb { display: block; width: 100%; padding: 0; border: none; background: none; cursor: pointer; }
#viewer-root .hb-lightbox {
  position: fixed; inset: 0; z-index: 1000; display: flex; gap: 1rem;
  align-items: center; justify-content: center; padding: 2rem;
  background: rgba(0, 0, 0, 0.85);
}
#viewer-root .hb-lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; }
#viewer-root .hb-lightbox__close { position: absolute; top: 1rem; right: 1rem; }
#viewer-root .hb-lightbox__close, #viewer-root .hb-lightbox__nav {
  display: flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: 50%; line-height: 1;
  background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff; cursor: pointer; font-size: 1.5rem;
}
#viewer-root .hb-lightbox__nav:disabled { opacity: 0.35; cursor: default; }
#viewer-root .hb-searchlist__input {
  display: block; width: 100%; margin-bottom: 1rem; padding: 0.55rem 0.75rem;
  font: inherit; color: inherit; background: transparent; border-radius: 4px;
  border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
}
#viewer-root .hb-searchlist__items { display: flex; flex-direction: column; }
#viewer-root .hb-searchlist__item { padding: 0.75rem 0; border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
#viewer-root .hb-rail { min-width: 0; }
#viewer-root .hb-rail__viewport {
  align-self: stretch; min-width: 0; gap: inherit;
  overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding-inline: 4px;
  padding: 4px; margin: -4px;
}
#viewer-root .hb-rail__viewport:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
#viewer-root .hb-rail__track {
  display: grid; grid-auto-flow: column; gap: inherit;
  grid-auto-columns: min(85%, max(15rem, 38%));
}
#viewer-root .hb-rail__track > * { scroll-snap-align: start; min-width: 0; }
#viewer-root .hb-rail__controls { display: flex; justify-content: flex-end; gap: 0.5rem; min-height: 2.5rem; }
#viewer-root .hb-rail__btn {
  display: flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%; line-height: 1;
  background: transparent; border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
  color: inherit; cursor: pointer; font-size: 1.25rem;
}
#viewer-root .hb-rail__btn[aria-disabled="true"] { opacity: 0.35; cursor: default; }
@media (prefers-reduced-motion: no-preference) {
  #viewer-root .hb-rail__viewport { scroll-behavior: smooth; }
}
#viewer-root :is(.hb-figure__caption, .hb-figure__quote) { display: contents; }
#viewer-root details.hb-disclosure::details-content {
  display: inherit; flex-direction: inherit; flex-wrap: inherit; gap: inherit;
  align-items: inherit; justify-content: inherit; grid-template-columns: inherit;
}
#viewer-root .hb-disclosure__panel {
  display: inherit; flex-direction: inherit; flex-wrap: inherit; gap: inherit;
  align-items: inherit; justify-content: inherit; grid-template-columns: inherit;
}
#viewer-root details.hb-disclosure:not([open]) { gap: 0; }
#viewer-root .hb-disclosure__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  list-style: none; cursor: pointer;
}
#viewer-root .hb-disclosure__summary > * { flex: 1 1 auto; min-width: 0; }
#viewer-root .hb-disclosure__summary::after {
  content: "+"; content: "+" / ""; flex: none; line-height: 1; transition: transform 0.15s ease;
}
#viewer-root details.hb-disclosure[open] > .hb-disclosure__summary::after { transform: rotate(45deg); }
#viewer-root summary.hb-disclosure__summary::-webkit-details-marker { display: none; }
@media (prefers-reduced-motion: reduce) { #viewer-root .hb-disclosure__summary::after { transition: none; } }
#viewer-root summary.hb-disclosure__summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#viewer-root .hb-nav .hb-menu { position: static; }
#viewer-root .hb-nav .hb-menu > .hb-menu__panel {
  position: absolute; top: 100%; z-index: 1;
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity 150ms ease, visibility 150ms ease;
}
@supports (anchor-scope: none) {
  @position-try --hb-menu-span { left: 0; right: 0; width: auto; }
  #viewer-root .hb-nav .hb-menu { anchor-scope: --hb-menu-trigger; }
  #viewer-root .hb-nav .hb-menu > :has(> .hb-menu__trigger) { anchor-name: --hb-menu-trigger; }
  #viewer-root .hb-nav .hb-menu > .hb-menu__panel {
    --hb-anchor-left: anchor(left);
    position-anchor: --hb-menu-trigger; bottom: -100vh;
    position-try-fallbacks: flip-inline, --hb-menu-span;
  }
}
@supports not (anchor-scope: none) {
  #viewer-root .hb-nav .hb-menu > .hb-menu__panel { --hb-anchor-left: auto; }
  #viewer-root .hb-nav .hb-menu:last-child > .hb-menu__panel { right: 0; }
}
#viewer-root .hb-nav .hb-menu-open > .hb-menu__panel { visibility: visible; opacity: 1; pointer-events: auto; }
#viewer-root .hb-nav:has(.hb-menu-open) { z-index: 3; }
#viewer-root .hb-nav :is(.hb-menu-open ~ *, :has(~ .hb-menu-open)) { opacity: 0.45; }
#viewer-root :where(.hb-nav .hb-menu, .hb-nav .hb-menu ~ *, .hb-nav :has(~ .hb-menu)) { transition: opacity 150ms ease; }
#viewer-root :where(:has(> .hb-menu__trigger)) { position: relative; }
#viewer-root button.hb-menu__trigger {
  display: inline; padding: 0; background: none; color: inherit;
  text-align: inherit; letter-spacing: inherit; word-spacing: inherit; text-transform: inherit;
}
#viewer-root .hb-menu__trigger--chevron::before { content: ""; position: absolute; inset: 0; }
#viewer-root .hb-menu__trigger--chevron::after { content: ""; display: inline-block; width: 0.4em; height: 0.4em;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-0.15em) rotate(45deg); transition: transform 150ms ease; margin-left: 0.4em; }
#viewer-root .hb-menu-open .hb-menu__trigger--chevron::after { transform: translateY(0.1em) rotate(-135deg); }
#viewer-root details.hb-menu-acc::details-content {
  display: inherit; flex-direction: inherit; flex-wrap: inherit; gap: inherit;
  align-items: inherit; justify-content: inherit; grid-template-columns: inherit;
}
#viewer-root details.hb-menu-acc:not([open]) { gap: 0; }
#viewer-root .hb-menu-acc__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  list-style: none; cursor: pointer;
}
#viewer-root .hb-menu-acc__summary > * { flex: 1 1 auto; min-width: 0; }
#viewer-root .hb-menu-acc__summary::after { content: ""; display: inline-block; width: 0.4em; height: 0.4em;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-0.15em) rotate(45deg); transition: transform 150ms ease; flex: none; }
#viewer-root details.hb-menu-acc[open] > .hb-menu-acc__summary::after { transform: translateY(0.1em) rotate(-135deg); }
#viewer-root summary.hb-menu-acc__summary::-webkit-details-marker { display: none; }
#viewer-root summary.hb-menu-acc__summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-nav .hb-menu > .hb-menu__panel, #viewer-root :where(.hb-nav .hb-menu, .hb-nav .hb-menu ~ *, .hb-nav :has(~ .hb-menu)),
  #viewer-root .hb-menu__trigger--chevron::after, #viewer-root .hb-menu-acc__summary::after { transition: none; }
}
#viewer-root .hb-facts { margin: 0; }
#viewer-root .hb-facts__label { flex: 1 1 0; min-width: min(8rem, 100%); }
#viewer-root .hb-facts__value { flex: 2 1 0; min-width: min(16rem, 100%); margin: 0; }
#viewer-root .hb-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; }
#viewer-root .hb-embed__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
#viewer-root .hb-embed-placeholder {
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 16 / 9;
  color: color-mix(in srgb, currentColor 55%, transparent);
  border: 1px dashed color-mix(in srgb, currentColor 30%, transparent);
}
#viewer-root .hb-image-empty {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 3 / 2;
  background: linear-gradient(155deg, var(--background-color) 0%, var(--empty-image-end) 100%);
}
#viewer-root .hb-image-empty::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: var(--empty-image-grain);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 0 0 0 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 0 0 0 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  -webkit-mask-size: 180px 180px; mask-size: 180px 180px;
}
#viewer-root .hb-image-empty > svg { position: relative; opacity: 0.5; }
#viewer-root .hb-empty-v1 { background: linear-gradient(215deg, var(--background-color) 10%, var(--empty-image-end) 100%); }
#viewer-root .hb-empty-v2 { background: linear-gradient(180deg, var(--background-color) 0%, color-mix(in srgb, var(--heading-xl-color) 8%, var(--empty-image-end)) 100%); }
#viewer-root .hb-empty-v3 { background: linear-gradient(120deg, var(--empty-image-end) 0%, var(--background-color) 85%); }
#viewer-root .hb-md :where(pre, hr) { margin: 0; }
#viewer-root .hb-md > * + * { margin-top: 1em; }
#viewer-root .hb-md > * + :is(h1, h2, h3, h4, h5, h6) { margin-top: 1.75em; }
#viewer-root .hb-md :is(ul, ol) { padding-inline-start: 1.5em; }
#viewer-root .hb-md ul { list-style: disc; }
#viewer-root .hb-md ol { list-style: decimal; }
#viewer-root .hb-md li { display: list-item; }
#viewer-root .hb-md li + li, #viewer-root .hb-md li > * + * { margin-top: 0.35em; }
#viewer-root .hb-md blockquote {
  padding-inline-start: 1em;
  border-inline-start: 3px solid var(--stroke-color, color-mix(in srgb, currentColor 20%, transparent));
}
#viewer-root .hb-md code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.9em;
}
#viewer-root .hb-md :not(pre) > code {
  padding: 0.1em 0.35em; border-radius: 4px;
  background: var(--background-overlay, color-mix(in srgb, currentColor 7%, transparent));
}
#viewer-root .hb-md pre {
  padding: 1em 1.25em; overflow-x: auto; border-radius: 6px;
  background: var(--background-overlay, color-mix(in srgb, currentColor 7%, transparent));
}
#viewer-root .hb-md a { display: inline; text-decoration: underline; text-underline-offset: 0.15em; }
#viewer-root .hb-md hr {
  height: 0; border: 0;
  border-top: 1px solid var(--stroke-color, color-mix(in srgb, currentColor 20%, transparent));
}
#viewer-root .hb-md-empty {
  display: flex; align-items: center; justify-content: center;
  min-height: 120px; padding: 1rem;
  color: color-mix(in srgb, currentColor 55%, transparent);
  background: color-mix(in srgb, currentColor 4%, transparent);
  border: 1.5px dashed color-mix(in srgb, currentColor 55%, transparent);
}
#viewer-root .hb-article-empty {
  display: flex; align-items: center; justify-content: center;
  min-height: 80px; padding: 1rem;
  color: color-mix(in srgb, currentColor 55%, transparent);
  background: color-mix(in srgb, currentColor 4%, transparent);
  border: 1.5px dashed color-mix(in srgb, currentColor 55%, transparent);
}
#viewer-root .hb-article-sample { display: contents; }
#viewer-root .hb-article-sample > :not(.hb-article-sample-label) { opacity: 0.45; }
#viewer-root .hb-article-sample-label {
  font-size: 12px; line-height: 1.2;
  color: color-mix(in srgb, currentColor 55%, transparent);
}
#viewer-root .hb-video {
  object-fit: cover; object-position: 50% 50%;
  background-size: cover; background-position: 50% 50%;
}
/* Without it a flex item's automatic minimum height reaches through the
   frame to the video's natural height and overrides an Aspect ratio. A
   grid's box has none, so the shadow on its frame shows. */
#viewer-root .hb-video:not(.hb-media-fit) { overflow: hidden; }
#viewer-root .hb-video__frame {
  position: relative; overflow: hidden; height: 100%;
  object-fit: inherit; object-position: inherit; border-radius: inherit;
  background-size: inherit; background-position: inherit;
}
#viewer-root .hb-video__frame > video, #viewer-root .hb-video__frame > img {
  display: block; width: 100%; height: 100%; max-width: 100%;
  object-fit: inherit; object-position: inherit; border-radius: inherit;
}
#viewer-root .hb-video:not(.hb-media-fill) > .hb-video__frame > video:not([width]) { aspect-ratio: auto 16 / 9; }
#viewer-root .hb-video__link {
  position: absolute; inset: 0;
  border-radius: inherit;
}
/* Inset, because .hb-video__frame clips an outline drawn outside the box. */
#viewer-root .hb-video__link:focus-visible {
  outline: 2px solid #fff; outline-offset: -3px;
}
#viewer-root .hb-video__pause {
  position: absolute; right: 12px; bottom: 12px;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; padding: 0;
  border-radius: 999px;
  background: rgba(20, 24, 31, 0.62); color: #fff;
}
#viewer-root .hb-video__pause > svg { width: 12px; height: 12px; }
#viewer-root .hb-video__pause:focus-visible {
  outline: 2px solid #fff; outline-offset: 2px;
}
#viewer-root .hb-video__play {
  position: absolute; inset: 0; margin: auto;
  display: flex; align-items: center; justify-content: center;
  width: clamp(40px, 15%, 56px); aspect-ratio: 1; padding: 0;
  border-radius: 999px;
  background: rgba(20, 24, 31, 0.62); color: #fff;
}
#viewer-root .hb-video__play > svg { width: 36%; height: 36%; }
#viewer-root .hb-video__play:hover, #viewer-root .hb-video__play:focus-visible {
  background: rgba(20, 24, 31, 0.8);
}
#viewer-root .hb-video__play:focus-visible {
  outline: 2px solid #fff; outline-offset: 2px;
}
#viewer-root .hb-video-placeholder, #viewer-root .hb-video-failed {
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 16 / 9;
  padding: 0 1rem;
  text-align: center; text-wrap: balance;
  color: color-mix(in srgb, currentColor 55%, transparent);
  border: 1px dashed color-mix(in srgb, currentColor 30%, transparent);
}
#viewer-root .hb-video-failed {
  background: color-mix(in srgb, currentColor 5%, transparent);
  border: 0;
}
#viewer-root .hb-bg-video-host { isolation: isolate; }
#viewer-root .hb-bg-video {
  position: absolute; inset: 0; z-index: -1;
  overflow: hidden; border-radius: inherit; pointer-events: none;
  background-size: cover; background-position: 50% 50%;
}
#viewer-root .hb-bg-video > video {
  display: block; width: 100%; height: 100%; max-width: none; object-fit: cover;
}
#viewer-root .hb-bg-video__overlay { position: absolute; inset: 0; }
#viewer-root .hb-media-fill {
  position: relative; overflow: hidden;
  object-fit: cover; object-position: 50% 50%;
  background-size: cover; background-position: 50% 50%;
}
#viewer-root .hb-media-fill > img, #viewer-root .hb-media-fill > .hb-image-empty, #viewer-root .hb-media-fill > video, #viewer-root .hb-media-fill > .hb-video__frame {
  position: absolute; inset: 0;
  width: 100%; height: 100%; max-width: none;
  object-fit: inherit; object-position: inherit; border-radius: inherit;
  background-size: inherit; background-position: inherit;
}
#viewer-root .hb-media-fill > .hb-embed, #viewer-root .hb-media-fill > .hb-embed-placeholder {
  position: absolute; inset: 0;
  width: 100%; height: 100%; aspect-ratio: auto;
}
#viewer-root .hb-media-fit { position: relative; object-fit: cover; object-position: 50% 50%; background-size: cover; background-position: 50% 50%; }
#viewer-root .hb-media-fit > img, #viewer-root .hb-media-fit > .hb-image-empty, #viewer-root .hb-media-fit > .hb-video__frame, #viewer-root .hb-media-fit > .hb-embed, #viewer-root .hb-media-fit > .hb-embed-placeholder {
  position: absolute; inset: 0; margin: auto;
  width: auto; height: auto; max-width: 100%; max-height: 100%;
  object-fit: inherit; object-position: inherit; border-radius: inherit;
  background-size: inherit; background-position: inherit;
}
#viewer-root .hb-media-fit > img { contain-intrinsic-size: 100000px none; }
#viewer-root .hb-media-fit > .hb-image-empty.hb-media-fit__img { width: 100%; height: 100%; }
#viewer-root .hb-media-fit > .hb-embed-placeholder, #viewer-root .hb-media-fit > .hb-video-placeholder, #viewer-root .hb-media-fit > .hb-video-failed {
  min-height: 0; overflow: hidden;
}
@property --hb-sharpen { syntax: "*"; inherits: false; }
html.hb-fade #viewer-root [data-hb-fade]:not([data-hb-in]) { filter: blur(12px); clip-path: inset(0 round var(--hb-radius, 0px)); }
html.hb-fade #viewer-root [data-hb-fade][data-hb-in=""] {
  --hb-sharpen: hb-sharpen var(--hb-fade-ms, 500ms) ease-out; animation: var(--hb-sharpen), var(--hb-loop, none);
}
@keyframes hb-sharpen {
  from { filter: blur(12px); clip-path: inset(0 round var(--hb-radius, 0px)); }
  to { filter: blur(0px); clip-path: inset(0 round var(--hb-radius, 0px)); }
}
#viewer-root .hb-pin { position: var(--hb-pin-position, sticky); top: 0; }
#viewer-root .hb-pin ~ :is(section, footer):not(.hb-pin), #viewer-root main:has(> .hb-pin) ~ :is(section, footer):not(.hb-pin) {
  z-index: 1; will-change: opacity;
  background-color: var(--color-background);
  background-image: linear-gradient(var(--hb-section-fill, var(--section-background, transparent)), var(--hb-section-fill, var(--section-background, transparent)));
}
#viewer-root { color: var(--paragraph-m-color, var(--gray-12)); font-size: var(--paragraph-m-size, var(--font-size-3)); line-height: var(--paragraph-m-leading, 1.5); }
#viewer-root { overflow-wrap: break-word; }
#viewer-root .hb-text-lines { white-space: pre-line; }
#viewer-root :is(h1, h2, h3, h4, h5, h6, p, [class*="hb-text--"]) { max-width: 100%; }
#viewer-root :where(h1, h2, h3, h4, h5, h6, .hb-text--heading-xl, .hb-text--heading-l, .hb-text--heading-m, .hb-text--heading-s) { text-wrap: balance; }
#viewer-root h1 { color: var(--heading-xl-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-xl-size, var(--font-size-9)); font-weight: var(--heading-xl-weight, 700); line-height: calc(1em + max(0, var(--heading-xl-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-xl-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-xl-tracking, normal); text-transform: var(--heading-xl-case, none); }
#viewer-root h2 { color: var(--heading-l-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-l-size, var(--font-size-8)); font-weight: var(--heading-l-weight, 700); line-height: calc(1em + max(0, var(--heading-l-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-l-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-l-tracking, normal); text-transform: var(--heading-l-case, none); }
#viewer-root h3 { color: var(--heading-m-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-m-size, var(--font-size-6)); font-weight: var(--heading-m-weight, 700); line-height: calc(1em + max(0, var(--heading-m-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-m-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-m-tracking, normal); text-transform: var(--heading-m-case, none); }
#viewer-root h4 { color: var(--heading-s-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-s-size, var(--font-size-5)); font-weight: var(--heading-s-weight, 700); line-height: calc(1em + max(0, var(--heading-s-leading, 1.3) - 1) * min(1em, 40px) + min(0, var(--heading-s-leading, 1.3) - 1) * 1em); letter-spacing: var(--heading-s-tracking, normal); text-transform: var(--heading-s-case, none); }
#viewer-root h5 { color: var(--heading-s-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--font-size-4); font-weight: var(--heading-s-weight, 700); line-height: calc(1em + max(0, var(--heading-s-leading, 1.3) - 1) * min(1em, 40px) + min(0, var(--heading-s-leading, 1.3) - 1) * 1em); letter-spacing: var(--heading-s-tracking, normal); text-transform: var(--heading-s-case, none); }
#viewer-root h6 { color: var(--heading-s-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--font-size-3); font-weight: var(--heading-s-weight, 700); line-height: calc(1em + max(0, var(--heading-s-leading, 1.3) - 1) * min(1em, 40px) + min(0, var(--heading-s-leading, 1.3) - 1) * 1em); letter-spacing: var(--heading-s-tracking, normal); text-transform: var(--heading-s-case, none); }
#viewer-root p { color: var(--paragraph-m-color, var(--gray-12)); font-weight: var(--paragraph-m-weight, 400); letter-spacing: var(--paragraph-m-tracking, normal); text-transform: var(--paragraph-m-case, none); }
#viewer-root .hb-text--heading-xl { color: var(--heading-xl-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-xl-size, var(--font-size-9)); font-weight: var(--heading-xl-weight, 700); line-height: calc(1em + max(0, var(--heading-xl-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-xl-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-xl-tracking, 0em); text-transform: var(--heading-xl-case, none); }
#viewer-root .hb-text--heading-l { color: var(--heading-l-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-l-size, var(--font-size-8)); font-weight: var(--heading-l-weight, 700); line-height: calc(1em + max(0, var(--heading-l-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-l-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-l-tracking, 0em); text-transform: var(--heading-l-case, none); }
#viewer-root .hb-text--heading-m { color: var(--heading-m-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-m-size, var(--font-size-6)); font-weight: var(--heading-m-weight, 700); line-height: calc(1em + max(0, var(--heading-m-leading, 1.1) - 1) * min(1em, 40px) + min(0, var(--heading-m-leading, 1.1) - 1) * 1em); letter-spacing: var(--heading-m-tracking, 0em); text-transform: var(--heading-m-case, none); }
#viewer-root .hb-text--heading-s { color: var(--heading-s-color, var(--gray-12)); font-family: var(--font-family-heading); font-size: var(--heading-s-size, var(--font-size-5)); font-weight: var(--heading-s-weight, 700); line-height: calc(1em + max(0, var(--heading-s-leading, 1.3) - 1) * min(1em, 40px) + min(0, var(--heading-s-leading, 1.3) - 1) * 1em); letter-spacing: var(--heading-s-tracking, 0em); text-transform: var(--heading-s-case, none); }
#viewer-root .hb-text--paragraph-m { color: var(--paragraph-m-color, var(--gray-12)); font-family: var(--font-family-default); font-size: var(--paragraph-m-size, var(--font-size-3)); font-weight: var(--paragraph-m-weight, 400); line-height: var(--paragraph-m-leading, 1.5); letter-spacing: var(--paragraph-m-tracking, 0em); text-transform: var(--paragraph-m-case, none); }
#viewer-root .hb-text--eyebrow { color: var(--text-highlight-color, var(--accent-11)); font-family: var(--font-family-default); font-size: var(--eyebrow-size, var(--font-size-2)); font-weight: var(--eyebrow-weight, 600); line-height: var(--eyebrow-leading, 1.5); letter-spacing: var(--eyebrow-tracking, 0.06em); text-transform: var(--eyebrow-case, uppercase); }
#viewer-root .hb-text--lead { color: var(--paragraph-l-color, var(--gray-11)); font-family: var(--font-family-default); font-size: var(--lead-size, var(--font-size-5)); font-weight: var(--lead-weight, 400); line-height: var(--lead-leading, 1.5); letter-spacing: var(--lead-tracking, 0em); text-transform: var(--lead-case, none); }
#viewer-root .hb-text--caption { color: var(--paragraph-s-color, var(--gray-11)); font-family: var(--font-family-default); font-size: var(--caption-size, var(--font-size-2)); font-weight: var(--caption-weight, 400); line-height: var(--caption-leading, 1.5); letter-spacing: var(--caption-tracking, 0em); text-transform: var(--caption-case, none); }
#viewer-root .hb-text--quote { color: var(--paragraph-l-color, var(--gray-11)); font-family: var(--font-family-heading); font-size: var(--quote-size, var(--font-size-6)); font-weight: var(--quote-weight, 400); line-height: var(--quote-leading, 1.3); letter-spacing: var(--quote-tracking, 0em); text-transform: var(--quote-case, none); }
#viewer-root .hb-disp { color: var(--heading-xl-color, var(--gray-12)); font-family: var(--font-family-heading); font-weight: var(--heading-xl-weight, 700); }
#viewer-root .hb-disp--accent { font-family: var(--font-family-accent, var(--font-family-heading)); font-synthesis: none; }
#viewer-root .hb-run--accent { font-family: var(--font-family-accent, var(--font-family-heading)); font-synthesis: none; }
#viewer-root .hb-run--color-paper { color: var(--palette-1); }
#viewer-root .hb-run--color-mist { color: var(--palette-2); }
#viewer-root .hb-run--color-ink { color: var(--palette-3); }
#viewer-root .hb-run--color-brand { color: var(--palette-4); }
#viewer-root .hb-run--color-accent2 { color: var(--palette-6); }
#viewer-root .hb-run-link { display: inline; text-decoration: underline; }
#viewer-root :is(section, footer) { position: relative; background-color: var(--section-background, transparent); }
#viewer-root a:where([aria-current='page']:not(.hb-btn--primary, .hb-btn--secondary, .hb-btn--custom, .hb-run-link)) { text-decoration-line: underline; text-underline-offset: 0.3em; }
#viewer-root :where(p, .hb-text--lead, .hb-md, .hb-btn, img, .hb-media-link, .hb-media-fit, .hb-media-fill, .hb-image-empty) + :is(h1, h2, h3, h4, h5, h6) { margin-top: calc(var(--hb-gap, 0px) * var(--hb-rhythm, 1)); }
#viewer-root :where(.hb-text--eyebrow) + :is(h1, h2, h3, h4, h5, h6) { margin-top: calc(var(--hb-gap, 0px) * -0.5 * var(--hb-rhythm, 1)); }
#viewer-root :where(p) + :where(.hb-btn) { margin-top: calc(var(--hb-gap, 0px) * 0.5 * var(--hb-rhythm, 1)); }
#viewer-root .hb-image-block--poster {
  justify-content: var(--image-poster-justify, flex-end); align-items: var(--image-poster-items, center);
  text-align: var(--image-poster-align, center);
  padding: var(--image-poster-inset, var(--space-9)); gap: var(--image-poster-gap, var(--space-4));
}
#viewer-root .hb-image-block--poster > :where(.hb-btn) { margin-top: var(--image-poster-button-gap, 0px); }
#viewer-root .hb-image-block--poster > :where(*) { max-width: var(--image-poster-width, 720px); }
#viewer-root .hb-image-block--card {
  justify-content: var(--image-card-justify, center); align-items: var(--image-card-items, flex-start);
  text-align: var(--image-card-align, left);
  padding: var(--image-card-inset, var(--space-8)); gap: var(--image-card-gap, var(--space-4));
}
#viewer-root .hb-image-block--card > :where(.hb-btn) { margin-top: var(--image-card-button-gap, 0px); }
#viewer-root .hb-nav { position: relative; background-color: var(--section-background, transparent); }
#viewer-root .hb-nav--pin { position: var(--hb-pin-position, sticky); top: 0; z-index: 3; }
#viewer-root .hb-nav--pin.hb-nav--stuck { box-shadow: 0 1px 0 var(--stroke-color); }
#viewer-root .hb-nav--sub { top: var(--hb-nav-offset, 0px); z-index: 2; transition: top 0.25s ease; }
#viewer-root .hb-nav--autohide { transition: transform 0.25s ease; }
#viewer-root .hb-nav--sub.hb-nav--autohide { transition: top 0.25s ease, transform 0.25s ease; }
#viewer-root.hb-nav-hidden .hb-nav--autohide { transform: translateY(-100%); }
#viewer-root.hb-nav-hidden .hb-nav--sub { top: 0; }
#viewer-root { --hb-sticky-top: var(--hb-nav-stack, 0px); }
#viewer-root.hb-nav-hidden { --hb-sticky-top: 0px; }
#viewer-root .hb-nav--pin.hb-nav--overlay {
  position: var(--hb-overlay-position, fixed);
  left: 0; right: 0; margin-inline: auto;
}
#viewer-root .hb-nav--overlay.hb-nav--corner {
  top: auto; right: auto; bottom: auto; left: auto; width: fit-content;
  --hb-page-gutter: var(--site-margin, 4cqw);
}
#viewer-root .hb-nav--overlay.hb-nav--corner-top-left { top: var(--space-3); left: max(var(--space-3), env(safe-area-inset-left, 0px)); }
#viewer-root .hb-nav--overlay.hb-nav--corner-top-right { top: var(--space-3); right: max(var(--space-3), env(safe-area-inset-right, 0px)); }
#viewer-root .hb-nav--overlay.hb-nav--corner-bottom-left { bottom: calc(var(--hb-overlay-bottom, 0px) + max(var(--space-3), env(safe-area-inset-bottom, 0px))); left: max(var(--space-3), env(safe-area-inset-left, 0px)); }
#viewer-root .hb-nav--overlay.hb-nav--corner-bottom-right { bottom: calc(var(--hb-overlay-bottom, 0px) + max(var(--space-3), env(safe-area-inset-bottom, 0px))); right: max(var(--space-3), env(safe-area-inset-right, 0px)); }
#viewer-root .hb-nav--overlay.hb-nav--corner-bottom-center { bottom: calc(var(--hb-overlay-bottom, 0px) + max(var(--space-3), env(safe-area-inset-bottom, 0px))); left: 0; right: 0; margin-inline: auto; }
#viewer-root .hb-nav__burger {
  display: none; position: absolute; z-index: 30;
  top: 50%; right: var(--space-3); transform: translateY(-50%);
  flex-direction: column; justify-content: center; gap: 5px;
  width: 40px; height: 40px; padding: 0 10px;
  background: none; border: none; color: inherit; cursor: pointer;
}
#viewer-root .hb-nav__burger span {
  display: block; width: 100%; height: 2px; border-radius: 1px;
  background: currentColor;
  transition: transform 0.25s ease, opacity 0.2s ease;
}
#viewer-root .hb-nav-open .hb-nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#viewer-root .hb-nav-open .hb-nav__burger span:nth-child(2) { opacity: 0; }
#viewer-root .hb-nav-open .hb-nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
#viewer-root .hb-nav__scrim {
  position: var(--hb-overlay-position, fixed);
  top: 0; left: 0; width: 100%;
  height: var(--hb-overlay-height, var(--hb-viewport, 100svh));
  z-index: 20; margin: 0; padding: 0; border: none;
  background: rgba(0, 0, 0, 0.35); opacity: 0; visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  cursor: pointer;
}
#viewer-root .hb-nav-open .hb-nav__scrim { opacity: 1; visibility: visible; }
#viewer-root .hb-nav__burger--rail {
  position: var(--hb-overlay-position, fixed);
  top: var(--space-3); transform: none; z-index: 6;
  background-color: var(--section-background, var(--color-background));
}
#viewer-root .hb-nav__scrim--rail { z-index: 4; }
#viewer-root .hb-rail-open > .hb-nav__burger--rail span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#viewer-root .hb-rail-open > .hb-nav__burger--rail span:nth-child(2) { opacity: 0; }
#viewer-root .hb-rail-open > .hb-nav__burger--rail span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
#viewer-root .hb-page__main { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; }
#viewer-root .hb-nav-trigger {
  display: inline-block; background: none; padding: 0;
  color: inherit; text-align: inherit;
}
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-nav--sub, #viewer-root .hb-nav--autohide,
  #viewer-root .hb-nav__burger span, #viewer-root .hb-nav__scrim { transition: none; }
}
#viewer-root .hb-theme--paper {
  --site-title-color: #181715;
  --nav-link-color: #181715;
  --section-background: #ffffff;
  --background-overlay: rgba(24, 23, 21, 0.04);
  --hover-fill: rgba(24, 23, 21, 0.08);
  --inset-border: rgba(24, 23, 21, 0.09);
  --section-divider-stroke: rgba(24, 23, 21, 0.09);
  --heading-xl-color: #181715;
  --heading-l-color: #181715;
  --heading-m-color: #181715;
  --heading-s-color: #181715;
  --paragraph-l-color: rgba(24, 23, 21, 0.66);
  --paragraph-m-color: rgba(24, 23, 21, 0.66);
  --paragraph-s-color: rgba(24, 23, 21, 0.59);
  --text-highlight-color: #181715;
  --background-color: #ffffff;
  --stroke-color: rgba(24, 23, 21, 0.09);
  --button-fill-color: #181715;
  --button-label-color: #ffffff;
  --button-outline-label-color: #181715;
  --empty-image-end: #d1d1d0;
  --empty-image-grain: rgba(24, 23, 21, 0.13);
  --btn-primary-bg: #181715;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #ffffff;
  --btn-secondary-text: #181715;
  --btn-tertiary-text: #181715;
  --btn-secondary-hover-fill: #181715;
  --btn-secondary-hover-text: #ffffff;
  --btn-tertiary-hover-fill: #181715;
  --btn-tertiary-hover-text: #ffffff;
  --btn-primary-hover-fill: #ffffff;
  --btn-primary-hover-text: #181715;
  --btn-primary-hover-ring: #181715;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--mist {
  --site-title-color: #181715;
  --nav-link-color: #181715;
  --section-background: #f0efec;
  --background-overlay: rgba(24, 23, 21, 0.05);
  --hover-fill: rgba(24, 23, 21, 0.08);
  --inset-border: rgba(24, 23, 21, 0.1);
  --section-divider-stroke: rgba(24, 23, 21, 0.1);
  --heading-xl-color: #181715;
  --heading-l-color: #181715;
  --heading-m-color: #181715;
  --heading-s-color: #181715;
  --paragraph-l-color: rgba(24, 23, 21, 0.66);
  --paragraph-m-color: rgba(24, 23, 21, 0.66);
  --paragraph-s-color: rgba(24, 23, 21, 0.61);
  --text-highlight-color: #181715;
  --background-color: #f0efec;
  --stroke-color: rgba(24, 23, 21, 0.1);
  --button-fill-color: #181715;
  --button-label-color: #ffffff;
  --button-outline-label-color: #181715;
  --empty-image-end: #c5c4c1;
  --empty-image-grain: rgba(24, 23, 21, 0.13);
  --btn-primary-bg: #181715;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #ffffff;
  --btn-secondary-text: #181715;
  --btn-tertiary-text: #181715;
  --btn-secondary-hover-fill: #181715;
  --btn-secondary-hover-text: #f0efec;
  --btn-tertiary-hover-fill: #181715;
  --btn-tertiary-hover-text: #f0efec;
  --btn-primary-hover-fill: #f0efec;
  --btn-primary-hover-text: #181715;
  --btn-primary-hover-ring: #181715;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--wash {
  --site-title-color: #181715;
  --nav-link-color: #181715;
  --section-background: #e7e5e0;
  --background-overlay: rgba(24, 23, 21, 0.06);
  --hover-fill: rgba(24, 23, 21, 0.08);
  --inset-border: rgba(24, 23, 21, 0.12);
  --section-divider-stroke: rgba(24, 23, 21, 0.12);
  --heading-xl-color: #181715;
  --heading-l-color: #181715;
  --heading-m-color: #181715;
  --heading-s-color: #181715;
  --paragraph-l-color: rgba(24, 23, 21, 0.68);
  --paragraph-m-color: rgba(24, 23, 21, 0.68);
  --paragraph-s-color: rgba(24, 23, 21, 0.62);
  --text-highlight-color: #181715;
  --background-color: #e7e5e0;
  --stroke-color: rgba(24, 23, 21, 0.12);
  --button-fill-color: #181715;
  --button-label-color: #ffffff;
  --button-outline-label-color: #181715;
  --empty-image-end: #bebcb7;
  --empty-image-grain: rgba(24, 23, 21, 0.13);
  --btn-primary-bg: #181715;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #ffffff;
  --btn-secondary-text: #181715;
  --btn-tertiary-text: #181715;
  --btn-secondary-hover-fill: #181715;
  --btn-secondary-hover-text: #e7e5e0;
  --btn-tertiary-hover-fill: #181715;
  --btn-tertiary-hover-text: #e7e5e0;
  --btn-primary-hover-fill: #e7e5e0;
  --btn-primary-hover-text: #181715;
  --btn-primary-hover-ring: #181715;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--brand {
  --site-title-color: #ffffff;
  --nav-link-color: #ffffff;
  --section-background: #181715;
  --background-overlay: rgba(255, 255, 255, 0.12);
  --hover-fill: rgba(255, 255, 255, 0.14);
  --inset-border: rgba(255, 255, 255, 0.22);
  --section-divider-stroke: rgba(255, 255, 255, 0.22);
  --heading-xl-color: #ffffff;
  --heading-l-color: #ffffff;
  --heading-m-color: #ffffff;
  --heading-s-color: #ffffff;
  --paragraph-l-color: rgba(255, 255, 255, 0.84);
  --paragraph-m-color: rgba(255, 255, 255, 0.84);
  --paragraph-s-color: rgba(255, 255, 255, 0.6);
  --text-highlight-color: #ffffff;
  --background-color: #181715;
  --stroke-color: rgba(255, 255, 255, 0.22);
  --button-fill-color: #ffffff;
  --button-label-color: #181715;
  --button-outline-label-color: #ffffff;
  --empty-image-end: #464544;
  --empty-image-grain: rgba(255, 255, 255, 0.1);
  --btn-primary-bg: #ffffff;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #181715;
  --btn-secondary-text: #ffffff;
  --btn-tertiary-text: #ffffff;
  --btn-secondary-hover-fill: #ffffff;
  --btn-secondary-hover-text: #181715;
  --btn-tertiary-hover-fill: #ffffff;
  --btn-tertiary-hover-text: #181715;
  --btn-primary-hover-fill: #181715;
  --btn-primary-hover-text: #ffffff;
  --btn-primary-hover-ring: #ffffff;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--ink {
  --site-title-color: #ffffff;
  --nav-link-color: #ffffff;
  --section-background: #181715;
  --background-overlay: rgba(255, 255, 255, 0.07);
  --hover-fill: rgba(255, 255, 255, 0.14);
  --inset-border: rgba(255, 255, 255, 0.16);
  --section-divider-stroke: rgba(255, 255, 255, 0.16);
  --heading-xl-color: #ffffff;
  --heading-l-color: #ffffff;
  --heading-m-color: #ffffff;
  --heading-s-color: #ffffff;
  --paragraph-l-color: rgba(255, 255, 255, 0.76);
  --paragraph-m-color: rgba(255, 255, 255, 0.76);
  --paragraph-s-color: rgba(255, 255, 255, 0.5);
  --text-highlight-color: #828281;
  --background-color: #181715;
  --stroke-color: rgba(255, 255, 255, 0.16);
  --button-fill-color: #181715;
  --button-label-color: #ffffff;
  --button-outline-label-color: #ffffff;
  --empty-image-end: #464544;
  --empty-image-grain: rgba(255, 255, 255, 0.1);
  --btn-primary-bg: #181715;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #ffffff;
  --btn-secondary-text: #ffffff;
  --btn-tertiary-text: #ffffff;
  --btn-secondary-hover-fill: #ffffff;
  --btn-secondary-hover-text: #181715;
  --btn-tertiary-hover-fill: #ffffff;
  --btn-tertiary-hover-text: #181715;
  --btn-primary-hover-fill: #ffffff;
  --btn-primary-hover-text: #181715;
  --btn-primary-hover-ring: transparent;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--shade {
  --site-title-color: #ffffff;
  --nav-link-color: #ffffff;
  --section-background: #0c0c0b;
  --background-overlay: rgba(255, 255, 255, 0.06);
  --hover-fill: rgba(255, 255, 255, 0.14);
  --inset-border: rgba(255, 255, 255, 0.14);
  --section-divider-stroke: rgba(255, 255, 255, 0.14);
  --heading-xl-color: #ffffff;
  --heading-l-color: #ffffff;
  --heading-m-color: #ffffff;
  --heading-s-color: #ffffff;
  --paragraph-l-color: rgba(255, 255, 255, 0.74);
  --paragraph-m-color: rgba(255, 255, 255, 0.74);
  --paragraph-s-color: rgba(255, 255, 255, 0.48);
  --text-highlight-color: #ffffff;
  --background-color: #0c0c0b;
  --stroke-color: rgba(255, 255, 255, 0.14);
  --button-fill-color: #ffffff;
  --button-label-color: #181715;
  --button-outline-label-color: #ffffff;
  --empty-image-end: #3d3d3c;
  --empty-image-grain: rgba(255, 255, 255, 0.1);
  --btn-primary-bg: #ffffff;
  --btn-primary-bg-hover: color-mix(in srgb, var(--btn-primary-bg) 85%, var(--section-background, var(--color-background)));
  --btn-primary-text: #181715;
  --btn-secondary-text: #ffffff;
  --btn-tertiary-text: #ffffff;
  --btn-secondary-hover-fill: #ffffff;
  --btn-secondary-hover-text: #0c0c0b;
  --btn-tertiary-hover-fill: #ffffff;
  --btn-tertiary-hover-text: #0c0c0b;
  --btn-primary-hover-fill: #0c0c0b;
  --btn-primary-hover-text: #ffffff;
  --btn-primary-hover-ring: #ffffff;
  color: var(--paragraph-m-color, var(--gray-12));
}
#viewer-root .hb-theme--none {
  --section-background: transparent;
}
#viewer-root .hb-btn--primary:where(:not([class*='hb-hover--'])), #viewer-root .hb-btn--secondary:where(:not([class*='hb-hover--'])), #viewer-root .hb-btn--custom:where(:not([class*='hb-hover--'])) { transition: background-size 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
#viewer-root .hb-btn--primary:where(:not([class*='hb-hover--'])) {
  background-image: linear-gradient(var(--btn-primary-hover-fill), var(--btn-primary-hover-fill)); background-repeat: no-repeat;
  background-origin: border-box; background-size: 0% 100%;
}
#viewer-root .hb-btn--primary:where(:not([class*='hb-hover--'])):hover {
  background-image: linear-gradient(var(--btn-primary-hover-fill), var(--btn-primary-hover-fill)); background-repeat: no-repeat;
  background-origin: border-box; background-size: 100% 100%;
  color: var(--btn-primary-hover-text); border-color: var(--btn-primary-hover-fill); box-shadow: inset 0 0 0 1px var(--btn-primary-hover-ring), var(--btn-primary-shadow);
}
#viewer-root .hb-btn--secondary:where(:not([class*='hb-hover--'])) {
  background-image: linear-gradient(var(--btn-secondary-hover-fill), var(--btn-secondary-hover-fill)); background-repeat: no-repeat;
  background-origin: border-box; background-size: 0% 100%;
}
#viewer-root .hb-btn--secondary:where(:not([class*='hb-hover--'])):hover {
  background-image: linear-gradient(var(--btn-secondary-hover-fill), var(--btn-secondary-hover-fill)); background-repeat: no-repeat;
  background-origin: border-box; background-size: 100% 100%;
  color: var(--btn-secondary-hover-text); border-color: var(--btn-secondary-hover-fill);
}
#viewer-root .hb-btn--custom:where(:not([class*='hb-hover--'])) {
  background-image: linear-gradient(var(--btn-custom-hover-fill, var(--btn-primary-hover-fill)), var(--btn-custom-hover-fill, var(--btn-primary-hover-fill))); background-repeat: no-repeat;
  background-origin: border-box; background-size: 0% 100%;
}
#viewer-root .hb-btn--custom:where(:not([class*='hb-hover--'])):hover {
  background-image: linear-gradient(var(--btn-custom-hover-fill, var(--btn-primary-hover-fill)), var(--btn-custom-hover-fill, var(--btn-primary-hover-fill))); background-repeat: no-repeat;
  background-origin: border-box; background-size: 100% 100%;
  color: var(--btn-custom-hover-text, var(--btn-primary-hover-text)); border-color: var(--btn-custom-hover-fill, var(--btn-primary-hover-fill)); box-shadow: inset 0 0 0 1px var(--btn-custom-hover-ring, var(--btn-primary-hover-ring)), var(--btn-custom-shadow, var(--btn-primary-shadow));
}
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-btn--primary:where(:not([class*='hb-hover--'])), #viewer-root .hb-btn--secondary:where(:not([class*='hb-hover--'])), #viewer-root .hb-btn--custom:where(:not([class*='hb-hover--'])) { transition: none; }
}
#viewer-root .hb-hover--lift { transition: translate 0.2s ease; }
#viewer-root .hb-hover--lift:hover { translate: 0 -4px; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--lift { transition: none; }
  #viewer-root .hb-hover--lift:hover { translate: none; }
}
#viewer-root .hb-hover--zoom { transition: scale 0.2s ease; }
#viewer-root .hb-hover--zoom:hover { scale: 1.03; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--zoom { transition: none; }
  #viewer-root .hb-hover--zoom:hover { scale: none; }
}
#viewer-root .hb-hover--underline {
  text-decoration-line: underline; text-decoration-color: transparent;
  text-underline-offset: 0.18em;
  transition: text-decoration-color 0.2s ease;
}
#viewer-root .hb-hover--underline:hover { text-decoration-color: currentColor; }
#viewer-root .hb-hover--underline:has(> a[aria-current='page']:not(.hb-run-link)) { text-decoration-color: currentColor; }
#viewer-root .hb-hover--underline > a[aria-current='page']:not(.hb-run-link) { text-decoration-line: none; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--underline { transition: none; }
}
#viewer-root .hb-hover--fade { transition: opacity 0.2s ease; }
#viewer-root .hb-hover--fade:hover { opacity: 0.6; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--fade { transition: none; }
}
#viewer-root .hb-hover--tint { transition: background-color 0.2s ease; }
#viewer-root .hb-hover--tint:hover { background-color: var(--hover-fill); }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--tint { transition: none; }
}
#viewer-root .hb-hover--slide { transition: translate 0.2s ease; }
#viewer-root .hb-hover--slide:hover { translate: 0.5rem 0; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--slide { transition: none; }
  #viewer-root .hb-hover--slide:hover { translate: none; }
}
#viewer-root :where(.hb-hover--rule:not(:has(> .hb-card-link))) { position: relative; }
#viewer-root .hb-hover--rule::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background-color: currentColor; scale: 0 1; transform-origin: left;
  pointer-events: none; transition: scale 0.3s ease;
}
#viewer-root .hb-hover--rule:hover::before { scale: 1 1; }
#viewer-root :is(.hb-hover--rule:has(> a[aria-current='page']:not(.hb-run-link)), a.hb-hover--rule[aria-current='page']:not(.hb-btn--primary, .hb-btn--secondary, .hb-btn--custom))::before { scale: 1 1; }
#viewer-root :is(.hb-hover--rule > a[aria-current='page']:not(.hb-run-link), a.hb-hover--rule[aria-current='page']:not(.hb-btn--primary, .hb-btn--secondary, .hb-btn--custom)) { text-decoration-line: none; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-hover--rule::before { transition: none; }
}
#viewer-root .hb-card.hb-hover--halo:has(.hb-card-link) { isolation: isolate; }
#viewer-root .hb-card.hb-hover--halo:has(.hb-card-link)::before {
  content: ""; position: absolute; inset: calc(-1 * var(--space-3, 12px)); z-index: -1;
  border-radius: var(--radius-5, 12px); background-color: var(--hover-fill);
  opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
}
#viewer-root .hb-card.hb-hover--halo:has(.hb-card-link):is(:hover, :has(.hb-card-link:focus-visible))::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-card.hb-hover--halo:has(.hb-card-link)::before { transition: none; }
}
#viewer-root :where(:not([class*='hb-hover--'])) > :where(.hb-link:not([aria-current='page'])), #viewer-root :where(.hb-card:not([class*='hb-hover--'])) :where(:not([class*='hb-hover--'])) > :where(.hb-card-link:not([aria-current='page'])) {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat; background-origin: content-box;
  background-position: 0 100%; background-size: 0% max(1px, 0.06em);
  transition: background-size 0.3s ease;
}
#viewer-root :where(:not([class*='hb-hover--'])) > :where(.hb-link:not([aria-current='page']):is(:hover, :focus-visible)), #viewer-root :where(.hb-card:not([class*='hb-hover--']):is(:hover, :has(.hb-card-link:focus-visible))) :where(:not([class*='hb-hover--'])) > :where(.hb-card-link:not([aria-current='page'])) { background-size: 100% max(1px, 0.06em); }
@media (prefers-reduced-motion: reduce) {
  #viewer-root :where(:not([class*='hb-hover--'])) > :where(.hb-link:not([aria-current='page'])), #viewer-root :where(.hb-card:not([class*='hb-hover--'])) :where(:not([class*='hb-hover--'])) > :where(.hb-card-link:not([aria-current='page'])) { transition: none; }
}
@property --hb-card-zoom { syntax: "<number>"; inherits: false; initial-value: 1; }
#viewer-root :where(.hb-card:not([class*='hb-hover--']):has(.hb-card-link)) :where(img:not([class*='hb-hover--']):not(.hb-video__frame > img)) {
  scale: var(--hb-card-zoom);
  clip-path: inset(min(50% - 50% / var(--hb-card-zoom), (var(--hb-card-zoom) - 1) * 1000000px - 1000px) round calc(var(--hb-radius, 0px) / var(--hb-card-zoom)));
  transition: --hb-card-zoom 0.4s ease;
}
#viewer-root :where(.hb-card:not([class*='hb-hover--']):has(.hb-card-link):is(:hover, :has(.hb-card-link:focus-visible))) :where(img:not([class*='hb-hover--']):not(.hb-video__frame > img)) { --hb-card-zoom: 1.04; }
#viewer-root .hb-card :is(img, .hb-media-fill, .hb-media-fit, .hb-video, :has(> :is(img, .hb-media-fill, .hb-media-fit))) ~ img, #viewer-root .hb-card :is(img, .hb-media-fill, .hb-media-fit, .hb-video, :has(> :is(img, .hb-media-fill, .hb-media-fit))) ~ * img, #viewer-root .hb-card [class*='hb-hover--'] > img { --hb-card-zoom: 1; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root :where(.hb-card:not([class*='hb-hover--']):has(.hb-card-link)) :where(img:not([class*='hb-hover--']):not(.hb-video__frame > img)) { transition: none; }
  #viewer-root :where(.hb-card:not([class*='hb-hover--']):has(.hb-card-link):is(:hover, :has(.hb-card-link:focus-visible))) :where(img:not([class*='hb-hover--']):not(.hb-video__frame > img)) { --hb-card-zoom: 1; }
}
@property --hb-loop { syntax: "*"; inherits: false; }
@keyframes hb-float { to { transform: translateY(1.25rem); } }
#viewer-root .hb-loop--float { --hb-loop: hb-float 3.5s cubic-bezier(.45,0,.55,1) infinite alternate; animation: var(--hb-loop); }
#viewer-root .hb-loop--float > * { --hb-loop: none; }
@media (prefers-reduced-motion: reduce) {
  #viewer-root .hb-loop--float { --hb-loop: none; animation: none; }
}
@media print {
  #viewer-root .hb-loop--float { --hb-loop: none; animation: none; }
}
#viewer-root .hb-disp { display: block; max-width: 100%; }
#viewer-root .hb-disp--scroll { overflow: hidden; }
#viewer-root .hb-disp__svg { display: block; overflow: visible; }
:where(#viewer-root .hb-disp--static) { text-align: left; }
#viewer-root .hb-disp.hb-disp--static { line-height: 0; }
#viewer-root .hb-disp--static > .hb-disp__svg { display: inline-block; vertical-align: top; max-width: 100%; height: auto; }
#viewer-root .hb-disp--fade { -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }