/* #region 2.1. nav.kpr-header */
.kpr-header__menu-btn {
	cursor: pointer;
	padding: var(--glo-s);
}

@media (min-width: 1281px) {
	.kpr-header__menu-btn {
		display: none;
	}
}

.kpr-logo-btn-wrap {
	display: flex;
	flex-direction: row;
	gap: var(--glo-m);
	align-items: center;
}

.kpr-icon-link {
	display: flex;
}

.kpr-header__menu-bar {
	width: var(--glo-menu-bar-w);
	height: var(--glo-menu-bar-h);
	background-color: var(--glo-kpr-dark-c);
	margin: var(--glo-menu-bar-g) 0;
	transition: var(--glo-menu-tran);
	border-radius: var(--glo-br);
}

.kpr-header__menu-bar--1,
.kpr-header__menu-bar--3 {
	transform: rotate(0deg);
	transition: var(--glo-menu-tran);
	width: 70%;
}

.--kpr-alt-hero-card a.kpr-card__item-link:hover img.kpr-card__item-img {
    transform: scale(1.04);
}

/* Transformations for the "X" effect */
.kpr-header__menu-btn.--change .kpr-header__menu-bar--1 {
	transform: rotate(-45deg) translate(-0.4rem, 0.4rem);
	width: 100%;

	/* -9px, 6px */
}

.kpr-header__menu-btn.--change .kpr-header__menu-bar--2 {
	opacity: 0;
}

.kpr-header__menu-btn.--change .kpr-header__menu-bar--3 {
	transform: rotate(45deg) translate(-0.4rem, -0.5rem);
	width: 100%;

	/* -8px, -8px */
}

.kpr-header {
	display: flex;
	flex-direction: row;
	gap: var(--glo-l);
	justify-content: center;
	align-items: center;
	padding: var(--glo-m) var(--glo-xl);
	font-family: var(--glo-text);
	white-space: nowrap;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 9999;
	background: var(--glo-white);
	box-shadow: var(--glo-kpr-box-s);
}

.kpr-header__menu-wrapper {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	gap: var(--glo-m);
}

.kpr-header__logo-wrapper {
	max-width: 15rem;
}

.kpr-header__logo-wrapper img {
	width: 100%;
	min-width: fit-content;
}

img.kpr-header__logo-mobile {
	display: block;
	/*width: 2rem;*/
	min-width: 2rem;
}

.kpr-header__logo {
	display: none;
}

@media (min-width: 1600px) {
	img.kpr-header__logo-mobile {
		display: none;
	}

	.kpr-header__logo {
		display: block;
	}
}

.kpr-site-icon {
	display: flex;
	align-content: center;
	width: 100%;
	min-width: fit-content;
}

@media (max-width: 450px) {
	.button-wrap-nav .kpr-btn-schedule__logo {
		display: none;
	}

	.button-wrap-nav {
		gap: var(--glo-s) !important;
	}

	.kpr-header .btn-primary {
		min-width: 100px;
	}
}

@media (max-width: 1280px) {
    .kpr-header {
        padding: var(--glo-m);
    }

    .kpr-header__menu-wrapper {
        justify-content: space-between;
    }
/*
    .kpr-header__main-menu::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.35s ease;
        z-index: -1;
    }

    .kpr-header__main-menu.--active-mobile::before {
        opacity: 1;
        pointer-events: auto;
    }
*/
    .kpr-header__main-menu a.kpr-header__menu-item-link {
        color: var(--glo-kpr-dark-c);
        font-size: 1.1rem;
        font-weight: 400;
        padding: var(--glo-m) 0;
        justify-content: space-between;
        width: 100%;
    }

    .kpr-header__main-menu a.kpr-header__menu-item-link:hover {
        color: var(--glo-kpr-acce-c);
    }

    .kpr-header__main-menu .kpr-carret-icon {
        filter: invert(1);
    }

    .kpr-header__main-menu
        .kpr-header__menu-item:not(
            .kpr-header__menu-item-sub .kpr-header__menu-item
        ) {
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding: 0;
        border-radius: 0;
        background-color: transparent;
    }

    .kpr-header__main-menu .kpr-header__menu-item:hover {
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 0;
    }

    .kpr-header__menu-item-sub {
        background-color: rgba(255, 255, 255, 0.04);
        border-radius: calc(var(--glo-br) / 2);
        margin: var(--glo-xs) 0;
    }

    .kpr-header__menu-item.--active .kpr-header__menu-item-sub {
        border: none;
    }

    .kpr-header__menu-item.--active .kpr-header__menu-item-sub-list {
        border: none;
        background-color: transparent;
    }

    .kpr-header__main-menu .kpr-header__menu-item-sub-list {
        background-color: transparent;
    }

    .kpr-header__main-menu .sub-item__title {
        color: var(--glo-kpr-blue-gray);
        font-size: 0.95rem;
        justify-content: flex-start;
    }

    .kpr-header__menu-btn.--change .kpr-header__menu-bar {
        background-color: var(--glo-white);
    }
}

.kpr-menu-close {
    position: fixed;
    top: var(--glo-l);
    right: var(--glo-l);
    z-index: 100000;
}

.kpr-menu-close:hover {
    opacity: 1;
    color: var(--glo-kpr-acce-c);
}

.kpr-header__main-menu-wrapper {
	display: flex;
	flex-direction: column;
}

/* Base styles - Mobile first */
.kpr-header__main-menu {
    display: none;
    flex-direction: column;
    position: fixed;
    pointer-events: none;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    opacity: 1;
    background-color: var(--glo-white) !important;
    padding: var(--glo-3xl) var(--glo-xl) var(--glo-2xl);
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: 999999999;
    gap: 0;
    text-transform: capitalize;
}

.admin-bar .kpr-header__main-menu {
    margin-left: 0 !important;
    left: 0 !important;
}


.kpr-header__main-menu:not(.kpr-primary-menu).--active-mobile {
    display: flex;
    transform: translateX(0);
    pointer-events: auto;
    border: none;
    box-shadow: 4px 0 30px rgba(0, 0, 0, 0.3);
}

/* Hide images and badges on mobile */
.kpr-header__main-menu .sub-item__img,
.kpr-header__main-menu .kpr-badge {
	display: none;
}

/* Mobile menu item styles */
.kpr-header__main-menu .sub-item__title,
.kpr-header__main-menu .kpr-header__menu-item-link,
.kpr-header__main-menu .kpr-header__menu-item {
	width: 100%;
	max-width: 100%;
	max-height: unset;
	height: fit-content;
	justify-content: center;
}

.kpr-header__main-menu .sub-item__title {
	display: flex;
	justify-content: center;
}

.kpr-header__main-menu .kpr-header__menu-item-sub-list {
	gap: 0;
}

.kpr-header__main-menu.kpr-primary-menu.--active-mobile {
	opacity: 1;
	pointer-events: auto;
	height: fit-content;
}

.kpr-header__main-menu
	.kpr-header__menu-item:not(
		.kpr-header__menu-item-sub .kpr-header__menu-item
	) {
	border: solid var(--glo-light-ash);
	border-width: 0 0 1px 0;
	padding: var(--glo-xs) 0;
}

.kpr-header__main-menu .sub-item__title::after {
	height: 0;
}

/* Submenu base styles (mobile) */
.kpr-header__menu-item-sub {
	padding: 0;
	position: relative;
	top: 0;
	left: 0;
	transform: unset;
	height: 0;
	box-shadow: unset;
	overflow: hidden;
	opacity: 0;
	transition: var(--glo-kpr-tran);
}

.kpr-header__menu-item.--active .kpr-header__menu-item-sub {
	height: fit-content;
	border: unset;
	opacity: 1;
}

.kpr-header__menu-item.--active .kpr-header__menu-item-sub-list {
	height: fit-content;
	border: solid var(--ui-kpr-border);
	border-width: 1px 0 1px 0;
}

.kpr-header__main-menu .kpr-header__menu-item .kpr-header__menu-item-link {
	justify-content: center;
}

/* Menu item base styles */
.kpr-header__menu-item {
	position: relative;
	background-color: var(--glo-white);
	transition: var(--glo-kpr-tran);
}

a.kpr-header__menu-item-link {
	display: flex;
	align-items: center;
	gap: var(--glo-s);
	color: var(--glo-black);
	text-decoration: none;
	font-weight: 300;
	font-size: 1.125rem;
	transition: var(--glo-kpr-tran);
	border: none;
	border-radius: var(--glo-butt-br);
	padding: var(--glo-butt-p);
}

a.kpr-header__menu-item-link.--active {
	color: var(--glo-white);
	text-decoration: none;
	border: 2px solid var(--glo-kpr-acce-c);
	border-width: 0 0 2px 0;
}
/*
.kpr-header__menu-item-link .kpr-carret-icon {
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-image: url(../assets/images/carret-down.svg);
	transition: transform var(--glo-kpr-tran);
}

.kpr-header__menu-item.--active .kpr-carret-icon {
	background-image: url(../assets/images/carret-down.svg);
	transform: scaleY(-1);
}
*/

.kpr-header__menu-item-link .kpr-carret-icon {
  width: 7px;
  height: 7px;
  background-image: none;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--glo-kpr-tran);
  margin-top: -3px;
}

.kpr-header__menu-item-link:hover .kpr-carret-icon,
.kpr-header__menu-item-link.--open .kpr-carret-icon,
.kpr-header__menu-item-link[aria-expanded="true"] .kpr-carret-icon {
  transform: rotate(-135deg);
  margin-top: 2px;
}

.kpr-header__menu-item-sub-list {
	display: flex;
	flex-direction: column;
	gap: var(--glo-s);
	flex-wrap: wrap;
	max-width: var(--glo-block-maxw);
	justify-content: center;
	border-radius: 0;
	border: 0;
	color: var(--glo-white);
	opacity: 1;
	padding: var(--glo-m);
	background-color: var(--kpr-submenu-bg);
}

/* Admin bar adjustments */
.admin-bar .kpr-header__main-menu.--active-mobile:not(.kpr-primary-menu) {
	top: 0;
}

.admin-bar .kpr-header__main-menu {
    top: 0;
    height: 100dvh;
}

.kpr-header__menu-item:hover {
	background-color: var(--glo-kpr-acce-c-light);
	border-radius: var(--glo-butt-br);
	border: none;
}

/* Desktop styles - 1441px and up */
@media (min-width: 1281px) {
	.kpr-header__main-menu-wrapper {
		display: flex;
		flex-direction: row;
		gap: 0;
	}

    .kpr-header__main-menu {
        position: relative !important;
        transform: none !important;
        background-color: transparent !important;
        height: auto !important;
        max-height: none !important;
        width: auto !important;
        flex: 1 !important;
        flex-direction: row !important;
        max-width: none !important;
        padding: 0 1rem !important;
        z-index: auto !important;
        overflow-y: visible !important;
        pointer-events: auto !important;
        display: flex !important;
        justify-content: center !important;
    }

    .kpr-menu-close {
        display: none;
    }
    
	/* Show images and badges on desktop */
	.kpr-header__main-menu .sub-item__img,
	.kpr-header__main-menu .kpr-badge {
		display: block;
	}

	/* Reset mobile-specific styles for desktop */
	.kpr-header__main-menu .sub-item__title,
	.kpr-header__main-menu .kpr-header__menu-item-sub,
	.kpr-header__main-menu .kpr-header__menu-item-sub-list,
	.kpr-header__main-menu .kpr-header__menu-item-link,
	.kpr-header__main-menu .kpr-header__menu-item {
		width: auto;
		max-width: none;
		height: fit-content;
		justify-content: flex-start;
	}

	.kpr-header__main-menu
		.kpr-header__menu-item:not(
			.kpr-header__menu-item-sub .kpr-header__menu-item
		) {
		padding: 0;
		border: none;
		border-radius: var(--glo-butt-br);
	}

	/* Desktop submenu positioning */
	.kpr-header__menu-item-sub {
		position: absolute;
		top: 45px;
		left: -15px;
		width: fit-content;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		padding: var(--glo-m);
		opacity: 0;
		pointer-events: none;
		transition: var(--glo-kpr-tran);
		z-index: 100;
		height: auto;
		overflow: visible;
		border-radius: 0 0 calc(var(--glo-br) / 2) calc(var(--glo-br) / 2);
	}

	.kpr-header__menu-item.--active .kpr-header__menu-item-sub {
		opacity: 1;
		pointer-events: auto;
		height: auto;
	}

	.kpr-header__menu-item.--active .kpr-header__menu-item-sub-list {
		background-color: var(--glo-white);
		border: solid var(--glo-kpr-acce-c);
		border-width: 0 0 2px 0;
		border-radius: 0;
	}

	.kpr-header__main-menu .kpr-header__menu-item .kpr-header__menu-item-link {
		justify-content: flex-start;
	}
}

.kpr-header__menu-item:hover {
	background-color: var(--glo-kpr-acce-c-light);
}

/* Mega menu as submenu styles - full width from left to right */
.kpr-header__menu-item-sub.kpr-mega-menu {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	overflow: hidden;
	height: auto;
	z-index: 1000;
	background-color: var(--glo-white);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	border-top: 1px solid var(--glo-kpr-bord-c);
	padding: var(--glo-m);
	display: none;
	white-space: wrap;
}

@media (min-width: 1281px) {
	.kpr-header__menu-item-sub.kpr-mega-menu {
		position: fixed;
		top: calc(28px + var(--glo-m) + var(--glo-m));
	}
}

.kpr-header__menu-item.--active .kpr-header__menu-item-sub.kpr-mega-menu {
	display: flex;
	align-items: flex-end;
}

.kpr-mega-menu__content {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100vw;
	gap: var(--glo-xl);
	align-items: center;
	justify-content: center;
}

.kpr-mega-menu__content .h-p-wrap {
	width: 100%;
	max-width: var(--a-s-4xs);
}

@media (min-width: 1281px) {
	.kpr-mega-menu__content {
		width: 100%;
		max-width: 90vw;
		flex-direction: row;
		user-select: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	}

	/* Admin bar adjustment */
	body.logged-in.admin-bar .kpr-header__menu-item-sub.kpr-mega-menu {
		top: calc(28px + var(--glo-m) + var(--glo-m));
	}
}

/* #endregion 2.1. nav.kpr-header */
/* #region 2.2. footer */
.kpr-footer {
	display: grid;
	gap: var(--glo-2xl);
	background-color: var(--glo-kpr-black-c);
	color: var(--glo-white);
	justify-items: center;
	padding: var(--glo-l);
	font-family: var(--glo-text);
	margin: 0 auto;
}

.kpr-footer__content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width: 100%;
	justify-content: space-between;
	gap: var(--glo-xl);
	margin: auto;
	width: 100%;
}

.kpr-footer__col {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	max-width: 20rem;
}

.kpr-footer__icon {
	width: 24px;
	height: 24px;
}

.kpr-footer__row {
	display: flex;
	align-items: flex-start;
	gap: var(--glo-s);
}

.kpr-footer a {
	text-decoration: none;
	font-weight: 300;
	color: var(--glo-white) !important;
	position: relative;
}

.kpr-footer h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0;
}

.kpr-footer__menu-list {
	scrollbar-width: none;

	/* Firefox */
	-ms-overflow-style: none;

	/* IE and Edge */
}

.kpr-footer__menu-list::-webkit-scrollbar {
	display: none;

	/* Chrome, Safari, Opera */
}

.kpr-footer__menu-list {
	display: grid;
	gap: var(--glo-m);
}

.kpr-footer__logo-wrapper {
	width: 100%;
	max-width: 10rem;
}

.kpr-footer__copyright {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	justify-content: center;
	align-items: center;
	padding: var(--glo-l) 0;
	border-top: 1px solid var(--glo-kpr-acce-c);
}

@media screen and (min-width: 1025px) {
	.kpr-footer {
		margin: 0 auto;
		padding: var(--glo-2xl);
	}

	.kpr-footer__copyright {
		display: flex;
		flex-direction: row;
		gap: var(--glo-m);
		justify-content: space-between;
		align-items: center;
	}
}

.kpr-footer__menu-list.--kpr-footer-legal {
	justify-content: center;
	display: flex;
	flex-direction: row;
	gap: var(--glo-m);
}

/* #endregion 2.2. footer */
/* #region 2.3. Buttons */
/* kpr Buttons Component */
.button-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--glo-m);
	min-width: 15rem;
}

.button-wrap .btn-primary,
.button-wrap .btn-secondary {
	width: fit-content;
}

@media screen and (max-width: 450px) {
	.button-wrap {
		justify-content: center;
	}
}

.button-wrap-nav {
	display: flex;
	flex-direction: row;
	gap: var(--glo-m);
	z-index: 99999999;
}

.button-wrap-nav a.btn-secondary {
	padding: 0.2rem 1rem;
}

.btn-primary,
a.btn-primary,
button.btn-primary {
	padding: 1px;
	/*background: linear-gradient(
		to bottom,
		var(--glo-kpr-acce-c),
		var(--glo-kpr-dark-c)
	);*/
	border-radius: var(--glo-butt-br);
	z-index: 3;
	overflow: hidden;
	box-shadow: var(--glo-butt-shadow);
}

.btn-txt {
	height: fit-content;
	white-space: wrap;
	font-weight: 700;
	text-align: center;
	font-size: 0.9rem;
	color: inherit;
	z-index: 1;
	overflow: hidden;
}

.btn-primary .btn-txt,
a.btn-primary .btn-txt,
button.btn-primary .btn-txt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--glo-s);
	background-color: transparent;
	color: var(--glo-kpr-dark-c);
	padding: var(--glo-butt-p);
	border-radius: var(--glo-butt-br);
	width: fit-content;
	justify-self: center;
	font-family: var(--glo-heading);
	font-size: 1rem;
	font-weight: 700;
	/*text-transform: uppercase;*/
	text-transform: capitalize;
	text-decoration: none;
	transition: var(--glo-kpr-tran);
	border: none;
	position: relative;
	z-index: 1;
}

.btn-primary::before,
a.btn-primary::before,
button.btn-primary::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	border-radius: var(--glo-butt-br);
	z-index: -1;
	background-color: var(--glo-white);
}

a.btn-primary {
	text-decoration: none;
	transition: 300ms ease-out;
}

a.btn-primary:hover {
	box-shadow: var(--glo-butt-shadow-tran);
}

a.btn-primary:hover * {
	text-decoration: none;
	color: var(--glo-white);
}

.btn-primary .btn-txt::after,
a.btn-primary .btn-txt::after,
button.btn-primary .btn-txt::after {
	content: "";
	position: absolute;
	top: 0px;
	right: -2px;
	bottom: 0px;
	width: 100%;
	height: 100%;
	max-height: 100%;
	z-index: -1;
	background: url(../assets/images/btn-ico.svg);
	background-size: contain;
	background-position: right;
	background-repeat: no-repeat;
	transition: 200ms ease-out 0ms;
}

.btn-primary:hover .btn-txt::after,
a.btn-primary:hover .btn-txt::after,
button.btn-primary:hover .btn-txt::after {
	content: "";
	position: absolute;
	top: 0px;
	right: -12px;
	bottom: 0px;
	width: 100%;
	height: 100%;
	max-height: 100%;
	z-index: -1;
	background: url(../assets/images/btn-ico-hover.svg);
	background-size: contain;
	background-position: right;
	background-repeat: no-repeat;
	transition: 100ms ease-out 300ms;
}

.btn-primary .btn-txt::before,
a.btn-primary .btn-txt:before,
button.btn-primary .btn-txt::before {
	content: "";
	position: absolute;
	top: 0px;
	left: -50%;
	right: 0px;
	bottom: 0px;
	width: 0px;
	border-radius: 100%;
	z-index: -1;
	background-color: var(--glo-kpr-acce-c);
	transition: 400ms ease-out;
}

.btn-primary:hover .btn-txt::before,
a.btn-primary:hover .btn-txt::before,
button.btn-primary:hover .btn-txt::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	border-radius: 0;
	z-index: -1;
	background-color: var(--glo-kpr-dark-c);
}

.kpr-txt-marker {
	white-space: wrap;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.3;
}

@media screen and (min-width: 1441px) {
	.kpr-header__menu-wrapper .btn-txt {
		white-space: nowrap;
	}
}

.btn-primary:hover .btn-txt::before {
	background-color: var(--glo-kpr-dark-c);
	color: var(--glo-kpr-acce-c);
}

.btn-primary.--kpr-btn-white {
	background-color: var(--glo-white);
	color: var(--glo-kpr-dark-c);
}

.btn-primary.--kpr-btn-white:hover {
	background-color: var(--glo-kpr-acce-c);
	color: var(--glo-kpr-dark-c);
}

@media (min-width: 1441px) {
	.btn-txt {
		font-size: 1rem;
	}
}

a.btn-secondary,
span.btn-secondary,
button.btn-secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--glo-s);
	color: var(--glo-kpr-dark-c);
	background-color: transparent;
	border: solid var(--glo-kpr-acce-c);
	border-width: 1px;
	padding: var(--glo-butt-p);
	border-radius: var(--glo-butt-br);
	transition: var(--glo-kpr-tran);
	width: fit-content;
	justify-self: center;
	font-family: var(--glo-headings-ui);
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

a.btn-secondary.--kpr-btn-white,
span.btn-secondary.--kpr-btn-white,
button.btn-secondary.--kpr-btn-white {
	background-color: var(--glo-white);
}

.btn-secondary.--glo-kpr-acce-c {
	color: var(--glo-kpr-acce-c);
}

.btn-secondary:hover {
	background-color: var(--glo-kpr-acce-c);
	color: var(--glo-kpr-dark-c);
}

.kpr-btn-dropdown {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--glo-s);
	background-color: var(--glo-kpr-dark-c);
	border-radius: var(--glo-br);
}

.kpr-btn-schedule {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--glo-s);
	background-color: var(--glo-kpr-dark-c);
	color: var(--glo-white);
	padding: var(--glo-butt-p);
	border: 1px solid var(--glo-kpr-dark-c);
	border-radius: var(--glo-br);
	font-family: var(--glo-headings-ui);
	font-size: 1.25rem;
	font-weight: 400;
	text-transform: capitalize;
	cursor: pointer;
	width: fit-content;
}

.kpr-btn-schedule:hover,
.kpr-btn-dropdown:hover,
.kpr-btn-dropdown.--active {
	border-radius: var(--glo-br) var(--glo-br) 0 0;
}

.kpr-btn-schedule__logo {
	margin-top: -4px;
}

.kpr-btn-schedule-wrap {
	display: flex;
	align-items: center;
	width: 100%;
}

.kpr-carret-icon {
	width: 24px;
	height: 24px;
	margin-top: -3px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../assets/img/carret-down.svg);
	transition: all;
}

.kpr-btn-dropdown:hover .kpr-carret-icon,
.kpr-btn-dropdown.--active .kpr-carret-icon {
	transform: scaleY(-1);
}

.kpr-btn-dropdown__list {
	position: absolute;
	top: 100%;
	left: 0;
	width: -webkit-fill-available;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: var(--glo-kpr-dark-c);
	color: var(--black);
	padding: 0px 2px 5px 2px;
	opacity: 0;
	pointer-events: none;
	transition: var(--glo-kpr-tran);
	z-index: 100;
	border-radius: 0 0 var(--glo-br) var(--glo-br);
}

.kpr-btn-dropdown:hover .kpr-btn-dropdown__list,
.kpr-btn-dropdown.--active .kpr-btn-dropdown__list {
	opacity: 1;
	pointer-events: auto;
}

.kpr-btn-dropdown__list-item {
	width: 100%;
	border-bottom: 2px solid var(--black);
	background-color: var(--glo-white);
}

.kpr-btn-dropdown__list-item-link {
	display: flex;
	color: var(--black);
	padding: var(--glo-butt-p);
	width: -webkit-fill-available;
	text-decoration: none;
	transition: var(--glo-kpr-tran);
	font-family: var(--glo-headings-ui);
	font-size: 1.25rem;
}

.kpr-btn-dropdown__list-item-link:hover {
	background-color: var(--glo-secondary);
	color: var(--black);
	text-decoration: none;
}

/* #endregion 2.2. Buttons */
/* #region 2.4. .kpr-section */
.kpr-section {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
}

@media (min-width: 1025px) {
	.kpr-section {
		gap: var(--glo-xl);
	}
}

.kpr-section.--kpr-bg-white {
	background-color: var(--glo-white);
}

.kpr-section.--kpr-bg-peach {
	background-color: var(--glo-kpr-acce-c-light);
}

section.--kpr-bg-dark-blue {
	background-color: var(--glo-kpr-dark-c);
}

.kpr-section.--kpr-bg-dark-blue h2:not(.kpr-card *),
.kpr-section.--kpr-bg-dark-blue h3:not(.kpr-card *),
.kpr-section.--kpr-bg-dark-blue h4:not(.kpr-card *),
.kpr-section.--kpr-bg-dark-blue h5:not(.kpr-card *),
.kpr-section.--kpr-bg-dark-blue h6:not(.kpr-card *),
.kpr-section.--kpr-bg-dark-blue p:not(.kpr-card *) {
	color: var(--glo-white);
}

.kpr-section.--kpr-bg-black h2,
.kpr-section.--kpr-bg-black h3,
.kpr-section.--kpr-bg-black h4,
.kpr-section.--kpr-bg-black h5,
.kpr-section.--kpr-bg-black h6,
.kpr-section.--kpr-bg-black p {
	color: var(--glo-white);
}

section.--kpr-bg-black {
	background-color: var(--glo-kpr-black-c);
}

section.kpr-section.--kpr-overflow-y {
	overflow: initial;
	overflow-y: hidden;
}

.--kpr-bg-dark-blue .kpr-bg-logo {
	mix-blend-mode: plus-lighter;
}

img.kpr-curve-sep {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw !important;
	max-width: 100vw !important;
	height: 4rem;
	object-fit: cover;
	z-index: 0;
	overflow: hidden;
}

.--kpr-sep-top img.kpr-curve-sep {
	top: 0;
	bottom: auto;
}

.--kpr-sep-top.--kpr-sep-rev img.kpr-curve-sep {
	transform: translateX(-50%) scale(-1, 1);
}

.--kpr-sep-top.--kpr-sep-rev-Y img.kpr-curve-sep {
	transform: translateX(-50%) scale(1, -1);
}

.--kpr-sep-bottom img.kpr-curve-sep {
	top: auto;
	bottom: 0;
	transform: translateX(-50%) scale(1, 1);
}

.--kpr-sep-bottom.--kpr-sep-rev img.kpr-curve-sep {
	transform: translateX(-50%) scale(-1, 1);
}

.--kpr-sep-bottom.--kpr-sep-rev-Y img.kpr-curve-sep {
	transform: translateX(-50%) scale(1, -1);
}

.--kpr-sep-middle img.kpr-curve-sep {
	top: 50%;
	bottom: auto;
	transform: translateX(-50%) translateY(-50%);
}

.--kpr-sep-middle.--kpr-sep-rev img.kpr-curve-sep {
	transform: translateX(-50%) translateY(-50%) scale(-1, 1);
}

.kpr-flex-block {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	align-items: center;
	justify-content: center;
	overflow: hidden;
	max-width: var(--glo-block-maxw);
}

.kpr-image {
	border-radius: calc(var(--glo-br) / 2);
	max-height: 20rem;
	overflow: hidden;
	object-fit: cover;
}

@media (min-width: 1025px) {
	.kpr-flex-block {
		flex-direction: row;
		gap: var(--glo-xl);
	}

	.kpr-image {
		max-height: 100%;
		overflow: hidden;
		object-fit: cover;
	}
}

/* #endregion 2.4. .kpr-section */
/* #region 2.5. .kpr-hero */
.--kpr-hero-section {
    padding-top: var(--glo-2xl);
    min-height: 70vh;
    justify-content: flex-start !important;
}

img.kpr-bg-logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	z-index: 2;
	opacity: 0.3;
	pointer-events: none;
}

.--kpr-hero-section img.kpr-bg-logo {
	opacity: 0.1;
}

.--kpr-bg-dark-blue img.kpr-bg-logo {
	opacity: 0.05;
}

.--kpr-hero-section img.kpr-bg-logo.--opac-0d3 {
	opacity: 0.2;
}

@media (min-width: 1025px) {
    .--kpr-hero-section {
        padding-top: var(--glo-3xl);
        min-height: 40vh;
    }
}

.--kpr-alt-hero {
	padding-top: var(--glo-5xl);
	min-height: fit-content;
}

.kpr-hero {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	overflow: visible;
	width: 100%;
	justify-content: center;
	align-items: center;
	max-width: var(--glo-block-maxw);
    height: auto;
    min-height: 80vh;
	top: 0;
	text-align: center;
}

.kpr-alt-hero {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	overflow: visible;
	width: 100%;
	justify-content: center;
	align-items: center;
	max-width: var(--glo-block-maxw);
	height: fit-content;
	top: 0;
	text-align: center;
}

.kpr-hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--glo-xl);
	padding: var(--glo-l);
	justify-content: center;
	align-items: center;
	margin-top: 0;
}

.--kpr-alt-hero .kpr-hero__content {
	margin-top: 0;
}

@media (min-width: 1025px) {
	.kpr-hero__content {
		padding: 0;
	}
}

.kpr-hero__content::before,
.--kpr-ellipse-bg::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 120%;
	height: 150%;
	transform: translate(-50%, -50%);
	background: radial-gradient(
		ellipse,
		rgba(255, 255, 255, 0.95) 0%,
		rgba(255, 255, 255, 0.85) 40%,
		rgba(255, 255, 255, 0) 90%
	);
	border-radius: 50%;
	z-index: 1;
}

.h-p-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	justify-items: center;
	width: fit-content;
	max-width: var(--glo-block-maxw);
	text-align: center;
}

.--txt-marker {
	color: var(--glo-kpr-acce-c);
}

@media (min-width: 1025px) {
	.kpr-hero__content {
		flex-direction: column;
		gap: var(--glo-xl);
		padding: var(--glo-2xl);
		overflow: visible;
	}
}

/* Network Canvas for Hero Animation */
#networkCanvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;

	/* Remove any default canvas sizing */
	display: block;
}

.canvas-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 50%,
		rgba(255, 255, 255, 0.9) 70%,
		rgba(255, 255, 255, 1) 100%
	);
	pointer-events: none;
	z-index: 2;
}

.sphere-mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 2;

	/* The mask: white = visible, black = hidden */
	mask-image: radial-gradient(
		ellipse 60% 35% at 50% 50%,
		white 0%,
		white 40%,
		transparent 70%
	);
	-webkit-mask-image: radial-gradient(
		ellipse 60% 35% at 50% 50%,
		white 0%,
		white 40%,
		transparent 70%
	);
	background: white;
}

.diamond-gradient {
	width: 50vw;
	height: 50vh;

	/* The radial gradient from solid white to fully transparent white */
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 0) 70%
	);

	/* The clip-path that creates the diamond shape */
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

/* Ensure hero content is above the canvas */
.--kpr-hero-section .kpr-hero {
	position: relative;
	z-index: 3;
}

.--kpr-hero-section .kpr-hero__wrapper {
	position: relative;
	z-index: 4;
}

.--kpr-alt-hero h1 {
	display: flex;
	flex-direction: column;
	gap: var(--glo-xs);
}

.kpr-hero-marker {
	color: var(--glo-kpr-acce-c);
	font-size: clamp(1.2rem, 2vw, 1.6rem);
}

/* #endregion 2.5. .kpr-hero */
/* #region 2.6. .kpr-card */
.kpr-card {
	width: 100%;
	gap: var(--glo-m);
}

.kpr-card__item {
	background-color: var(--glo-white);
	padding: var(--glo-m);
	border-radius: var(--glo-br);
	display: flex;
	gap: var(--glo-m);
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.kpr-card__item.--kpr-has-link {
	background-color: transparent;
	padding: 0;
}

a.kpr-card__item-link {
	background-color: var(--glo-white) !important;
	border: 1px solid var(--glo-kpr-acce-c-pale);
	border-radius: calc(var(--glo-br) / 2);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	width: 100%;
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
	color: var(--glo-black);
	box-shadow: var(--glo-kpr-card-box-s);
	transition: var(--glo-kpr-card-tran);
}

a.kpr-card__item-link:hover {
	/*box-shadow: var(--glo-kpr-card-box-s-hover);*/
}

.--kpr-card-s .kpr-card__item {
	max-width: 12rem;
}

.--kpr-card-m .kpr-card__item {
	min-width: 15rem;
	max-width: 15rem;
}

.--kpr-card-xl .kpr-card__item {
	min-width: 100%;
	max-width: 25rem;
	min-height: fit-content;
}

.kpr-card__item-content h3 {
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0;
	text-transform: none;
}

.--kpr-blog-card .kpr-card__item-link {
	background-color: var(--glo-kpr-acce-c-light-2);
}

.--kpr-blog-card.--kpr-max-height .kpr-card__item,
.--kpr-blog-card.--kpr-max-height .kpr-card__item-link {
	max-height: 100%;
	height: 100%;
}

.--kpr-blog-card * {
	text-align: left;
}

.--kpr-blog-card .kpr-card__item-content {
	padding: var(--glo-m);
}

@media (min-width: 1025px) {
	.--kpr-blog-card .kpr-card__item-content {
		padding: var(--glo-l);
	}

	.--kpr-blog-card img.kpr-card__item-img {
		height: 13rem;
		object-fit: cover;
	}
}

.--kpr-blog-card h3 {
	font-weight: 700;
	font-size: clamp(1.1rem, 2.5vw, 1.3rem);
}

img.kpr-card__item-img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	/*max-height: 10rem;*/
	object-fit: cover;
}

.--kpr-card-xl img.kpr-card__item-img {
	width: 104%;
	height: 100%;
	max-width: 104%;
	max-height: 20rem;
	object-fit: cover;
}

.kpr-card__item-content {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	justify-content: flex-start;
	align-items: flex-start;
	padding: var(--glo-l) var(--glo-m);
}

.--kpr-hero-card {
	min-height: 50vh;
	position: absolute;
	z-index: 1;
	width: 100vw;
	max-width: var(--glo-block-maxw);
	min-width: 50rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.--kpr-hero-card .kpr-card__item:not(.--kpr-alt-hero-card .kpr-card__item) {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}

.--kpr-alt-hero-card {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 100%;
	max-width: calc(100vw - 2rem);
	min-height: fit-content;
	padding-bottom: 4rem;
	transform: translate(0, 0);
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--glo-l);
	overflow-x: auto;
	overflow-y: visible;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.kpr-alt-card-wrap::after:not(.--kpr-alt-hero-card .kpr-card__item) {
	content: "";
	position: absolute;
	bottom: 1rem;
	left: 50%;
	background-image: url("../assets/images/scroll-indicator.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 1.5rem;
	height: 1.5rem;
	pointer-events: none;
}

.--kpr-alt-hero-card.--kpr-card-s .kpr-card__item {
	min-width: 12rem;
}

.--kpr-alt-hero-card-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--glo-l);
	max-width: 75rem;
	margin: 0 auto;
	padding: 2rem !important;
	overflow: visible;
}

@media screen and (min-width: 769px) {
	.--kpr-alt-hero-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1025px) {
	.--kpr-alt-hero-card-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.kpr-hero__roles {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--glo-l);
}

.--kpr-alt-hero-card .kpr-card__item {
	text-align: center;
}

.kpr-card__item .h-p-wrap {
	gap: var(--glo-s);
}

.kpr-card__item p {
	font-size: 1rem;
}

.kpr-card__item-list {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	height: 100%;
}

.kpr-card__item-list-item {
	display: flex;
	flex-direction: column;
	gap: var(--glo-s);
}

.kpr-card__item-list-item-icon {
	top: -2px;
	font-size: 0.6rem;
	margin-right: var(--glo-s);
}

.x-scroll {
	width: 100vw;
}

.x-scroll-viewport {
	width: 100%;
	overflow-x: scroll;
	overflow-y: hidden;

	/* Cross-browser scrollbar hiding */
	scrollbar-width: none;

	/* Firefox */
	-ms-overflow-style: none;

	/* IE/Edge */
	padding: var(--glo-3xl) 0;

	/* Desktop drag scrolling */
	cursor: grab;

	/* Smooth touch scrolling on mobile */
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}

.x-scroll-viewport::-webkit-scrollbar {
	display: none;
}

/* Dragging state */
.x-scroll-viewport.dragging {
	cursor: grabbing;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.x-scroll-viewport.dragging * {
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

/* Links show pointer cursor when not dragging */
.x-scroll-viewport a,
.x-scroll-viewport button {
	cursor: pointer !important;
}

/* During drag, everything shows grabbing cursor */
.x-scroll-viewport.dragging a,
.x-scroll-viewport.dragging button {
	cursor: grabbing !important;
}

/* Mobile/tablet optimizations */
@media (max-width: 1024px) {
	.x-scroll-viewport {
		cursor: default;

		/* Mobile doesn't need grab cursor */
		/* Enhanced touch scrolling */
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;

		/* Optional: smooth snapping */
	}

	/* Disable text selection on mobile during touch scrolling */
	.x-scroll-viewport * {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}

	/* But allow selection on links and buttons */
	.x-scroll-viewport a,
	.x-scroll-viewport button {
		-webkit-user-select: auto;
		-moz-user-select: auto;
		-ms-user-select: auto;
		user-select: auto;
	}
}

/* Scroll section wrapper */
.x-scroll {
	position: relative;
}

/* Scroll indicator positioned relative to section, not scroll container */
.x-scroll-indicator {
	position: absolute;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	background-image: url("../assets/images/scroll-indicator.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 1.5rem;
	height: 1.5rem;
	pointer-events: none;
	z-index: 10;
	display: block;

	/* Default visible, JavaScript will hide if no scroll needed */
	transition: opacity 0.3s ease;

	/* Smooth show/hide */
}

.x-scroll-wrap {
	display: flex;
	flex-direction: row;
	gap: var(--glo-l);
	min-width: fit-content;

	/* Mobile-first: use minimum padding */
	padding-left: var(--glo-m);
	padding-right: calc(var(--glo-m) * 2);
}

/* Tablet and up: use calculated centering */
@media (min-width: 1361px) {
	.x-scroll-wrap {
		padding-left: calc((100vw - var(--glo-block-maxw)) / 2);
		padding-right: calc((100vw - var(--glo-block-maxw)) / 2);
	}
}

/* Large screens: precise centering */
@media (min-width: 1440px) {
	.x-scroll-wrap {
		padding-left: calc((100vw - var(--glo-block-maxw)) / 2);
		padding-right: calc((100vw - var(--glo-block-maxw)) / 2);
	}
}

.x-scroll .kpr-card {
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	width: fit-content;
	max-width: fit-content;
	gap: var(--glo-l);
	align-items: center;
	justify-content: flex-start;
}

/* Load More button positioning */
.x-scroll .load-more-btn {
	flex-shrink: 0;
	margin-right: var(--glo-l);
	align-self: center;
	min-height: 100%;
}

.x-scroll .load-more-btn .btn-txt {
	white-space: nowrap;
	min-width: fit-content;
}

.x-scroll .kpr-card .kpr-card__item {
	width: 100%;
	min-width: 20rem;
	height: 100%;
}

@media (min-width: 1025px) {
	.x-scroll .kpr-card .kpr-card__item {
		width: 100%;
		min-width: 25rem;
		max-width: 30rem;
		height: 100%;
	}
	.x-scroll .kpr-review .kpr-review__item {
		width: 100%;
		min-width: 30rem;
		max-width: 35rem;
		height: 100%;
	}
}

.x-scroll .kpr-card .kpr-card__item-link {
	height: 100%;
}

.kpr-card.--kpr-card-grid.--kpr-indu-expe {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--glo-l);
}

.kpr-card.--kpr-card-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--glo-l);
}

@media screen and (min-width: 769px) {
	.kpr-card.--kpr-card-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--glo-l);
	}
}

.kpr-card.--kpr-card-grid .kpr-card__item {
	gap: var(--glo-m);
	text-align: left;
	align-items: flex-start;
	justify-content: flex-start;
	border-radius: calc(var(--glo-br) / 2);
}

.kpr-card.--kpr-card-row {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	max-width: var(--glo-block-maxw);
}

.kpr-card.--kpr-card-row .kpr-card__item {
	min-width: unset;
	text-align: left;
	align-items: flex-start;
	justify-content: flex-start;
	border-radius: calc(var(--glo-br) / 2);
}

@media (min-width: 1025px) {
	.kpr-card.--kpr-card-grid {
		grid-template-columns: repeat(4, 1fr);
		text-align: left;
	}

	.kpr-card.--kpr-card-grid.--kpr-3-col {
		grid-template-columns: repeat(3, 1fr);
		text-align: left;
	}

	.kpr-card.--kpr-card-grid li._col-span-2 {
		grid-column: span 1 !important;
	}

	.kpr-card.--kpr-card-row {
		display: flex;
		flex-direction: row;
		gap: var(--glo-l);
		max-width: var(--glo-block-maxw);
	}

	.kpr-card.--kpr-card-row .kpr-card__item {
		min-width: unset;
		text-align: left;
		align-items: flex-start;
		justify-content: flex-start;
		border-radius: calc(var(--glo-br) / 2);
	}
}

.--kpr-other-services .kpr-card__item {
	border-radius: calc(var(--glo-br) / 2);
}

.--kpr-numb-card .kpr-card__item {
	display: flex;
	flex-direction: column;
	background-color: var(--glo-white);
	border-radius: var(--glo-br);
	padding: var(--glo-l);
	gap: var(--glo-m);
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	border-bottom: 5px solid var(--glo-kpr-acce-c);
	box-shadow: var(--glo-kpr-card-box-s);
	transition: var(--glo-kpr-card-tran);
	overflow: hidden;
}

.--kpr-numb-card h3,
.--kpr-numb-card p {
	text-align: left;
	color: var(--glo-black) !important;
}

.kpr-card__item-numb {
	color: var(--glo-kpr-acce-c-pale) !important;
	font-size: 20rem;
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	opacity: 0.4;
}

.kpr-card.--kpr-indu-expe .kpr-card__item {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--glo-black);
	gap: var(--glo-3xs);
	background-color: var(--glo-kpr-acce-c-light-2);
	border: 1px solid var(--glo-kpr-bord-c);
	border-radius: calc(var(--glo-br) / 2);
}

.kpr-card.--kpr-indu-expe .kpr-card__item img {
	width: 2.5rem;
	height: 2.5rem;
	object-fit: contain;
	margin-right: var(--glo-m);
}

.--kpr-mega-menu-card {
	display: flex;
	flex-direction: row;
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	gap: var(--glo-m);
	align-items: flex-start;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	padding: var(--glo-2xl);

	/* Hide scrollbars */
	scrollbar-width: none;

	/* Firefox */
	-ms-overflow-style: none;

	/* Internet Explorer 10+ */
}

.--kpr-mega-menu-card .kpr-card__item:nth-of-type(1) {
	margin-left: var(--glo-xl);
}

@media (min-width: 1441px) {
	.--kpr-mega-menu-card {
		width: 100%;
		max-width: fit-content;
		min-width: var(--abb-size-3xs);
		justify-content: flex-start;
	}
}

/* Prevent children from shrinking so total width can overflow */
.kpr-card.--kpr-mega-menu-card > .kpr-card__item,
.--kpr-mega-menu-card > .kpr-card__item {
	flex: 0 0 auto;
	min-width: 15rem;
}

.--kpr-mega-menu-card::-webkit-scrollbar {
	display: none;

	/* WebKit */
}

.kpr-mega-menu__content::after {
	content: "";
	position: fixed;
	bottom: 1rem;
	left: 50%;
	background-image: url("../assets/images/scroll-indicator.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 1.5rem;
	height: 1.5rem;
	pointer-events: none;
}

/* #endregion 2.6. .kpr-card */
/* #region 2.7. .kpr-comp-list */
.kpr-comp-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--glo-l);
    align-items: center;
    justify-content: flex-start;
    width: max-content;
    animation: kpr-ticker 30s linear infinite;
}

@keyframes kpr-ticker {
    0%   { transform: translateX(0); }
    100% { transform: translateX(calc(var(--ticker-width, 50%) * -1)); }
}

/* Overflow wrapper — add this class to the section's ul parent or the section itself */
.--kpr-bg-dark-blue .kpr-comp-list {
    overflow: visible;
}

section:has(.kpr-comp-list) {
    overflow: hidden;
}

.kpr-comp-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 2.5rem;
    flex-shrink: 0;
}

.kpr-layout .kpr-comp-list__item img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 0.8;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.kpr-layout .kpr-comp-list__item:hover img {
    opacity: 1;
    transform: translateY(-3px);
}

.kpr-comp-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7rem;
    height: 2.5rem;
    flex-shrink: 0;
}

.kpr-layout .kpr-comp-list__item img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 0.8;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.kpr-layout .kpr-comp-list__item:hover img {
    opacity: 1;
    transform: translateY(-3px);
}

@media (min-width: 1025px) {
    .kpr-comp-list__item {
        width: 8rem;
        height: 3rem;
    }
}
/* #endregion 2.7. .kpr-comp-list */
/* #region 2.8. ul.kpr-review */
.kpr-review__item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: var(--glo-s);
	background-color: var(--glo-white);
	padding: var(--glo-m);
	border-radius: calc(var(--glo-br) / 2);
	border: 1px solid #f1633459;
	min-width: 14rem;
}

.--kpr-light-border .kpr-card__item {
	border: 1px solid #f1633459;
}

@media (min-width: 1025px) {
	.kpr-review__item {
		padding: var(--glo-l);
		min-width: 25rem;
	}
}

.kpr-review__item-content {
	display: flex;
	flex-direction: column;
	gap: var(--glo-xs);
}

.kpr-review__item-content img {
	width: 2.5rem;
	height: 2.5rem;
}

/* Review card — inverted hierarchy */
.kpr-review__item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--glo-l);
    background-color: var(--glo-white);
    padding: var(--glo-xl);
    border-radius: calc(var(--glo-br) / 2);
    border: 1px solid #f1633459;
    min-width: 14rem;
}

/* Quote text — hero of the card */
.kpr-review__item p,
.kpr-review__item .kpr-review__text,
.kpr-review__item .kpr-review__text p {
    font-size: clamp(1rem, 2vw, 1.1rem);
    line-height: 1.7;
    color: var(--glo-kpr-dark-c);
    order: 1;
}

/* Author block — below quote */
.kpr-review__item-content {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: var(--glo-s);
    width: 100%;
}

/* Stars above author name */
.kpr-review__stars {
    order: 0;
    height: 1rem;
    width: auto;
}

/* Author name — smaller, subdued */
.kpr-review__author {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--glo-kpr-dark-c);
    margin: 0;
}

/* Position/company — muted */
.kpr-review__author-position {
    font-size: 0.85rem;
    color: var(--glo-kpr-blue-gray);
}

/* #endregion 2.9. ul.kpr-review */
/* #region 2.9. .kpr-block */
.kpr-block {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	width: 100%;
	max-width: var(--glo-block-maxw);
}

@media (min-width: 1025px) and (max-width: 1440px) {
	.kpr-block {
		padding: 0 var(--glo-m) 0 var(--glo-m);
	}
}

.kpr-block h2 {
	text-align: left;
}

.kpr-block p {
	text-align: left;
}

.kpr-block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: calc(var(--glo-br) * 2);
	max-height: 20rem;
}

@media (min-width: 1025px) {
	.kpr-block {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: var(--glo-l);
	}

	.kpr-block img {
		max-height: unset;
	}
}

/* #endregion 2.9. .kpr-block */
/* #region 2.10. .kpr-icon-heading */
.kpr-icon-heading {
	display: flex;
	flex-direction: row;
	gap: var(--m);
	align-items: center;
	justify-content: flex-start;
}

.kpr-icon-heading img {
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
}

.kpr-icon-heading.--kpr-icon-large img {
	width: 4rem;
	height: 4rem;
}

.kpr-icon-heading.--kpr-icon-small img {
	width: 1.5rem;
	height: 1.5rem;
}

.kpr-icon-heading.--kpr-icon-border img {
	border: 0;
	border-radius: var(--border-radius);
	padding: var(--s);
}

.kpr-icon-heading.--kpr-brand-color h3 {
	color: var(--kpr-brand) !important;
}

.kpr-icon-heading.--kpr-brand-color img {
	filter: brightness(0) saturate(100%) invert(32%) sepia(35%) saturate(828%)
		hue-rotate(305deg) brightness(97%) contrast(101%);
}

/* #endregion 2.10. .kpr-icon-heading */
/* #region 2.10. ul.kpr-image-card */
.kpr-image-card__item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	gap: var(--glo-m);
	min-height: 27rem;
	border-radius: calc(var(--glo-br) / 2);
	overflow: hidden;
	padding: var(--glo-l);
}

@media (min-width: 1441px) {
	.kpr-card-carousel .kpr-image-card.kpr-card-carousel__viewport {
		grid-area: viewport;
		grid-auto-columns: 20%;
		padding: 0;
		height: fit-content;
		margin: 0;
	}
}

.kpr-image-card__item-title {
	position: relative;
	z-index: 3;
}

img.kpr-image-card__item-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	height: 100% !important;
	object-fit: cover;
	z-index: 1 !important;
}

.kpr-image-card__item::after {
	content: "";
	position: absolute;
	z-index: 2 !important;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);
}

/* #endregion 2.10. ul.kpr-image-card */
/* #region 2.11. .kpr-last-cta */
.kpr-last-cta {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kpr-last-cta .kpr-section {
	margin: 0;
	margin-top: var(--glo-6xl);
	padding: var(--glo-xl);
}

.kpr-last-cta__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--glo-m);
	background-color: var(--glo-kpr-acce-c-light);
	border: 2px solid var(--glo-kpr-acce-c);
	border-radius: var(--glo-br);
	padding: var(--glo-3xl) var(--glo-l);
	width: 100%;
	max-width: var(--glo-block-maxw);
	margin-top: calc(var(--glo-6xl) * -1);
	overflow: hidden;
}

.kpr-last-cta__content h2,
.kpr-last-cta__content p {
	color: var(--glo-black) !important;
}

.kpr-last-cta__content .kpr-bg-logo {
	mix-blend-mode: unset;
	opacity: 1;
}

.kpr-last-cta__content .kpr-bg-logo:nth-child(1) {
	transform: scaleX(-1) translateX(-30%);
}

/* #endregion 2.11. .kpr-last-cta */
/* #region 2.20. ul.kpr-bullet-list */
ul.kpr-bullet-list {
	display: flex;
	flex-direction: column;
	gap: var(--xs);
	list-style: disc inside;
	position: relative;
	padding-left: var(--m);
	justify-content: flex-start;
	width: 100%;
	text-align: left;
}

.kpr-bullet-list__item {
	position: relative;
	list-style: inherit;
	text-indent: 0px;
	width: 100%;
}

.kpr-bullet-list__item::marker {
	font-size: 1.5em;
}

ul.kpr-bullet-list.--kpr-acce-marker .kpr-bullet-list__item::marker {
	color: var(--glo-kpr-acce-c);
}

/* #endregion 2.20. ul.kpr-bullet-list */
/* #region 2.13. ul.kpr-accordion */
.kpr-accordion {
	max-width: var(--glo-block-maxw);
	width: 100%;
	height: fit-content;
	overflow: hidden;
}

.kpr-accordion h3 {
	font-size: 1.25rem;
	text-align: center;
	width: 100%;
}

.kpr-accordion__header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: var(--glo-m);
	width: 100%;
	padding: var(--glo-s);
	background: transparent;
	font-weight: bold;
	border: none;
	border-bottom: 2px solid var(--kpr-light-gray-border);
	text-align: left;
	letter-spacing: 0.5px;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	transition: color 0.3s;
	font-size: 1.25rem;
}

.kpr-accordion__header.--active {
	border-bottom: 2px solid transparent;
}

.kpr-accordion__header h4 {
	font-size: 1.25rem;
	font-weight: 700;
	width: 100%;
}

.kpr-accordion__header-plusminus-icon {
	font-size: 2rem;
	font-weight: 400;
	color: var(--glo-kpr-acce-c);
}

.kpr-accordion__icon {
	transition: transform 0.3s;
}

.kpr-accordion__header.--active .kpr-accordion__icon {
	transform: rotate(180deg);
}

/* Content with animation */
.kpr-accordion__content {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding: var(--glo-m) var(--glo-m) var(--glo-m) var(--glo-2xl);
	color: var(--dark);
	transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}

.kpr-accordion__content.--active {
	max-height: 500px;

	/* Adjust to a reasonable height to accommodate content */
	opacity: 1;
}

.--kpr-faq-accordion {
	height: fit-content;
	max-height: fit-content;
}

.--kpr-faq-accordion h3 {
	text-align: left;
}

.--kpr-faq-accordion .kpr-accordion__header h4 {
	text-transform: none !important;
}

.--kpr-faq-accordion .kpr-accordion__content.--active {
	margin-bottom: var(--glo-xl);
}

.--kpr-faq-accordion .kpr-accordion__header-order-icon {
	margin-top: -7px;
	color: var(--glo-kpr-acce-c);
	font-size: 2.5rem;
}

/* #endregion 2.13. ul.kpr-accordion */
/* #region 2.14. ff-el-input--content */
.ff-el-input--content input,
.ff-el-input--content textarea {
	background: var(--kpr-input-bg);
	border: none;
	border-radius: calc(var(--glo-br) / 4);
	padding: var(--glo-s) var(--glo-m);
	color: var(--glo-white);
}

.ff-message-success {
	color: var(--glo-white);
}

.ff-el-input--content input:focus,
.ff-el-input--content textarea:focus {
	outline: 1px solid var(--glo-kpr-acce-c);
}

button.ff-btn-submit:not(.ff_btn_no_style) {
	color: var(--glo-kpr-black-c) !important;
}

/* #endregion 2.14. ff-el-input--content */
/* #region 2.23. div.kpr-single-post */
.kpr-single-post {
	display: flex;
	flex-direction: column;
	gap: var(--glo-l);
	width: 100%;
	max-width: var(--glo-block-maxw);
}

.kpr-toc {
	display: flex;
	position: relative;
	gap: var(--glo-m);
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: var(--glo-s);
}

.kpr-toc__list {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	list-style: numbers;
	padding-left: var(--glo-m);
	font-size: 1rem;
	font-weight: 700;
	padding-top: var(--glo-m);
}

.kpr-toc__list-item {
	display: flex;
	flex-direction: row;
	gap: var(--glo-m);
	align-items: center;
	justify-content: flex-start;
	min-height: 2rem;
	border: solid var(--glo-shadow);
	border-width: 0 0 1px 0;
}

.kpr-toc__list-item-text {
	font-size: 1rem;
	font-weight: 700;
	color: var(--glo-kpr-dark-c);
}

.kpr-single-post__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--glo-m);
}

.kpr-single-post__content h2:not(:first-child) {
	margin-top: var(--glo-2xl);
}

.kpr-single-post__toc-title h3 {
	font-size: 1.25rem;
	font-weight: 700;
}

.kpr-single-post__content img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: calc(var(--glo-br) / 2);
}

.--kpr-border-bottom {
	border-bottom: 1px solid var(--glo-kpr-blue-gray);
}

/* ScrollSpy active styles */
.kpr-toc__list-item.active::after {
	content: "";
	position: absolute;
	display: block;
	width: 95%;
	height: 2px;
	background-color: var(--kpr-gold);
}

@media screen and (min-width: 1025px) {
	.kpr-single-post {
		display: grid;
		grid-template-columns: 0.3fr 1fr;
		gap: var(--glo-xl);
	}

	.kpr-single-post.--kpr-no-toc {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--glo-xl);
	}

	.kpr-toc {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: var(--glo-m);
		position: relative;
		height: 100%;

		/* Use viewport height instead of 100% */
	}

	.kpr-toc__wrapper {
		position: relative;
		max-height: 100%;
		padding-right: var(--glo-xs);
		height: fit-content;
	}

	/* Sticky States - Desktop only */
	.kpr-toc__wrapper--sticky {
		position: relative !important;

		/* top will be set dynamically by JavaScript */
		width: var(--toc-width);
		max-width: 300px;
		z-index: 100;
		padding: var(--glo-s);
	}

	.kpr-toc__wrapper--bottom {
		position: absolute !important;
		top: var(--toc-bottom-pos);
		width: 100%;
	}
}

/* #endregion 2.23. div.kpr-single-post */
/* #region 2.9. ul.kpr-blog-card */
.kpr-blog-card {
	display: grid;
	gap: var(--glo-xl);
	width: 100%;
	max-width: var(--glo-block-maxw);
}

.kpr-blog-card a,
.kpr-blog-card a:hover {
	color: var(--glo-kpr-dark-c) !important;
}

.kpr-blog-card__item {
	display: flex;
	flex-direction: column;
	border-radius: var(--glo-br);
	overflow: hidden;
	height: 100%;
	transition: var(--glo-kpr-tran);
	box-shadow: var(--glo-kpr-box-shadow);
	border: solid var(--glo-kpr-acce-c);
	border-width: 0 0 3px 0;
}

li.kpr-blog-card__item.--hr3-bg-primary * {
	color: var(--glo-white) !important;
}

li.kpr-blog-card__item.--hr3-bg-white * {
	color: var(--primary) !important;
}

li.kpr-blog-card__item:hover {
	transform: scale(1.02);
	transition: var(--glo-kpr-tran);
	box-shadow: var(--glo-kpr-box-shadow);
}

.kpr-blog-card__item-link {
	flex-direction: column;
	gap: 0;
}

.kpr-blog-card__item-img-wrapper {
	position: relative;
	height: 12rem;
	max-height: 12rem;
	overflow: hidden;
}

img.kpr-blog-card__item-img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.kpr-blog-card__item-img-wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--ui-hr3-img-card-overlay);
	pointer-events: none;
	z-index: 1;
}

.kpr-blog-card__item-content {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	justify-content: flex-start;
	align-items: flex-start;
	padding: var(--glo-m);
}

.kpr-blog-card__item-content h3 {
	font-size: 1.5rem !important;
	font-weight: 700;
}

@media screen and (min-width: 1025px) {
	.kpr-blog-card.--glorid-2col {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--glo-xl);
	}

	.kpr-blog-card.--glorid-3col {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: var(--glo-xl);
	}

	.kpr-blog-card.--glorid-4col {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: var(--glo-xl);
	}

	.kpr-blog-card__item-content {
		padding: var(--glo-l);
	}

	.kpr-blog-card__item-img-wrapper {
		height: 15rem;
		max-height: 15rem;
	}
}

@media screen and (min-width: 1280px) {
	.kpr-blog-card.--glorid-4col {
		grid-template-columns: repeat(4, 1fr);
	}
}

.kpr-blog-card-carousel {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--glo-m);
}

.kpr-blog-card__item-category {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
}

/* #endregion 2.9. ul.kpr-blog-card */
/* Desktop: hide scrollbar again but allow pointer-driven drag */
@media (min-width: 1441px) {
	.--kpr-mega-menu-card {
		scrollbar-width: none;

		/* Firefox: hide */
		cursor: grab;
	}

	.--kpr-mega-menu-card:active,
	.--kpr-mega-menu-card.--dragging {
		cursor: grabbing;
	}

	/* Hide WebKit scrollbar */
	.--kpr-mega-menu-card::-webkit-scrollbar {
		display: none;
	}
}

/* Section cutout utilities - cuts away curved portions from sections */
.--kpr-cutout-bottom {
	position: relative;
}

.--kpr-cutout-bottom::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 80px;
	background: var(--glo-white);
	clip-path: ellipse(60% 100% at 50% 0%);
	z-index: 2;
	pointer-events: none;
}

.--kpr-cutout-top {
	position: relative;
}

.--kpr-cutout-top::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 80px;
	background: var(--glo-white);
	clip-path: ellipse(60% 100% at 50% 100%);
	z-index: 2;
	pointer-events: none;
}

/* Deeper cutouts */
.--kpr-cutout-bottom-deep {
	position: relative;
}

.--kpr-cutout-bottom-deep::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 120px;
	background: var(--glo-white);
	clip-path: ellipse(50% 100% at 50% 0%);
	z-index: 2;
	pointer-events: none;
}

.--kpr-cutout-top-deep {
	position: relative;
}

.--kpr-cutout-top-deep::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 120px;
	background: var(--glo-white);
	clip-path: ellipse(50% 100% at 50% 100%);
	z-index: 2;
	pointer-events: none;
}

/* Wave-style cutouts */
.--kpr-cutout-wave-bottom {
	clip-path: polygon(0 0, 100% 0, 100% 85%, 75% 95%, 50% 100%, 25% 95%, 0 85%);
}

.--kpr-cutout-wave-top {
	clip-path: polygon(0 15%, 25% 5%, 50% 0, 75% 5%, 100% 15%, 100% 100%, 0 100%);
}

/* Angled cutouts */
.--kpr-cutout-angle-bottom-left {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 80px));
}

.--kpr-cutout-angle-bottom-right {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 0 100%);
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.--kpr-cutout-bottom::after,
	.--kpr-cutout-top::before {
		height: 50px;
	}

	.--kpr-cutout-bottom-deep::after,
	.--kpr-cutout-top-deep::before {
		height: 80px;
	}

	.--kpr-cutout-angle-bottom-left {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 50px));
	}

	.--kpr-cutout-angle-bottom-right {
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 0 100%);
	}
}

/* CSS Mask-based cutouts (more elegant approach) */
.--kpr-mask-cutout-bottom {
	mask: radial-gradient(60% 70px at bottom, #0000 100%, #000);
	-webkit-mask: radial-gradient(60% 70px at bottom, transparent 100%, black);
}

.--kpr-mask-cutout-top {
	mask: radial-gradient(60% 70px at top, #0000 100%, #000);
	-webkit-mask: radial-gradient(60% 70px at top, transparent 100%, black);
}

.--kpr-mask-cutout-bottom-deep {
	mask: radial-gradient(50% 100px at bottom, #0000 100%, #000);
	-webkit-mask: radial-gradient(50% 100px at bottom, transparent 100%, black);
}

.--kpr-mask-cutout-top-deep {
	mask: radial-gradient(50% 100px at top, #0000 100%, #000);
	-webkit-mask: radial-gradient(50% 100px at top, transparent 100%, black);
}

/* Multiple cutouts using mask composite */
.--kpr-mask-cutout-both {
	mask: radial-gradient(60% 60px at top, #0000 100%, #000),
		radial-gradient(60% 60px at bottom, #0000 100%, #000);
	-webkit-mask: radial-gradient(60% 60px at top, transparent 100%, black),
		radial-gradient(60% 60px at bottom, transparent 100%, black);
	mask-composite: intersect;
	-webkit-mask-composite: source-in;
}

/* Wave-like cutouts with mask */
.--kpr-mask-wave-bottom {
	mask: radial-gradient(circle at 20% bottom, #0000 30px, #000 32px),
		radial-gradient(circle at 50% bottom, #0000 40px, #000 42px),
		radial-gradient(circle at 80% bottom, #0000 30px, #000 32px);
	-webkit-mask: radial-gradient(
			circle at 20% bottom,
			transparent 30px,
			black 32px
		),
		radial-gradient(circle at 50% bottom, transparent 40px, black 42px),
		radial-gradient(circle at 80% bottom, transparent 30px, black 32px);
	mask-composite: intersect;
	-webkit-mask-composite: source-in;
}

/* Elliptical cutouts */
.--kpr-mask-ellipse-bottom {
	mask: radial-gradient(ellipse 80% 60px at bottom, #0000 100%, #000);
	-webkit-mask: radial-gradient(
		ellipse 80% 60px at bottom,
		transparent 100%,
		black
	);
}

.--kpr-mask-ellipse-top {
	mask: radial-gradient(ellipse 80% 60px at top, #0000 100%, #000);
	-webkit-mask: radial-gradient(
		ellipse 80% 60px at top,
		transparent 100%,
		black
	);
}

/* Responsive mask adjustments */
@media (max-width: 768px) {
	.--kpr-mask-cutout-bottom {
		mask: radial-gradient(70% 40px at bottom, #0000 100%, #000);
		-webkit-mask: radial-gradient(70% 40px at bottom, transparent 100%, black);
	}

	.--kpr-mask-cutout-top {
		mask: radial-gradient(70% 40px at top, #0000 100%, #000);
		-webkit-mask: radial-gradient(70% 40px at top, transparent 100%, black);
	}

	.--kpr-mask-cutout-bottom-deep {
		mask: radial-gradient(60% 60px at bottom, #0000 100%, #000);
		-webkit-mask: radial-gradient(60% 60px at bottom, transparent 100%, black);
	}

	.--kpr-mask-ellipse-bottom,
	.--kpr-mask-ellipse-top {
		mask: radial-gradient(ellipse 90% 35px at bottom, #0000 100%, #000);
		-webkit-mask: radial-gradient(
			ellipse 90% 35px at bottom,
			transparent 100%,
			black
		);
	}
}

@media (min-width: 1281px) {
    .kpr-header__main-menu-wrapper > li.current-menu-item > a.kpr-header__menu-item-link,
    .kpr-header__main-menu-wrapper > li.current-menu-ancestor > a.kpr-header__menu-item-link,
    .kpr-header__main-menu-wrapper > li.current-menu-parent > a.kpr-header__menu-item-link {
        background-color: rgba(255, 140, 54, .1);
        color: #ff8c36;
    }
}