/* Compiled from a validated resolved theme design; do not edit directly.
 * Schema: theme.design/v4
 * Framework: Bootstrap 6.0.0-alpha1
 * Source checksum: 8e951da24654164426f7644f49da50063d705c08737e328e176c1df888757e83
 * Resolved checksum: 00e6dfac050b8d6a8886749c04bba6af2a38ee534abacbe11484e72f0be14322
 * Output checksum: 2ec86ed5df1f1beef3b37c18c0c32e76ad6abe03d1603d9b3ab39d8278f386dc
 */
:root {
    --bs-bg-1: light-dark(color-mix(in srgb, #ffffff 92%, #212529), color-mix(in srgb, #111827 92%, #f8fafc));
    --bs-bg-2: light-dark(color-mix(in srgb, #ffffff 84%, #212529), color-mix(in srgb, #111827 84%, #f8fafc));
    --bs-bg-3: light-dark(color-mix(in srgb, #ffffff 72%, #212529), color-mix(in srgb, #111827 72%, #f8fafc));
    --bs-bg-4: light-dark(color-mix(in srgb, #ffffff 56%, #212529), color-mix(in srgb, #111827 56%, #f8fafc));
    --bs-bg-body: light-dark(#ffffff, #111827);
    --bs-body-font-family: "Outfit", ui-sans-serif, system-ui, sans-serif;
    --bs-body-font-size: var(--cms-type-base);
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.65;
    --bs-border-body: light-dark(color-mix(in srgb, #212529 22%, #ffffff), color-mix(in srgb, #f8fafc 22%, #111827));
    --bs-border-color: light-dark(color-mix(in srgb, #212529 22%, #ffffff), color-mix(in srgb, #f8fafc 22%, #111827));
    --bs-border-emphasized: light-dark(color-mix(in srgb, #212529 38%, #ffffff), color-mix(in srgb, #f8fafc 38%, #111827));
    --bs-border-muted: light-dark(color-mix(in srgb, #212529 16%, #ffffff), color-mix(in srgb, #f8fafc 16%, #111827));
    --bs-border-subtle: light-dark(color-mix(in srgb, #212529 12%, #ffffff), color-mix(in srgb, #f8fafc 12%, #111827));
    --bs-border-width: 1px;
    --bs-border-width-keyline: 1px;
    --bs-breakpoint-xl: 82rem;
    --bs-fg-1: light-dark(#212529, #f8fafc);
    --bs-fg-2: light-dark(color-mix(in srgb, #212529 82%, #ffffff), color-mix(in srgb, #f8fafc 82%, #111827));
    --bs-fg-3: light-dark(color-mix(in srgb, #212529 65%, #ffffff), color-mix(in srgb, #f8fafc 65%, #111827));
    --bs-fg-4: light-dark(color-mix(in srgb, #212529 50%, #ffffff), color-mix(in srgb, #f8fafc 50%, #111827));
    --bs-fg-body: light-dark(#212529, #f8fafc);
    --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
    --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
    --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
    --bs-font-size-5xl: clamp(2.5rem, 1.75rem + 3.75vw, 3.25rem);
    --bs-font-size-6xl: clamp(2.8125rem, 1.875rem + 4.6875vw, 3.75rem);
    --bs-font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
    --bs-font-size-md: var(--cms-type-base);
    --bs-font-size-sm: 0.875rem;
    --bs-font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);
    --bs-font-size-xs: 0.75rem;
    --bs-gutter-x: clamp(1rem, 4vw, 2.5rem);
    --bs-heading-color: light-dark(#212529, #f8fafc);
    --bs-heading-font-family: "Outfit", ui-sans-serif, system-ui, sans-serif;
    --bs-heading-font-weight: 700;
    --bs-heading-line-height: 1.2;
    --bs-link-color: light-dark(#0d6efd, #6ea8fe);
    --bs-link-decoration: none;
    --bs-link-hover-decoration: underline;
    --bs-link-underline-offset: 0.24em;
    --bs-primary-base: light-dark(#0d6efd, #6ea8fe);
    --bs-primary-bg: light-dark(#0d6efd, #6ea8fe);
    --bs-primary-bg-muted: light-dark(color-mix(in oklch, #0d6efd 20%, #ffffff), color-mix(in oklch, #6ea8fe 20%, #111827));
    --bs-primary-bg-subtle: light-dark(color-mix(in oklch, #0d6efd 12%, #ffffff), color-mix(in oklch, #6ea8fe 12%, #111827));
    --bs-primary-border: light-dark(color-mix(in oklch, #0d6efd 38%, #ffffff), color-mix(in oklch, #6ea8fe 38%, #111827));
    --bs-primary-contrast: #000000;
    --bs-primary-fg: light-dark(#0d6efd, #6ea8fe);
    --bs-primary-fg-emphasis: light-dark(color-mix(in oklch, #0d6efd 80%, #212529), color-mix(in oklch, #6ea8fe 80%, #f8fafc));
    --bs-primary-focus-ring: light-dark(color-mix(in oklch, #0d6efd 55%, #ffffff), color-mix(in oklch, #6ea8fe 55%, #111827));
    --bs-radius-1: 0.125rem;
    --bs-radius-2: 0.1875rem;
    --bs-radius-3: 0.25rem;
    --bs-radius-4: 0.375rem;
    --bs-radius-5: 0.5rem;
    --bs-radius-6: 0.625rem;
    --bs-radius-7: 0.75rem;
    --bs-radius-8: 1rem;
    --bs-radius-9: 1.5rem;
    --bs-radius-pill: 0.5rem;
    --bs-secondary-base: light-dark(#212529, #adb5bd);
    --bs-secondary-bg: light-dark(#212529, #adb5bd);
    --bs-secondary-bg-muted: light-dark(color-mix(in oklch, #212529 20%, #ffffff), color-mix(in oklch, #adb5bd 20%, #111827));
    --bs-secondary-bg-subtle: light-dark(color-mix(in oklch, #212529 12%, #ffffff), color-mix(in oklch, #adb5bd 12%, #111827));
    --bs-secondary-border: light-dark(color-mix(in oklch, #212529 38%, #ffffff), color-mix(in oklch, #adb5bd 38%, #111827));
    --bs-secondary-contrast: light-dark(#ffffff, #111827);
    --bs-secondary-fg: light-dark(#212529, #adb5bd);
    --bs-secondary-fg-emphasis: light-dark(color-mix(in oklch, #212529 80%, #212529), color-mix(in oklch, #adb5bd 80%, #f8fafc));
    --bs-secondary-focus-ring: light-dark(color-mix(in oklch, #212529 55%, #ffffff), color-mix(in oklch, #adb5bd 55%, #111827));
    --bs-shadow-strength: 1.1;
    --bs-spacer: 1rem;
    --bs-spacer-1: 0.25rem;
    --bs-spacer-2: 0.5rem;
    --bs-spacer-3: 0.75rem;
    --bs-spacer-4: 1rem;
    --bs-spacer-5: 1.25rem;
    --bs-spacer-6: 1.5rem;
    --bs-spacer-7: 2rem;
    --bs-spacer-8: 2.5rem;
    --bs-spacer-9: clamp(4rem, 8vw, 7rem);
    --cms-body-letter-spacing: 0px;
    --cms-caption-letter-spacing: 0.01em;
    --cms-caption-line-height: 1.4;
    --cms-heading-letter-spacing: -1px;
    --cms-label-letter-spacing: 0.02em;
    --cms-label-line-height: 1.25;
    --cms-motion-duration: 180ms;
    --cms-motion-duration-long: 300ms;
    --cms-motion-duration-short: 180ms;
    --cms-reading-measure: 68ch;
    --cms-type-base: 1rem;
    color-scheme: light dark;
}
[data-bs-theme="dark"] {
    --bs-primary-contrast: #000000;
    --bs-secondary-contrast: #111827;
    color-scheme: dark;
}
[data-bs-theme="light"] {
    --bs-primary-contrast: #000000;
    --bs-secondary-contrast: #ffffff;
    color-scheme: light;
}

/* Bootstrap provides the components and responsive utilities. These rules compose
 * them into the stable editorial shell shared by token-driven themes. */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    min-width: 20rem;
    overflow-x: clip;
    background: var(--bs-bg-body);
    color: var(--bs-fg-body);
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    letter-spacing: var(--cms-body-letter-spacing);
    text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
    font-family: var(--bs-body-font-family);
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand {
    color: var(--bs-heading-color);
    font-family: var(--bs-heading-font-family, var(--bs-body-font-family));
    font-weight: var(--bs-heading-font-weight);
    line-height: var(--bs-heading-line-height);
    text-wrap: balance;
}

.navbar-brand {
    letter-spacing: var(--cms-heading-letter-spacing);
}

:is(h1, h2, h3, h4, h5, h6):not(:is([class*="eyebrow"], [class*="kicker"], [data-typography-role="label"])) {
    letter-spacing: var(--cms-heading-letter-spacing) !important;
}

:is(h1, h2, h3, h4, h5, h6):is([class*="eyebrow"], [class*="kicker"], [data-typography-role="label"]) {
    letter-spacing: var(--cms-label-letter-spacing) !important;
}

:where(label, .form-label, .btn, .nav-link, .content-kicker) {
    line-height: var(--cms-label-line-height);
    letter-spacing: var(--cms-label-letter-spacing);
}

:where(figcaption, .caption, .content-caption, .content-meta) {
    line-height: var(--cms-caption-line-height);
    letter-spacing: var(--cms-caption-letter-spacing);
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
}

svg[aria-hidden="true"] {
    pointer-events: none;
}

a:not(:where(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon)) {
    color: inherit;
    text-underline-offset: var(--bs-link-underline-offset);
}

.site-main {
    min-height: 60vh;
}

.content-kicker {
    margin-block: 0;
    font-weight: 750;
    text-transform: uppercase;
}

.content-deck,
.prose {
    max-width: var(--cms-reading-measure, 44rem);
}

.article-hero {
    max-width: 66rem;
}

.prose > * + * {
    margin-block-start: 1.35em;
}

.prose :is(h2, h3, h4) {
    margin-block-start: 1.8em;
}

.featured-media__image,
.post-card__media img {
    display: block;
    width: 100%;
    object-fit: cover;
}

.featured-media__image {
    max-height: 46rem;
}

.post-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--bs-bg-2);
}

.post-card__media .featured-media,
.post-card__media img {
    height: 100%;
}

.post-card {
    transition: translate var(--cms-motion-duration-short) ease,
        box-shadow var(--cms-motion-duration-short) ease;
}

.post-card:hover {
    translate: 0 -0.25rem;
    box-shadow: 0 1.25rem 3rem color-mix(in srgb, var(--bs-fg-body) 12%, transparent);
}

.empty-state {
    max-width: 58rem;
}

.site-header {
    z-index: 1030;
}

.site-footer a {
    color: inherit;
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--bs-primary-bg);
}

@media (max-width: 991.98px) {
    .site-header .drawer {
        width: min(26rem, 92vw);
    }

    .site-header .drawer-body {
        flex-direction: column;
        align-items: stretch;
    }
}
.bootstrap-theme section .text-xs { font-size: var(--bs-font-size-xs); }
.bootstrap-theme section .text-sm { font-size: var(--bs-font-size-sm); }
.bootstrap-theme section .text-md { font-size: var(--bs-font-size-md); }
.bootstrap-theme section .text-lg { font-size: var(--bs-font-size-lg); }
.bootstrap-theme section .text-xl { font-size: var(--bs-font-size-xl); }
.bootstrap-theme section .text-2xl { font-size: var(--bs-font-size-2xl); }
.bootstrap-theme section .text-3xl { font-size: var(--bs-font-size-3xl); }
.bootstrap-theme section .text-4xl { font-size: var(--bs-font-size-4xl); }
.bootstrap-theme section .text-5xl { font-size: var(--bs-font-size-5xl); }
.bootstrap-theme section .text-6xl { font-size: var(--bs-font-size-6xl); }
.bootstrap-theme section .h1 { font-size: var(--bs-font-size-3xl); }
.bootstrap-theme section .h2 { font-size: var(--bs-font-size-2xl); }
.bootstrap-theme section .h3 { font-size: var(--bs-font-size-xl); }
.bootstrap-theme section .h4 { font-size: var(--bs-font-size-lg); }
.bootstrap-theme section .h5 { font-size: var(--bs-font-size-md); }
.bootstrap-theme section .h6 { font-size: var(--bs-font-size-sm); }
.bootstrap-theme section h1:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-6xl); }
.bootstrap-theme section h2:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-4xl); }
.bootstrap-theme section h3:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-xl); }
.bootstrap-theme section h4:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-lg); }
.bootstrap-theme section h5:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-md); }
.bootstrap-theme section h6:not(.h1, .h2, .h3, .h4, .h5, .h6, .text-xs, .text-sm, .text-md, .text-lg, .text-xl, .text-2xl, .text-3xl, .text-4xl, .text-5xl, .text-6xl) { font-size: var(--bs-font-size-sm); }
.bootstrap-theme .content-wrapper .prose > * + * { margin-block-start: calc(var(--bs-spacer) * 1.35); }
.bootstrap-theme .content-wrapper .prose :is(h2, h3, h4) { margin-block-start: calc(var(--bs-spacer) * 1.8); }
.bootstrap-theme .content-wrapper .card { --bs-card-spacer-x: var(--bs-spacer); --bs-card-spacer-y: var(--bs-spacer); }
.bootstrap-theme .content-wrapper .accordion { --bs-accordion-padding-x: calc(var(--bs-spacer) * 1.25); --bs-accordion-padding-y: var(--bs-spacer); }
.bootstrap-theme .content-wrapper :where(.container, .container-fluid) { --bs-gutter-x: calc(var(--bs-spacer) * 1.5); }
.bootstrap-theme :where(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon) { --bs-btn-transition-duration: var(--cms-motion-duration-short); --bs-btn-transition-timing: ease-in-out; }
.bootstrap-theme .form-control { --bs-control-transition-duration: var(--cms-motion-duration-short); --bs-control-transition-timing: ease-in-out; }
.bootstrap-theme .form-floating { --bs-form-floating-transition-duration: var(--cms-motion-duration-short); --bs-form-floating-transition-timing: ease-in-out; }
.bootstrap-theme .nav { --bs-nav-link-transition-duration: var(--cms-motion-duration-short); --bs-nav-link-transition-timing: ease-in-out; }
.bootstrap-theme .navbar { --bs-navbar-toggler-transition: box-shadow var(--cms-motion-duration-short) ease-in-out; }
.bootstrap-theme .accordion { --bs-accordion-transition-duration: var(--cms-motion-duration-short); --bs-accordion-transition-timing: ease-in-out; --bs-accordion-btn-icon-transition: transform var(--cms-motion-duration-short) ease-in-out; }
.bootstrap-theme .menu { --bs-menu-transition-duration: var(--cms-motion-duration-short); }
.bootstrap-theme .icon-link { --bs-icon-link-icon-transition: transform var(--cms-motion-duration-short) ease-in-out; }
.bootstrap-theme .progress { --bs-progress-bar-transition: width var(--cms-motion-duration-long) ease; }
.bootstrap-theme .carousel { --bs-carousel-indicator-opacity-duration: var(--cms-motion-duration-long); --bs-carousel-indicator-opacity-timing: ease; --bs-carousel-indicator-width-duration: var(--cms-motion-duration-short); --bs-carousel-indicator-width-timing: ease; }
.bootstrap-theme .drawer { --bs-drawer-transition-duration: var(--cms-motion-duration-long); }
.bootstrap-theme .dialog { --bs-dialog-transition-duration: var(--cms-motion-duration-long); }
.bootstrap-theme .card { --bs-card-box-shadow: var(--bs-box-shadow-sm); }
.bootstrap-theme :where(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon) { --bs-btn-shadow: var(--bs-box-shadow-xs); }
.bootstrap-theme .form-control { --bs-control-box-shadow: var(--bs-box-shadow-inset); }
.bootstrap-theme .menu { --bs-menu-box-shadow: var(--bs-box-shadow-lg); }
.bootstrap-theme :where(.dialog, .drawer) { --bs-dialog-box-shadow: var(--bs-box-shadow-xl); --bs-drawer-box-shadow: var(--bs-box-shadow-xl); }
.bootstrap-theme :where(.popover, .toast) { --bs-popover-box-shadow: var(--bs-box-shadow); --bs-toast-box-shadow: var(--bs-box-shadow); }
.bootstrap-theme .card { --bs-card-border-width: var(--bs-border-width); }
.bootstrap-theme .form-control { --bs-control-border-width: var(--bs-border-width); }
.bootstrap-theme :where(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon) { --bs-btn-border-width: var(--bs-border-width); }
.bootstrap-theme .accordion { --bs-accordion-border-width: var(--bs-border-width); }
.bootstrap-theme .menu { --bs-menu-border-width: var(--bs-border-width); }
.bootstrap-theme .dialog { --bs-dialog-border-width: var(--bs-border-width); }
.bootstrap-theme .drawer { --bs-drawer-border-width: var(--bs-border-width); }
.bootstrap-theme .table { --bs-table-border-width: var(--bs-border-width); }
.bootstrap-theme .content-wrapper :where(.container) { max-width: revert-layer; }

[data-theme-header="quiet"] {
    --cms-header-block-padding: 0.75rem;
    --cms-header-shadow: none;
}

[data-theme-footer="directory"] {
    --cms-footer-block-padding: 4.5rem;
    --cms-footer-column-min: 15rem;
}
.bootstrap-theme .btn-solid {
    --bs-btn-bg: light-dark(#0d6efd, #6ea8fe);
    --bs-btn-color: #000000;
}
.bootstrap-theme .btn-solid:active {
    --bs-btn-active-bg: light-dark(#0d6efd, #6ea8fe);
    --bs-btn-active-color: #000000;
}
.bootstrap-theme .btn-solid:hover {
    --bs-btn-hover-bg: light-dark(#0d6efd, #6ea8fe);
    --bs-btn-hover-color: #000000;
}
.bootstrap-theme :where(figcaption, .caption, .content-caption, .content-meta) {
    --cms-caption-letter-spacing: 0.01em;
    --cms-caption-line-height: 1.4;
    color: light-dark(#212529, #f8fafc);
    font-family: Outfit;
    font-size: 0.75rem;
    font-weight: 400;
}
.bootstrap-theme .card {
    --bs-card-bg: light-dark(#ffffff, #111827);
    --bs-card-border-color: light-dark(#212529, #f8fafc);
    --bs-card-box-shadow: var(--bs-box-shadow-xs);
    --bs-card-color: light-dark(#212529, #f8fafc);
}
.bootstrap-theme :where(.content-kicker, .section-kicker) {
    --cms-label-letter-spacing: 0.02em;
    --cms-label-line-height: 1.25;
    color: light-dark(#0d6efd, #6ea8fe);
    font-family: Outfit;
    font-size: 0.875rem;
    font-weight: 650;
}
.bootstrap-theme :where(label, .form-label) {
    --cms-label-letter-spacing: 0.02em;
    --cms-label-line-height: 1.25;
    color: light-dark(#212529, #f8fafc);
    font-family: Outfit;
    font-size: 0.875rem;
    font-weight: 650;
}
.bootstrap-theme .nav-link {
    --bs-nav-link-color: light-dark(#212529, #f8fafc);
    --bs-nav-link-font-weight: 650;
    --bs-nav-link-gap: 0.75rem;
    --cms-label-letter-spacing: 0.02em;
    --cms-label-line-height: 1.25;
    font-family: Outfit;
    font-size: 0.875rem;
}
.bootstrap-theme .site-header :is(.site-navigation__menu a, .site-navigation .nav-link, .site-menu-trigger) { font-size: var(--bs-font-size-md); }
.bootstrap-theme .site-business-information { font-size: var(--bs-font-size-md); }
.bootstrap-theme :is(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon),
.bootstrap-theme :is(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon):hover,
.bootstrap-theme :is(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon):active,
.bootstrap-theme :is(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon).active,
.bootstrap-theme :is(.btn, .btn-link, .btn-solid, .btn-outline, .btn-subtle, .btn-text, .btn-icon).show { --bs-btn-border-radius: var(--bs-radius-pill); }
.bootstrap-theme .nav-pills { --bs-nav-pills-border-radius: var(--bs-radius-pill); --bs-nav-pills-link-border-radius: var(--bs-radius-pill); }
.bootstrap-theme .card { --bs-card-border-radius: var(--bs-radius-7); }
.bootstrap-theme .site-header { --bs-nav-link-font-weight: 600; }
.bootstrap-theme .site-header :is(.site-navigation__menu a, .site-navigation .nav-link, .site-menu-trigger) { --bs-nav-link-font-weight: 600; font-weight: var(--bs-nav-link-font-weight); }

@media (prefers-reduced-motion: reduce) {
    :root { --cms-motion-duration: 0ms; --cms-motion-duration-short: 0ms; --cms-motion-duration-long: 0ms; }
}
