@font-face {
	font-family: "Barlow";
	src: url("./fonts/Barlow-ExtraLight.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 200;
}

@font-face {
	font-family: "Barlow";
	src: url("./fonts/Barlow-Regular.ttf") format("truetype");
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

:root {
	color-scheme: light;
	--frontmark-color-scheme: light;
	--frontmark-theme-name: underground;
	--frontmark-font-text: "Barlow", "Helvetica Neue", Arial, sans-serif;
	--frontmark-font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
	--frontmark-font-menu: "Barlow", "Helvetica Neue", Arial, sans-serif;
	--frontmark-font-heading: "Barlow", "Helvetica Neue", Arial, sans-serif;
	--frontmark-theme-ink: #f4f1eb;
	--frontmark-theme-night: #fffdfa;
	--frontmark-theme-deep: #ded7cb;
	--frontmark-theme-panel: #ffffff;
	--frontmark-theme-panel-soft: #f6f2ec;
	--frontmark-theme-surface: #ffffff;
	--frontmark-theme-surface-soft: #f7f3ed;
	--frontmark-theme-surface-strong: #e9e1d6;
	--frontmark-theme-border-subtle: rgba(69, 59, 48, 0.18);
	--frontmark-theme-readable-link: #9a4d19;
	--frontmark-theme-accent: #bd6928;
	--frontmark-theme-accent-bright: #da883f;
	--frontmark-theme-accent-soft: #7b3c14;
	--frontmark-theme-steel: #7d756b;
	--frontmark-theme-text: #26231f;
	--frontmark-theme-muted: #625d56;
	--frontmark-theme-header: #fffdfa;
	--frontmark-theme-warning: #d59a3b;
	--frontmark-theme-danger: #9c483d;
	--frontmark-ink: var(--frontmark-theme-ink);
	--frontmark-night: var(--frontmark-theme-night);
	--frontmark-deep: var(--frontmark-theme-deep);
	--frontmark-panel: var(--frontmark-theme-panel);
	--frontmark-panel-soft: var(--frontmark-theme-panel-soft);
	--frontmark-cyan: var(--frontmark-theme-accent);
	--frontmark-cyan-bright: var(--frontmark-theme-accent-bright);
	--frontmark-cyan-soft: var(--frontmark-theme-accent-soft);
	--frontmark-steel: var(--frontmark-theme-steel);
	--frontmark-text: var(--frontmark-theme-text);
	--frontmark-muted: var(--frontmark-theme-muted);
	--frontmark-header: var(--frontmark-theme-header);
	--frontmark-yellow: var(--frontmark-theme-warning);
	--frontmark-danger: var(--frontmark-theme-danger);
	--frontmark-scroll-progress-gradient: linear-gradient(90deg, #2a251f 0%, #bd6928 62%, #da883f 100%);
	--frontmark-scroll-progress-track: rgba(189, 105, 40, 0.12);
	--frontmark-scroll-progress-shadow: 0 0 0.7rem rgba(189, 105, 40, 0.28);
	--frontmark-admonition-background-base: var(--frontmark-panel-soft);
	--frontmark-admonition-background-tint: 8%;
	--frontmark-mkdocs-code-background: #f4efe8;
	--frontmark-mkdocs-code-border: rgba(123, 60, 20, 0.22);
	--frontmark-mkdocs-root-code-background: #f7ece8;
	--frontmark-mkdocs-root-code-border: rgba(156, 72, 61, 0.42);
	--frontmark-mkdocs-code-label-color: var(--frontmark-theme-muted);
	--frontmark-mkdocs-code-caption-color: var(--frontmark-theme-text);
	--frontmark-mkdocs-root-code-caption-color: var(--frontmark-theme-danger);
	--mkdocs-tabbed-active-color: var(--frontmark-theme-accent-soft);
	--mkdocs-tabbed-active-bg: rgba(189, 105, 40, 0.09);
	--mkdocs-tabbed-active-border: var(--frontmark-theme-accent);
	--frontmark-body-background:
		linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)),
		repeating-linear-gradient(90deg, transparent 0 5rem, rgba(74, 63, 51, 0.025) 5rem calc(5rem + 1px)),
		#f4f1eb;
	--frontmark-header-background: rgba(255, 253, 250, 0.97);
	--frontmark-header-text: #25221e;
	--frontmark-header-border: rgba(63, 54, 44, 0.13);
	--frontmark-theme-nav-height: 76px;
	--frontmark-theme-nav-height-minimized: 54px;
	--frontmark-menu-title-size: 23px;
	--frontmark-menu-title-size-minimized: 18px;
	--frontmark-logo-size: 48px;
	--frontmark-logo-size-minimized: 34px;
	--frontmark-brand-align: flex-start;
	--frontmark-brand-text-align: left;
	--frontmark-header-radius: 0;
	--frontmark-header-shadow: 0 0.32rem 1.1rem rgba(42, 35, 28, 0.055);
	--frontmark-header-icon-background: transparent;
	--frontmark-header-icon-hover-background: #f0e6da;
	--frontmark-header-icon-text: #2b2722;
	--frontmark-header-icon-hover-text: #8b4517;
	--frontmark-header-icon-border: rgba(70, 60, 49, 0.18);
	--frontmark-header-icon-hover-border: rgba(189, 105, 40, 0.58);
	--frontmark-mobile-menu-button-background: transparent;
	--frontmark-mobile-menu-button-hover-background: #f0e6da;
	--frontmark-mobile-menu-button-text: #2b2722;
	--frontmark-mobile-menu-button-border: rgba(70, 60, 49, 0.2);
	--frontmark-mobile-menu-button-hover-border: rgba(189, 105, 40, 0.58);
	--frontmark-theme-toolbar-background: rgba(250, 247, 242, 0.97);
	--frontmark-theme-toolbar-border: rgba(96, 79, 61, 0.2);
	--frontmark-theme-toolbar-group-background: #ffffff;
	--frontmark-theme-toolbar-group-border: rgba(96, 79, 61, 0.16);
	--frontmark-theme-toolbar-group-text: #5c554d;
	--frontmark-theme-toolbar-button-background: #fffdfa;
	--frontmark-theme-toolbar-button-text: #2b2722;
	--frontmark-theme-toolbar-button-border: rgba(96, 79, 61, 0.18);
	--frontmark-theme-toolbar-button-hover-background: #f1e4d6;
	--frontmark-theme-toolbar-active-background: #ead5c0;
	--frontmark-theme-toolbar-active-border: #bd6928;
	--frontmark-page-tools-background: #faf7f2;
	--frontmark-page-tools-border: rgba(96, 79, 61, 0.2);
	--frontmark-page-tools-text: #625d56;
	--frontmark-page-tools-qr-background: #fffdfa;
	--frontmark-page-tools-qr-foreground: #211e1a;
	--frontmark-page-tools-action-background: #ffffff;
	--frontmark-page-tools-action-border: rgba(96, 79, 61, 0.2);
	--frontmark-page-tools-action-text: #2b2722;
	--frontmark-page-tools-action-hover-background: #f1e4d6;
	--frontmark-page-tools-action-hover-text: #7b3c14;
	--frontmark-footer-background:
		linear-gradient(120deg, rgba(189, 105, 40, 0.08), transparent 32rem),
		#121413;
	--frontmark-footer-fixed-background: #121413;
	--frontmark-footer-border: rgba(218, 136, 63, 0.34);
	--frontmark-footer-text: #c9c2b8;
	--frontmark-footer-strong-text: #f5f0e8;
	--frontmark-footer-muted-text: #918b82;
	--frontmark-footer-link: #d19a68;
	--frontmark-footer-link-hover: #fff7ed;
	--frontmark-footer-social-background: transparent;
	--frontmark-footer-social-border: rgba(209, 154, 104, 0.36);
	--frontmark-footer-social-text: #eee6dc;
	--frontmark-footer-social-hover-background: #bd6928;
	--frontmark-footer-social-hover-border: #da883f;
	--frontmark-footer-social-hover-text: #ffffff;
	--frontmark-footer-margin-top: clamp(3.5rem, 8vw, 7rem);
	--frontmark-footer-padding-block: clamp(2rem, 3.25vw, 3.25rem) clamp(1rem, 2vw, 1.75rem);
	--frontmark-footer-width: 100%;
	--frontmark-footer-gutter: clamp(3rem, 6vw, 8rem);
	--frontmark-footer-docs-padding-inline: clamp(1.5rem, 3vw, 4rem);
	--frontmark-footer-font: "Barlow", "Helvetica Neue", Arial, sans-serif;
	--frontmark-footer-heading-font: "Barlow", "Helvetica Neue", Arial, sans-serif;
	--frontmark-footer-category-columns: 4;
	--frontmark-footer-main-gap: clamp(2.5rem, 5vw, 6rem);
	--frontmark-footer-category-gap: clamp(1.5rem, 3vw, 4rem);
	--frontmark-footer-category-row-gap: 0.2rem;
	--frontmark-footer-bottom-border: rgba(238, 230, 220, 0.12);
	--frontmark-footer-social-radius: 0;
	--frontmark-tag-text: #7b3c14;
	--frontmark-tag-background: #f6e8da;
	--frontmark-tag-border: rgba(189, 105, 40, 0.32);
	--frontmark-tag-hover-text: #ffffff;
	--frontmark-tag-hover-background: #9a4d19;
	--frontmark-tag-hover-border: #7b3c14;
	--frontmark-container-shadow-long-drop: 1rem 1rem 0 rgba(63, 48, 33, 0.2);
	--frontmark-container-shadow-hard: 0.45rem 0.45rem 0 rgba(34, 29, 24, 0.38);
	--frontmark-container-shadow-halo: 0 0 2rem rgba(189, 105, 40, 0.28);
	--frontmark-container-shadow-light: 0 0.75rem 1.75rem rgba(45, 38, 31, 0.13);
	--frontmark-starlight-header-font: var(--frontmark-font-menu);
	--frontmark-starlight-nav-font: var(--frontmark-font-menu);
	--sl-color-accent-low: #f2dfcc;
	--sl-color-accent: #bd6928;
	--sl-color-accent-high: #70350f;
}

:root body {
	background: var(--frontmark-body-background);
	color: var(--frontmark-theme-muted);
	font-family: var(--frontmark-font-text);
}

:root :where(header.header, .frontmark-header-shell) {
	backdrop-filter: blur(14px);
}

:root :where(header.header, .frontmark-header-shell) .site-title {
	font-family: var(--frontmark-font-menu);
	font-size: 23px;
	line-height: 1;
}

:root :where(header.header, .frontmark-header-shell) .brand-title {
	font-size: 23px;
	line-height: 1;
}

:root :where(header.header, .frontmark-header-shell) .brand-title strong {
	color: #25221e;
	font-family: var(--frontmark-font-heading);
	font-weight: 400;
	letter-spacing: 0.24em;
	line-height: 0.95;
	text-shadow: none;
}

:root :where(header.header, .frontmark-header-shell) .brand-title strong::after {
	content: "";
	position: absolute;
	inset-inline-start: 0.08em;
	inset-block-end: -0.4rem;
	width: 2.2rem;
	height: 1px;
	background: var(--frontmark-theme-accent);
	pointer-events: none;
}

:root :where(header.header, .frontmark-header-shell) .brand-title small {
	color: var(--frontmark-theme-accent);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

:root :where(header.header, .frontmark-header-shell) .brand-version {
	border-color: rgba(189, 105, 40, 0.28);
	border-radius: 0;
	background: transparent;
	color: #8b4517;
}

:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav {
	gap: clamp(0.2rem, 1vw, 0.65rem);
	font-family: var(--frontmark-font-menu);
}

:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a {
	position: relative;
	min-height: 2.25rem;
	border: 0;
	border-radius: 0;
	padding-inline: 0.75rem;
	color: #292621;
	font-family: inherit;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a::after {
	content: "";
	position: absolute;
	inset-inline: 0.75rem;
	inset-block-end: 0;
	height: 1px;
	background: var(--frontmark-theme-accent);
	transform: scaleX(0);
	transition: transform 160ms ease;
}

:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a:hover,
:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a:focus-visible,
:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a[aria-current="page"] {
	border-color: transparent;
	background: transparent;
	color: var(--frontmark-theme-accent-soft);
	box-shadow: none;
}

:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a:hover::after,
:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a:focus-visible::after,
:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a[aria-current="page"]::after {
	transform: scaleX(1);
}

:root .frontmark-header-search site-search button,
:root .frontmark-social-link,
:root .frontmark-header-menu summary,
:root .frontmark-header-menu-search-button,
:root .frontmark-theme-toggle-button {
	border-radius: 0;
	box-shadow: none;
}

:root .frontmark-header-search site-search button {
	border-color: rgba(189, 105, 40, 0.34);
	background: #faf7f2;
	color: #2b2722;
}

:root .frontmark-header-search site-search button :where(span, kbd) {
	color: #625d56;
}

:root .frontmark-header-search site-search button kbd {
	border-color: rgba(84, 68, 52, 0.2);
	background: #ffffff;
}

:root .frontmark-header-menu-panel {
	border-color: rgba(83, 67, 51, 0.18);
	border-radius: 0;
	background: #fffdfa;
	color: #26231f;
	box-shadow: 0 1rem 2.5rem rgba(39, 31, 23, 0.16);
}

:root .frontmark-header-menu-panel a {
	border-radius: 0;
	color: #302b25;
	font-family: var(--frontmark-font-menu);
	text-transform: uppercase;
}

:root .frontmark-header-menu-panel a:hover,
:root .frontmark-header-menu-panel a:focus-visible,
:root .frontmark-header-menu-panel a[aria-current="page"] {
	background: #f1e4d6;
	color: #7b3c14;
}

:root .site-main {
	padding-block-start: clamp(3rem, 7vw, 6.5rem);
}

:root .hero {
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 5rem);
	min-height: 0;
	text-align: center;
}

:root .hero > :first-child {
	width: min(100%, 58rem);
	margin-inline: auto;
}

:root .hero .eyebrow {
	color: var(--frontmark-theme-accent);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

:root .hero h1 {
	color: #201d19;
	font-family: var(--frontmark-font-heading);
	font-size: clamp(3rem, 7vw, 5.8rem);
	font-weight: 200;
	letter-spacing: 0.075em;
	line-height: 0.95;
	text-transform: uppercase;
}

:root .hero h1::after {
	content: "";
	display: block;
	width: 2.6rem;
	height: 2px;
	margin: 1.6rem auto 0;
	background: var(--frontmark-theme-accent-bright);
}

:root .frontmark-wordmark {
	background: none;
	color: inherit;
}

:root .hero .lead {
	max-width: 50rem;
	margin: 2rem auto 0;
	color: #625d56;
	font-size: clamp(1rem, 1.7vw, 1.2rem);
	line-height: 1.7;
}

:root .hero .actions {
	justify-content: center;
	margin-top: 2rem;
}

:root .actions a {
	border: 1px solid var(--frontmark-theme-accent);
	border-radius: 0;
	background: var(--frontmark-theme-accent);
	box-shadow: none;
	color: #ffffff;
	font-family: var(--frontmark-font-menu);
	font-size: 0.78rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

:root .actions a.secondary {
	border-color: rgba(74, 61, 48, 0.32);
	background: transparent;
	color: #2b2722;
}

:root .actions a:hover,
:root .actions a:focus-visible {
	background: var(--frontmark-theme-accent-soft);
	color: #ffffff;
}

:root :is(.prose, .sl-markdown-content, .main-pane) {
	color: var(--frontmark-theme-muted);
	font-family: var(--frontmark-font-text);
	line-height: 1.72;
}

:root :is(.prose, .sl-markdown-content, .main-pane) :is(h1, h2, h3, h4):not(.frontmark-footer *) {
	color: #25221e;
	font-family: var(--frontmark-font-heading);
	font-weight: 400;
	letter-spacing: 0.045em;
	line-height: 1.14;
	text-transform: uppercase;
}

:root :is(.prose, .sl-markdown-content, .main-pane) h1:not(.frontmark-footer *) {
	font-size: clamp(2.2rem, 4.7vw, 4.1rem);
	font-weight: 200;
	letter-spacing: 0.075em;
}

:root :is(.prose, .sl-markdown-content, .main-pane) h2:not(.frontmark-footer *) {
	font-size: clamp(1.55rem, 2.7vw, 2.2rem);
	font-weight: 200;
	text-align: center;
}

:root :is(.prose, .sl-markdown-content, .main-pane) h2:not(.frontmark-footer *)::after {
	content: "";
	display: block;
	width: 2rem;
	height: 1px;
	margin: 0.75rem auto 0;
	background: var(--frontmark-theme-accent);
}

:root :is(.prose, .sl-markdown-content, .main-pane) h3:not(.frontmark-footer *) {
	border-inline-start: 1px solid var(--frontmark-theme-accent);
	padding-inline-start: 1rem;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	font-weight: 400;
}

:root .sl-markdown-content .sl-heading-wrapper.level-h2 > h2:not(:where(.not-content *)) {
	display: block !important;
}

:root :is(.prose, .sl-markdown-content) a {
	color: #9a4d19;
	text-decoration-color: rgba(154, 77, 25, 0.42);
	text-underline-offset: 0.2em;
}

:root :is(.prose, .sl-markdown-content) a:hover,
:root :is(.prose, .sl-markdown-content) a:focus-visible {
	color: #5e2d0e;
	text-decoration-color: currentColor;
}

:root :is(.prose, .sl-markdown-content) :is(blockquote, .mkdocs-admonition) {
	border-radius: 0;
	box-shadow: none;
}

:root :is(.prose, .sl-markdown-content) blockquote {
	border-inline-start-color: var(--frontmark-theme-accent);
	background: #f8f4ee;
}

:root :is(.prose, .sl-markdown-content) :is(table, .rtable) {
	border-block: 1px solid rgba(189, 105, 40, 0.52);
}

:root :is(.prose, .sl-markdown-content) :is(table, .rtable) th {
	background: #eee4d9;
	color: #302a24;
	font-family: var(--frontmark-font-heading);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:root :is(.prose, .sl-markdown-content) code:not(pre code),
:root :is(.prose, .sl-markdown-content) pre {
	border-radius: 0;
}

:root .sl-markdown-content .mkdocs-tag,
:root .prose .mkdocs-tag {
	border-color: var(--frontmark-tag-border);
	border-radius: 0;
	background: var(--frontmark-tag-background);
	color: var(--frontmark-tag-text);
}

:root .sl-markdown-content .mkdocs-tag:hover,
:root .sl-markdown-content .mkdocs-tag:focus-visible,
:root .prose .mkdocs-tag:hover,
:root .prose .mkdocs-tag:focus-visible {
	border-color: var(--frontmark-tag-hover-border);
	background: var(--frontmark-tag-hover-background);
	color: var(--frontmark-tag-hover-text);
}

:root .mkdocs-card-grid article,
:root .grid.cards > :is(ul, ol) > li {
	border-radius: 0;
	border-color: rgba(84, 68, 52, 0.18);
	background: #fffdfa;
	box-shadow: 0 0.65rem 1.7rem rgba(49, 40, 31, 0.07);
}

:root :where(.sidebar-content, .sidebar-pane, .right-sidebar-panel) {
	background: #faf7f2;
}

:root :where(.sidebar-content, .sidebar-pane, nav[aria-label="Main"]) :where(a, summary, .group-label) {
	font-family: var(--frontmark-font-menu);
}

:root :where(.sidebar-content, .sidebar-pane, nav[aria-label="Main"]) a[aria-current="page"] {
	border-radius: 0;
	background: #ead8c5;
	color: #70350f;
}

:root :where(.sidebar-content, .sidebar-pane, nav[aria-label="Main"]) a[aria-current="page"] .mkdocs-sidebar-icon,
:root :where(.sidebar-content, .sidebar-pane, nav[aria-label="Main"]) a[aria-current="page"]:hover .mkdocs-sidebar-icon,
:root :where(.sidebar-content, .sidebar-pane, nav[aria-label="Main"]) a[aria-current="page"]:focus-visible .mkdocs-sidebar-icon {
	color: inherit;
}

:root .mkdocs-image-figure,
:root .mkdocs-image-block,
:root .mkdocs-parallax,
:root .kroki-diagram {
	border-radius: 0;
}

:root .mkdocs-image-figure img,
:root .mkdocs-image-block img,
:root .mkdocs-parallax-stage {
	border-radius: 0;
}

:root .frontmark-footer {
	font-size: 1rem;
	letter-spacing: 0.01em;
}

:root .frontmark-footer-inner {
	align-items: start;
}

:root .frontmark-footer-text {
	font-family: var(--frontmark-font-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

:root .frontmark-footer-links a {
	font-family: var(--frontmark-footer-font);
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: none;
}

:root .frontmark-footer-brand-home {
	gap: 0;
}

:root .frontmark-footer-brand-copy {
	gap: 0.32rem;
}

:root .frontmark-footer-brand-copy strong {
	font-family: var(--frontmark-font-heading);
	font-size: clamp(1.65rem, 2.4vw, 2.25rem);
	font-weight: 200;
	letter-spacing: 0.3em;
}

:root .frontmark-footer-brand-copy small {
	color: var(--frontmark-theme-accent-bright);
	font-family: var(--frontmark-footer-font);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.18em;
}

:root .frontmark-footer-brand-description {
	max-width: 14rem;
	color: #d4cdc3;
	font-size: 1rem;
	line-height: 1.35;
}

:root .frontmark-footer-brand {
	gap: 0.85rem;
}

:root .frontmark-footer-category h2 {
	margin-block-end: 0.65rem;
	color: #c57939;
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}

:root .frontmark-footer-category a {
	color: #cfc7bc;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.22;
}

:root .frontmark-footer-bottom {
	margin-block-start: clamp(1.5rem, 2.5vw, 2.125rem);
	padding-block-start: 1rem;
}

:root .frontmark-footer-bottom .frontmark-footer-copyright {
	color: #aaa39a;
	font-size: 0.92rem;
}

:root .frontmark-footer-bottom .frontmark-footer-links {
	gap: 1rem;
}

:root .frontmark-footer-bottom .frontmark-footer-links a,
:root .frontmark-footer-bottom .frontmark-footer-actions {
	color: #aaa39a;
}

:root .frontmark-footer-bottom .frontmark-footer-links a:hover,
:root .frontmark-footer-bottom .frontmark-footer-links a:focus-visible {
	color: #ded8d0;
}

:root .frontmark-footer-bottom .frontmark-footer-links a + a::before {
	content: "|";
	margin-inline-end: 1rem;
	color: #6e6963;
}

:root .frontmark-footer-social-link {
	width: 2.15rem;
	height: 2.15rem;
	border-color: rgba(238, 230, 220, 0.24);
}

:root .frontmark-footer-text,
:root .frontmark-footer-links a {
	text-shadow: none;
}

:root .frontmark-footer.frontmark-footer-always-on-top {
	position: relative;
	inset: auto;
	width: auto;
	max-width: none;
	box-shadow: none;
}

:root .frontmark-footer.frontmark-footer-always-on-top .frontmark-footer-inner {
	padding-block: var(--frontmark-footer-padding-block);
}

:root:has(.frontmark-footer-always-on-top) body {
	padding-block-end: 0;
}

@media (max-width: 64rem) {
	:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a {
		padding-inline: 0.52rem;
		font-size: 0.7rem;
	}

	:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a::after {
		inset-inline: 0.52rem;
	}
}

@media (max-width: 49.999rem) {
	:root .site-main {
		padding-block-start: 2.75rem;
	}

	:root .hero {
		gap: 2.5rem;
	}

	:root .hero h1 {
		font-size: clamp(2.6rem, 14vw, 4.2rem);
	}

	:root .hero-visual {
		order: initial;
		min-height: 22rem;
		background-position: 61% 50%;
	}

	:root :is(.prose, .sl-markdown-content, .main-pane) h2:not(.frontmark-footer *) {
		text-align: left;
	}

	:root :is(.prose, .sl-markdown-content, .main-pane) h2:not(.frontmark-footer *)::after {
		margin-inline: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	:root :where(header.header, .frontmark-header-shell) .frontmark-header-nav a::after {
		transition: none;
	}
}

/* Mise en page des pages Astro avec le thème underground. */
html[data-frontmark-style='underground'] body.site-shell {
	--frontmark-astro-page-gutter: 40px;
	--frontmark-astro-mobile-gutter: 22px;
	--frontmark-astro-max-width: 1600px;
	--frontmark-astro-main-width: 1600px;
	--frontmark-astro-content-width: 1120px;
	--frontmark-astro-main-padding: 72px;
	--frontmark-astro-content-padding: 64px;
	--frontmark-astro-mobile-main-padding: 44px;
	--frontmark-astro-mobile-content-padding: 44px;
	background: #fff;
}

html[data-frontmark-style='underground'] {
	scroll-behavior: smooth;
	scroll-padding-top: 1rem;
}

html[data-frontmark-style='underground'] .home-feature-content.prose > .mkdocs-container:not(.mkdocs-container-root-top),
html[data-frontmark-style='underground'] .home-feature-content.prose > .mkdocs-parallax,
html[data-frontmark-style='underground'] .site-shell .content-main > .mkdocs-container:not(.mkdocs-container-root-top) {
	margin-block: 0;
}

html[data-frontmark-style='underground'] .site-shell .mkdocs-container-root-flow:not(.mkdocs-container-root-top) {
	margin-block: 0;
}

html[data-frontmark-style='underground'] .site-shell .mkdocs-container-root > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
	font-size: 1rem;
	line-height: 1.6;
}
