body {
    color: var(--body-color);
    background: var(--body-bg);
    font-family: var(--font-family-body, var(--cassiopeia-font-family-body, system-ui, -apple-system, "Segoe UI", sans-serif));
    font-size: var(--body-font-size);
    font-weight: var(--body-font-weight, 400);
    line-height: var(--body-line-height, 1.5);
}

a {
    color: var(--link-color);
}

a:hover,
a:focus {
    color: var(--link-hover-color);
}

:root {
    --cassiopeia-color-primary: var(--color-primary);
    --cassiopeia-color-hover: var(--color-secondary);
}

.text-muted,
.text-body-secondary {
    color: var(--color-text-muted) !important;
}

.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    border-radius: var(--button-radius);
    font-family: var(--font-family-button, var(--font-family-body));
    font-weight: var(--button-font-weight, 600);
}

.btn {
    padding: var(--button-padding-y) var(--button-padding-x);
}

.btn-primary,
.btn.btn-primary {
    --bs-btn-color: var(--btncolor);
    --bs-btn-bg: var(--btnbg);
    --bs-btn-border-color: var(--btnbg);
    --bs-btn-hover-color: var(--btncolorh);
    --bs-btn-hover-bg: var(--btnbgh);
    --bs-btn-hover-border-color: var(--btnbgh);
    --btn-color: var(--btncolor);
    --btn-bg: var(--btnbg);
    --btn-border-color: var(--btnbg);
    --btn-hover-color: var(--btncolorh);
    --btn-hover-bg: var(--btnbgh);
    --btn-hover-border-color: var(--btnbgh);
}

.btn-secondary,
.btn.btn-secondary {
    --bs-btn-color: var(--btn-secondary-color);
    --bs-btn-bg: var(--btn-secondary-bg);
    --bs-btn-border-color: var(--btn-secondary-bg);
    --bs-btn-hover-color: var(--btn-secondary-hover-color);
    --bs-btn-hover-bg: var(--btn-secondary-hover-bg);
    --bs-btn-hover-border-color: var(--btn-secondary-hover-bg);
    --btn-color: var(--btn-secondary-color);
    --btn-bg: var(--btn-secondary-bg);
    --btn-border-color: var(--btn-secondary-bg);
    --btn-hover-color: var(--btn-secondary-hover-color);
    --btn-hover-bg: var(--btn-secondary-hover-bg);
    --btn-hover-border-color: var(--btn-secondary-hover-bg);
}

.form-control,
.form-select,
.input-group-text {
    border-color: var(--color-border);
    border-radius: var(--form-radius);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--focus-color);
    box-shadow: 0 0 0 var(--focus-width, 0.2rem) color-mix(in srgb, var(--focus-color) 25%, transparent);
}

.card,
.builder-breakout__card {
    background: var(--color-surface);
    border-color: var(--color-border);
    border-radius: var(--card-radius);
}

.container-component img,
.builder-node-content img,
.builder-node-content picture {
    border-radius: var(--image-radius, 0);
}

h1,
.h1 {
    font-family: var(--font-family-headings, var(--cassiopeia-font-family-headings, var(--font-family-body, system-ui, sans-serif)));
    font-weight: var(--heading-font-weight, 700);
    line-height: var(--heading-line-height, 1.15);
    letter-spacing: var(--heading-letter-spacing, 0);
    font-size: var(--h1size, clamp(2.5rem, 1.7rem + 3vw, 5rem));
}

h2,
.h2 {
    font-family: var(--font-family-headings, var(--cassiopeia-font-family-headings, var(--font-family-body, system-ui, sans-serif)));
    font-weight: var(--heading-font-weight, 700);
    line-height: var(--heading-line-height, 1.15);
    letter-spacing: var(--heading-letter-spacing, 0);
    font-size: var(--h2size, clamp(2rem, 1.45rem + 2vw, 3.5rem));
}

h3,
.h3 {
    font-family: var(--font-family-headings, var(--cassiopeia-font-family-headings, var(--font-family-body, system-ui, sans-serif)));
    font-weight: var(--heading-font-weight, 700);
    line-height: var(--heading-line-height, 1.15);
    letter-spacing: var(--heading-letter-spacing, 0);
    font-size: var(--h3size, clamp(1.6rem, 1.25rem + 1.2vw, 2.5rem));
}

h4,
.h4 {
    font-size: var(--h4size, clamp(1.35rem, 1.15rem + 0.8vw, 2rem));
}

h5,
.h5 {
    font-size: var(--h5size, clamp(1.15rem, 1.05rem + 0.4vw, 1.5rem));
}

h6,
.h6 {
    font-size: var(--h6size, clamp(1rem, 0.95rem + 0.2vw, 1.125rem));
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
    font-family: var(--font-family-headings, var(--cassiopeia-font-family-headings, var(--font-family-body, system-ui, sans-serif)));
    font-weight: var(--heading-font-weight, 700);
    line-height: var(--heading-line-height, 1.15);
    letter-spacing: var(--heading-letter-spacing, 0);
}

.cygnusx-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    gap: 1rem;
    color: var(--loader-color);
    background: var(--loader-bg);
    opacity: 1;
    visibility: visible;
    transition: opacity 420ms ease, visibility 420ms ease;
}

.cygnusx-loader.is-hidden {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}

.cygnusx-loader__mark {
    position: relative;
    width: 4rem;
    height: 4rem;
}

.cygnusx-loader__mark::before,
.cygnusx-loader__mark::after,
.cygnusx-loader__mark span {
    position: absolute;
    inset: 0;
    content: "";
    border: 2px solid transparent;
    border-top-color: var(--loader-accent);
    border-radius: 50%;
    animation: cygnusx-loader-spin 900ms cubic-bezier(.55, .15, .45, .85) infinite;
}

.cygnusx-loader__mark::after {
    inset: .45rem;
    border-top-color: currentColor;
    animation-duration: 1200ms;
    animation-direction: reverse;
}

.cygnusx-loader__mark span {
    inset: .9rem;
    border-top-color: color-mix(in srgb, var(--loader-accent) 55%, currentColor);
    animation-duration: 1500ms;
}

.cygnusx-loader__text {
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@keyframes cygnusx-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .cygnusx-loader__mark::before,
    .cygnusx-loader__mark::after,
    .cygnusx-loader__mark span {
        animation-duration: 2000ms;
    }
}

.container-header {
    z-index: 1000 !important;
    color: var(--headercolor);
    background: var(--headerbg);
    background-color: var(--headerbg);
    background-image: none;
    --cassiopeia-color-primary: var(--headerbg);
    --cassiopeia-color-hover: var(--headerbg);
    --header-padding-y: .75rem;
    --header-menu-item-padding-y: .7em;
    --header-shell-line: color-mix(in srgb, var(--headercolor) 14%, transparent);
    --header-shell-shadow: 0 1.25rem 2.5rem -1.7rem rgb(15 23 42 / 0.3);
    --header-chip-bg: color-mix(in srgb, var(--headerbg) 80%, #fff 20%);
    --header-chip-bg-hover: color-mix(in srgb, var(--headerbg) 72%, var(--color-accent, #0d6efd) 28%);
    --header-chip-line: color-mix(in srgb, var(--headercolor) 18%, transparent);
    --header-chip-text: color-mix(in srgb, var(--headercolor) 92%, #0f172a 8%);
}

.site:not(.has-home-hero) .container-header {
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--headerbg) 95%, #fff 5%), color-mix(in srgb, var(--headerbg) 84%, var(--color-accent, #0d6efd) 16%));
    border-bottom: 1px solid var(--header-shell-line);
    box-shadow: var(--header-shell-shadow);
}

.site .container-header,
.site .container-header .grid-child,
.site .container-header .mod-menu,
.site .container-header .metismenu.mod-menu,
.site .container-header .metismenu.mod-menu>.metismenu-item,
.site .container-header .metismenu.mod-menu>.metismenu-item>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>button,
.site .container-header .navbar-brand,
.site .container-header .navbar-brand a,
.site .container-header .site-description,
.site .container-header .navbar-toggler,
.site .container-header .navbar-toggler-icon {
    color: inherit;
}

.site .container-header .cygnusx-header-menu__bar .navbar-toggler {
    border: 1px solid color-mix(in srgb, var(--headercolor) 22%, transparent);
    background: color-mix(in srgb, var(--headerbg) 80%, #fff 20%);
    box-shadow: 0 .6rem 1.2rem -0.8rem rgb(15 23 42 / 0.35);
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.site .container-header .cygnusx-header-menu__bar .navbar-toggler:hover,
.site .container-header .cygnusx-header-menu__bar .navbar-toggler:focus,
.site .container-header .cygnusx-header-menu__bar .navbar-toggler:focus-visible {
    background: color-mix(in srgb, var(--headerbg) 72%, var(--color-accent, #0d6efd) 28%);
    border-color: color-mix(in srgb, var(--headercolor) 34%, transparent);
    box-shadow: 0 .85rem 1.65rem -1rem rgb(15 23 42 / 0.44);
    transform: translateY(-1px);
}

@media (max-width: 991.98px) {
    .site .container-header .cygnusx-header-menu__mobile-head .brand-logo {
        padding-block: .12rem;
    }
}

.site .container-header .grid-child,
.site .container-header .mod-menu,
.site .container-header .metismenu.mod-menu {
    background: transparent;
    background-image: none;
}

.site .container-header .metismenu.mod-menu>.metismenu-item>ul,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul a {
    color: var(--headercolor);
    background: var(--headerbg);
    background-image: none;
}

.site .container-header {
    --header-menu-hover-bg: color-mix(in srgb, var(--headercolor) 10%, transparent);
    --header-menu-open-bg: color-mix(in srgb, var(--headercolor) 14%, transparent);
    --header-menu-submenu-border: color-mix(in srgb, var(--headercolor) 18%, transparent);
    --header-menu-submenu-shadow: 0 0.65rem 1.35rem rgb(0 0 0 / 12%);
}

.site .container-header .metismenu.mod-menu>.metismenu-item>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>button,
.site .container-header .metismenu.mod-menu .mm-toggler,
.site .container-header .metismenu.mod-menu button[aria-expanded] {
    color: var(--header-chip-text);
    background: transparent;
    border: 0;
    border-radius: 0;
    line-height: 1.25;
    box-shadow: none;
    text-decoration: none;
    transition: color .2s ease;
}

.site .container-header .metismenu.mod-menu>.metismenu-item>a:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item>a:focus,
.site .container-header .metismenu.mod-menu>.metismenu-item>a:focus-visible,
.site .container-header .metismenu.mod-menu>.metismenu-item>button:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item>button:focus,
.site .container-header .metismenu.mod-menu>.metismenu-item>button:focus-visible,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-toggler:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-toggler:focus,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-toggler:focus-visible,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul a:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul a:focus-visible,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul a:focus,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse a:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse a:focus-visible,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse a:focus {
    text-decoration: none !important;
}

.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent>a {
    padding-right: .52rem;
}

.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent>.mm-toggler {
    padding-left: .26rem;
    padding-right: .54rem;
    margin-left: -.22rem;
}

.site .container-header .metismenu.mod-menu>.metismenu-item {
    border: 1px solid transparent;
    border-radius: 999px;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.site .container-header .metismenu.mod-menu>.metismenu-item:hover,
.site .container-header .metismenu.mod-menu>.metismenu-item:focus-within {
    background: var(--header-chip-bg-hover);
    border-color: color-mix(in srgb, var(--headercolor) 26%, transparent);
    box-shadow: 0 .75rem 1.5rem -1.1rem rgb(15 23 42 / 0.4);
}

.site .container-header .metismenu.mod-menu>.metismenu-item:hover>a,
.site .container-header .metismenu.mod-menu>.metismenu-item:hover>button,
.site .container-header .metismenu.mod-menu>.metismenu-item:hover>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item:focus-within>a,
.site .container-header .metismenu.mod-menu>.metismenu-item:focus-within>button,
.site .container-header .metismenu.mod-menu>.metismenu-item:focus-within>.mm-toggler {
    color: var(--header-chip-text);
}

.site .container-header .metismenu.mod-menu>.metismenu-item.current>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.current>button,
.site .container-header .metismenu.mod-menu>.metismenu-item>a[aria-current="page"],
.site .container-header .metismenu.mod-menu>.metismenu-item>a[aria-current="true"] {
    color: var(--header-chip-text);
    background: transparent;
}


.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul .current > a)>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="page"])>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="true"])>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse .current > a)>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="page"])>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="true"])>a,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul .current > a)>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="page"])>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="true"])>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse .current > a)>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="page"])>.mm-toggler,
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="true"])>.mm-toggler {
    font-weight: 700;
}

.site .container-header .metismenu.mod-menu>.metismenu-item.current,
.site .container-header .metismenu.mod-menu>.metismenu-item:has(> a[aria-current="page"]),
.site .container-header .metismenu.mod-menu>.metismenu-item:has(> a[aria-current="true"]),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul .current > a),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="page"]),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> ul a[aria-current="true"]),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse .current > a),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="page"]),
.site .container-header .metismenu.mod-menu>.metismenu-item.deeper.parent:has(> .mm-collapse a[aria-current="true"]) {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    padding: calc(var(--header-menu-item-padding-y) - 1.5px) var(--header-menu-item-padding-y);
    border: 2px solid transparent 0;
    border-image: linear-gradient(90deg,
            transparent 0%,
            color-mix(in srgb, var(--headercolor) 75%, transparent 25%) 30%,
            var(--headercolor) 50%,
            color-mix(in srgb, var(--headercolor) 75%, transparent 25%) 70%,
            transparent 100%) 1;
}

.site .container-header .metismenu.mod-menu>.metismenu-item.current>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>a[aria-current="page"],
.site .container-header .metismenu.mod-menu>.metismenu-item>a[aria-current="true"] {
    font-weight: 700;
}

.site .container-header .metismenu.mod-menu>.metismenu-item>ul,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse>ul {
    border: 1px solid color-mix(in srgb, var(--headercolor) 20%, transparent);
    border-radius: 1.1rem;
    background: color-mix(in srgb, var(--headerbg) 88%, #fff 12%);
    box-shadow: 0 1.25rem 2.5rem -1.45rem rgb(15 23 42 / 0.36);
    backdrop-filter: blur(12px);
}

.site .container-header .metismenu.mod-menu>.metismenu-item>ul li:hover>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul li:focus-within>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse li:hover>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse li:focus-within>a {
    color: var(--headercolor);
    background: var(--header-menu-hover-bg);
}

.site .container-header .metismenu.mod-menu>.metismenu-item>ul .current>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse .current>a,
.site .container-header .metismenu.mod-menu>.metismenu-item>ul a[aria-current="page"],
.site .container-header .metismenu.mod-menu>.metismenu-item>.mm-collapse a[aria-current="page"] {
    color: var(--headercolor);
    background: var(--header-menu-open-bg);
}

.container-header a,
.container-header .mod-menu a,
.container-header .navbar-brand a,
.container-header .site-description {
    color: inherit;
}

.site.has-sticky-header:not(.has-home-hero) .container-header {
    top: 0;
    z-index: 1000 !important;
    color: var(--headercolor);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--headerbg) 95%, #fff 5%), color-mix(in srgb, var(--headerbg) 84%, var(--color-accent, #0d6efd) 16%));
    transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.header-navigation .nav-link {
    --header-nav-link-padding-inline: clamp(0.95rem, 1vw, 1.2rem);
    --header-nav-link-padding-inline-active: clamp(0.88rem, 0.95vw, 1.08rem);
    --header-nav-link-padding-block: 0.72rem;

    position: relative;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    min-height: 100%;
    padding: var(--header-nav-link-padding-block) var(--header-nav-link-padding-inline) calc(var(--header-nav-link-padding-block) + 0.1rem);
    color: inherit;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    text-underline-offset: 0;
    box-sizing: border-box;
}

.header-navigation .nav-link:hover,
.header-navigation .nav-link:focus,
.header-navigation .nav-link:focus-visible {
    color: inherit;
    text-decoration: none;
}

.header-navigation .nav-link::after {
    position: absolute;
    right: var(--header-nav-link-padding-inline);
    bottom: 0.28rem;
    left: var(--header-nav-link-padding-inline);
    height: 0.2rem;
    content: "";
    background: transparent;
    border-radius: 999rem;
    opacity: 0;
    transform: scaleX(0.82);
    transform-origin: center;
    transition: background-color 180ms ease, opacity 180ms ease, transform 180ms ease, left 180ms ease, right 180ms ease;
}

.header-navigation .nav-link:hover::after,
.header-navigation .nav-link:focus::after,
.header-navigation .nav-link:focus-visible::after {
    background: color-mix(in srgb, var(--cassiopeia-color-primary, var(--color-primary, #0d6efd)) 64%, transparent);
    opacity: 0.86;
    transform: scaleX(1);
}

.header-navigation .nav-item.active>.nav-link,
.header-navigation .nav-link.active,
.header-navigation .nav-link[aria-current="page"],
.header-navigation .nav-item:has(.dropdown-menu .nav-link.active)>.nav-link,
.header-navigation .nav-item:has(.dropdown-menu .nav-link[aria-current="page"])>.nav-link {
    --header-nav-link-padding-inline: var(--header-nav-link-padding-inline-active);

    font-weight: 700;
}

.header-navigation .nav-item.active>.nav-link::after,
.header-navigation .nav-link.active::after,
.header-navigation .nav-link[aria-current="page"]::after,
.header-navigation .nav-item:has(.dropdown-menu .nav-link.active)>.nav-link::after,
.header-navigation .nav-item:has(.dropdown-menu .nav-link[aria-current="page"])>.nav-link::after {
    background: var(--cassiopeia-color-primary, var(--color-primary, #0d6efd));
    opacity: 1;
    transform: scaleX(1);
}

.site.has-home-hero .container-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000 !important;
    color: var(--hero-header-color);
    background: transparent;
    box-shadow: none;
    transition: box-shadow 420ms cubic-bezier(.22, 1, .36, 1), color 360ms ease;
}

.site.has-home-hero .container-header::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    content: "";
    background: var(--hero-header-scrolled-bg);
    opacity: 0;
    transition: opacity 460ms cubic-bezier(.22, 1, .36, 1);
}

.site.has-home-hero .container-header>* {
    position: relative;
    z-index: 1;
}

.site.has-home-hero .container-header a,
.site.has-home-hero .container-header .mod-menu a,
.site.has-home-hero .container-header .navbar-brand a {
    color: inherit;
}

.site.has-home-hero .container-header .metismenu.mod-menu>.metismenu-item>ul,
.site.has-home-hero .container-header .metismenu.mod-menu>.metismenu-item>ul a {
    color: var(--hero-header-scrolled-color);
    background: var(--hero-header-scrolled-bg);
    background-image: none;
}

.site.has-home-hero .container-header {
    --header-menu-hover-bg: color-mix(in srgb, var(--hero-header-scrolled-color) 12%, transparent);
    --header-menu-open-bg: color-mix(in srgb, var(--hero-header-scrolled-color) 16%, transparent);
    --header-menu-submenu-border: color-mix(in srgb, var(--hero-header-scrolled-color) 22%, transparent);
    --header-chip-bg: color-mix(in srgb, var(--hero-header-scrolled-bg) 74%, transparent 26%);
    --header-chip-bg-hover: color-mix(in srgb, var(--hero-header-scrolled-bg) 84%, var(--color-accent, #0d6efd) 16%);
    --header-chip-line: color-mix(in srgb, var(--hero-header-scrolled-color) 28%, transparent);
    --header-chip-text: var(--hero-header-scrolled-color);
}

.site.has-home-hero.is-header-scrolled .container-header {
    color: var(--hero-header-scrolled-color) !important;
    background: transparent;
    box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 10%);
}

.site.has-home-hero.is-header-scrolled .container-header::before {
    opacity: 1;
}

.site.has-home-hero.is-header-scrolled .container-header a,
.site.has-home-hero.is-header-scrolled .container-header a:hover,
.site.has-home-hero.is-header-scrolled .container-header a:focus,
.site.has-home-hero.is-header-scrolled .container-header .active>a,
.site.has-home-hero.is-header-scrolled .container-header .mod-menu a,
.site.has-home-hero.is-header-scrolled .container-header .mod-menu a:hover,
.site.has-home-hero.is-header-scrolled .container-header .mod-menu a:focus,
.site.has-home-hero.is-header-scrolled .container-header .navbar-brand a,
.site.has-home-hero.is-header-scrolled .container-header .site-description {
    color: var(--hero-header-scrolled-color) !important;
}

.cygnusx-footer-position {
    color: var(--footer-color);
    background: var(--footer-bg);
    margin: 0;
}

.cygnusx-footer-position a {
    color: var(--footer-link-color);
}

/* Global modern tuning layer */
:root {
    --body-font-size: clamp(1rem, 0.2vw + 0.95rem, 1.08rem);
    --body-line-height: 1.65;
    --heading-line-height: 1.08;
    --focus-width: max(2px, 0.16rem);
    --card-radius: clamp(0.6rem, 0.55vw + 0.45rem, 1rem);
    --form-radius: clamp(0.45rem, 0.28vw + 0.35rem, 0.75rem);
    --button-radius: clamp(0.45rem, 0.25vw + 0.35rem, 0.75rem);
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

p,
ul,
ol,
blockquote {
    max-width: 72ch;
}

a {
    text-underline-offset: 0.14em;
    text-decoration-thickness: 0.08em;
}

a:hover,
a:focus-visible {
    text-decoration-thickness: 0.11em;
}

.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.form-control,
.form-select {
    min-height: 2.75rem;
}

@media (max-width: 991.98px) {
    :root {
        --body-font-size: clamp(0.98rem, 0.6vw + 0.86rem, 1.04rem);
        --h1size: clamp(1.95rem, 5.7vw, 2.7rem);
        --h2size: clamp(1.55rem, 4.8vw, 2.2rem);
        --h3size: clamp(1.25rem, 3.8vw, 1.65rem);
    }

    .btn,
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .form-control,
    .form-select,
    .input-group-text {
        font-size: 1rem;
    }
}

@media (max-width: 575.98px) {
    :root {
        --body-line-height: 1.72;
    }

    h1,
    .h1,
    h2,
    .h2,
    h3,
    .h3 {
        text-wrap: balance;
    }
}

.container-header .navbar-toggler {
  border: 1px solid var(--primary);
}

.error_site .cygnusx-content-user-container {
    max-width: 1200px;
    margin: 0 auto;
    padding-block: 2.5rem 4rem;
}

.error_site .cygnusx-error-container .card {
    border: 1px solid color-mix(in srgb, var(--headercolor, #0f172a) 12%, transparent);
    box-shadow: 0 1rem 2rem -1.5rem rgb(15 23 42 / 0.18);
    border-radius: 1rem;
}

.error_site .page-header {
    margin-bottom: 1.25rem;
}

.error_site .container-component {
    width: min(100%, 1200px);
}
