:root {
	--color-dark: #071523;
	--color-dark-soft: #0c2032;
	--color-light: #f5f6f8;
	--color-white: #ffffff;
	--color-text: #111827;
	--color-muted: #687383;
	--color-red: #e1141d;
	--color-red-dark: #b90710;
	--color-line: #dfe4ea;
	--font-body: "Inter", sans-serif;
	--font-display: "Barlow Condensed", sans-serif;
	--shadow-sm: 0 12px 30px rgba(7, 21, 35, 0.08);
	--shadow-lg: 0 28px 70px rgba(7, 21, 35, 0.16);
	--radius: 14px;
	--transition: 0.28s ease;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--color-text);
	background: var(--color-light);
	-webkit-font-smoothing: antialiased;
}

body.nav-open {
	overflow: hidden;
}

main {
  overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 0.95;
	text-transform: uppercase;
}

p {
	margin: 0;
}

.contact-form-group.has-error input,
.contact-form-group.has-error textarea {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.contact-form-group.has-error input:focus,
.contact-form-group.has-error textarea:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}


.checkout-field.has-error input,
.checkout-field.has-error textarea {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.checkout-field.has-error select,
.checkout-field.has-error .bootstrap-select > .dropdown-toggle,
.checkout-field.has-error .bootstrap-select > .dropdown-toggle.btn,
.checkout-field.has-error .bootstrap-select > .dropdown-toggle.btn-light,
.checkout-field.has-error .bootstrap-select > .dropdown-toggle.btn-default {
  border-color: #dc3545 !important;
}

.checkout-field.has-error input:focus,
.checkout-field.has-error textarea:focus,
.checkout-field.has-error select:focus,
.checkout-field.has-error .bootstrap-select.show > .dropdown-toggle,
.checkout-field.has-error .bootstrap-select > .dropdown-toggle:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.18) !important;
}

.checkout-check.has-error {
  color: #dc3545;
}

.checkout-check.has-error span,
.checkout-check.has-error strong,
.checkout-check.has-error a {
  color: #dc3545;
}

.container-xxl {
	max-width: 1560px;
}

.section {
	position: relative;
	padding: 82px 0;
}

.section-dark {
	color: var(--color-white);
	background: var(--color-dark);
}

.section-red {
	color: var(--color-white);
	background: linear-gradient(110deg, #9e0610 0%, #e1141d 55%, #8d030c 100%);
}

.section-heading {
	margin-bottom: 34px;
}

.section-heading.compact {
	margin-top: 58px;
}

.section-kicker,
.eyebrow {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--color-red);
	text-transform: uppercase;
}

.section-kicker.light {
	color: rgba(255, 255, 255, 0.78);
}

.section-heading h2,
.homebase-copy h2,
.testing-copy h2,
.alumni-section h2 {
	font-size: clamp(36px, 4vw, 64px);
}

.section-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	transition: color var(--transition), gap var(--transition);
}

.section-link:hover {
	gap: 15px;
	color: var(--color-red);
}

.section-link.light:hover {
	color: var(--color-white);
}

.btn {
	min-height: 48px;
	padding: 12px 24px;
	border-radius: 3px;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
}

.btn:hover {
	transform: translateY(-2px);
}

.btn-primary {
	border-color: var(--color-red);
	background: var(--color-red);
	box-shadow: 0 12px 30px rgba(225, 20, 29, 0.24);
}

.btn-primary:hover,
.btn-primary:focus {
	border-color: var(--color-red-dark);
	background: var(--color-red-dark);
	box-shadow: 0 16px 36px rgba(225, 20, 29, 0.32);
}

.btn-primary:disabled,
.btn-primary.disabled,
.btn-primary[aria-busy="true"] {
	border-color: var(--color-red) !important;
	background: var(--color-red) !important;
	color: var(--color-white) !important;
	opacity: 0.68;
	box-shadow: 0 8px 22px rgba(225, 20, 29, 0.18);
	transform: none;
}

.header {
	z-index: 1000;
	height: 92px;
	border-bottom: 1px solid transparent;
	background: transparent;
	box-shadow: none;
	transition: height var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition), backdrop-filter var(--transition);
}

.header.header-scrolled {
	height: 76px;
	border-color: rgba(255, 255, 255, 0.08);
	background: rgba(4, 13, 22, 0.94);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(14px);
}

.header-inner {
	display: flex;
	align-items: center;
	gap: 0;
	height: 100%;
}

.brand {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 118px;
	height: 82px;
}

.brand img {
	display: block;
	width: 100%;
	max-height: 78px;
	object-fit: contain;
	filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.28));
	transition: width var(--transition), max-height var(--transition), transform var(--transition);
}

.header.header-scrolled .brand img {
	max-height: 64px;
}

.brand:hover img {
	transform: translateY(-2px);
}

.navbar {
	margin-right: auto;
	margin-left: 40px;
	padding: 0;
}

.navbar ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 2.5vw, 48px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.navbar a {
	position: relative;
	display: block;
	padding: 32px 0 30px;
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.84);
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
	text-transform: uppercase;
	transition: color var(--transition);
}

.header.header-scrolled .navbar a {
	padding-top: 24px;
	padding-bottom: 23px;
}

.navbar a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20px;
	width: 0;
	height: 2px;
	background: var(--color-red);
	transform: translateX(-50%);
	transition: width var(--transition);
}

.header.header-scrolled .navbar a::after {
	bottom: 15px;
}

.navbar a:hover,
.navbar a.active {
	color: var(--color-white);
}

.navbar a:hover::after,
.navbar a.active::after {
	width: 100%;
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 13px;
	margin-left: 32px;
	white-space: nowrap;
}

.language-switcher,
.currency-switcher {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.38);
}

.language-btn,
.currency-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	color: rgba(255, 255, 255, 0.64);
	background: transparent;
	font-size: 12px;
	font-weight: 700;
	transition: color var(--transition), opacity var(--transition);
}

.language-btn img {
	display: block;
	width: 20px;
	height: 14px;
	border-radius: 1px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
	object-fit: cover;
}

.language-switcher {
	position: relative;
}

.language-btn.dropdown-toggle::after {
	margin-left: 3px;
	border-top-color: rgba(255, 255, 255, 0.72);
	transition: transform var(--transition);
}

.language-btn.dropdown-toggle.show::after {
	transform: rotate(180deg);
}

.language-dropdown-menu {
	min-width: 48px;
	margin-top: 10px !important;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 2px;
	background: #08131f;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

.language-dropdown-menu .dropdown-item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 28px;
	padding: 5px 9px;
	border-radius: 1px;
	background: transparent;
}

.language-dropdown-menu .dropdown-item:hover,
.language-dropdown-menu .dropdown-item:focus {
	background: rgba(255, 255, 255, 0.08);
}

.language-dropdown-menu .dropdown-item.active {
	background: rgba(237, 28, 36, 0.16);
}

.language-dropdown-menu .dropdown-item img {
	display: block;
	width: 20px;
	height: 14px;
	border-radius: 1px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
	object-fit: cover;
}

.language-btn.active,
.language-btn:hover,
.currency-btn.active,
.currency-btn:hover {
	color: var(--color-white);
}

.header-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	color: var(--color-white);
	background: transparent;
	font-size: 20px;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.cart-link:hover,
.cart-link:focus {
	color: var(--color-red);
}

.cart-link span {
	position: absolute;
	top: 1px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	color: var(--color-white);
	background: var(--color-red);
	font-size: 9px;
	font-weight: 700;
}

.header-cta {
	min-height: 38px;
	padding: 6px 12px;
}

.mobile-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	color: var(--color-white);
	background: transparent;
	font-size: 30px;
}

.hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: max(760px, 100svh);
	overflow: hidden;
	background: #04101c;
}

.hero::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 9, 16, 0.98) 0%, rgba(2, 9, 16, 0.93) 26%, rgba(2, 9, 16, 0.72) 44%, rgba(2, 9, 16, 0.2) 68%, rgba(2, 9, 16, 0.08) 100%), linear-gradient(180deg, rgba(2, 9, 16, 0.32) 0%, transparent 23%, transparent 70%, rgba(2, 9, 16, 0.72) 100%);
	pointer-events: none;
}

.hero::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: radial-gradient(circle at 66% 70%, rgb(79 79 79 / 20%) 0%, rgb(120 120 120 / 7%) 20%, transparent 42%), linear-gradient(180deg, transparent 78%, rgba(3, 10, 17, 0.58) 100%);
	pointer-events: none;
}

.hero-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	background-color: #071523;
	background-image: url("../img/hero-bg-players.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transform: scale(1.01);
}

.hero-container {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: max(760px, 100svh);
	padding-top: 110px;
	padding-bottom: 110px;
}

.hero-copy {
	position: relative;
	width: min(650px, 48vw);
}

.hero-copy::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: -12%;
	width: 125%;
	height: 132%;
	background: radial-gradient(ellipse at 42% 50%, rgba(3, 11, 19, 0.78) 0%, rgba(3, 11, 19, 0.48) 42%, transparent 76%);
	filter: blur(18px);
	transform: translateY(-50%);
	pointer-events: none;
}

.hero h1 {
	max-width: 650px;
	font-size: clamp(78px, 7.5vw, 132px);
	letter-spacing: -0.035em;
	text-shadow: 0 5px 34px rgba(0, 0, 0, 0.42);
}

.hero h1 span,
.hero h1 em {
	display: block;
	font-style: normal;
}

.hero h1 span {
	color: var(--color-white);
}

.hero h1 em {
	color: var(--color-red);
	text-shadow: 0 8px 38px rgba(225, 20, 29, 0.24);
}

.hero-copy > p {
	margin-top: 24px;
	font-family: var(--font-display);
	font-size: 29px;
	font-weight: 600;
	line-height: 1.1;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 3px 18px rgba(0, 0, 0, 0.48);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 34px;
}

.hero-scroll {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
	text-transform: uppercase;
	transform: translateX(-50%);
}

.hero-scroll:hover,
.hero-scroll:focus {
	color: var(--color-red);
}

.hero-scroll::before {
	content: "";
	display: block;
	width: 1px;
	height: 28px;
	margin-bottom: 2px;
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.74));
	transition: background var(--transition);
}

.hero-scroll:hover::before,
.hero-scroll:focus::before {
	background: linear-gradient(180deg, transparent, var(--color-red));
}

.hero-scroll i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	font-size: 14px;
	animation: heroScroll 2s ease-in-out infinite;
	transition: border-color var(--transition), color var(--transition);
}

.hero-scroll:hover i,
.hero-scroll:focus i {
	border-color: var(--color-red);
	color: var(--color-red);
}

@keyframes heroScroll {
	0%, 100% {
		opacity: 0.62;
		transform: translateY(0);
	}
	50% {
		opacity: 1;
		transform: translateY(6px);
	}
}

.section-camps {
	background: linear-gradient(180deg, #ffffff 0%, #f4f6f8 100%);
}

.section-camps .section-heading {
	padding-right: 8px;
	padding-left: 8px;
}

.slider-shell {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.nearest-camps-slider {
	position: relative;
}

.nearest-camps-slider .slick-list {
	overflow: hidden;
	margin: -8px 0;
	padding: 8px 0;
}

.nearest-camps-slider .slick-track {
	display: flex;
}

.nearest-camps-slider .slick-slide {
	height: auto;
	margin: 0 8px;
}

.nearest-camps-slider .slick-slide > div {
	height: 100%;
}

.camp-card {
	position: relative;
	display: grid !important;
	grid-template-columns: 42% 58%;
	min-height: 192px;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 8px;
	background: var(--color-white);
	box-shadow: 0 3px 10px rgba(7, 21, 35, 0.07);
	color: var(--color-dark);
	text-decoration: none;
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.camp-card:hover {
	transform: translateY(-2px);
	border-color: rgba(234, 20, 33, 0.18);
	box-shadow: 0 5px 14px rgba(7, 21, 35, 0.1);
	color: var(--color-dark);
}

.placeholder-media {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #dfe4ea 0%, #eef1f4 48%, #cdd4dc 100%);
}

.placeholder-media::before {
	content: "";
	position: absolute;
	inset: -25%;
	background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, 0.55) 50%, transparent 65%);
	transform: translateX(-60%);
	animation: placeholderShine 5s ease-in-out infinite;
}

.placeholder-media span {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	font-family: var(--font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: rgba(7, 21, 35, 0.42);
	text-align: center;
	text-transform: uppercase;
}

.camp-card-media {
	min-height: 100%;
	overflow: hidden;
}

.camp-card-media img,
.recommended-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease;
}

.camp-card:hover .camp-card-media img,
.recommended-card:hover .recommended-media img {
	transform: scale(1.045);
}

.camp-card-date {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	height: auto !important;
	padding: 7px 10px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 7px 18px rgba(7, 21, 35, 0.1);
	font-size: 11px;
	font-weight: 700;
}

.camp-card-body {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 22px 20px;
}

.camp-card h3 {
	font-size: 27px;
	line-height: 0.95;
}

.camp-card p {
	margin-top: 14px;
	font-size: 12px;
	color: var(--color-muted);
}


.camp-card-soldout {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 9px;
	padding: 5px 8px;
	border-radius: 3px;
	background: rgba(237, 28, 36, 0.09);
	color: var(--color-red);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1;
	text-transform: uppercase;
}

.camp-card-warning {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 9px;
	padding: 5px 8px;
	border-radius: 3px;
	background: rgba(245, 158, 11, 0.12);
	color: #b45309;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1;
	text-transform: uppercase;
}

.camp-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 16px;
}

.price {
	font-family: var(--font-display);
	font-size: 23px;
	font-weight: 800;
}

.camp-card-footer > i {
	color: var(--color-red);
	font-size: 22px;
	transition: transform var(--transition);
}

.camp-card:hover .camp-card-footer > i {
	transform: translateX(5px);
}

.nearest-camps-slider .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 50%;
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
	color: var(--color-dark);
	font-size: 18px;
	transform: translateY(-50%);
	transition: background var(--transition), color var(--transition), opacity var(--transition), visibility var(--transition);
}

.nearest-camps-slider .slick-prev {
	left: -8px;
}

.nearest-camps-slider .slick-next {
	right: -8px;
}

.nearest-camps-slider .slick-arrow:hover {
	color: var(--color-white);
	background: var(--color-red);
}

.nearest-camps-slider .slick-arrow.slick-disabled {
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
}

.recommended-slider-shell {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.recommended-grid {
	position: relative;
}

.recommended-grid .slick-list {
	overflow: hidden;
	margin: -8px 0;
	padding: 8px 0;
}

.recommended-grid .slick-track {
	display: flex;
}

.recommended-grid .slick-slide {
	height: auto;
	margin: 0 8px;
}

.recommended-grid .slick-slide > div {
	height: 100%;
}

.recommended-card {
	position: relative;
	display: block;
	min-height: 330px;
	height: 100%;
	overflow: hidden;
	border-radius: 8px;
	color: var(--color-white);
	background: var(--color-dark);
	box-shadow: none;
	transition: transform var(--transition);
}

.recommended-card:hover {
	transform: translateY(-2px);
	color: var(--color-white);
	box-shadow: none;
}

.recommended-media,
.recommended-overlay {
	position: absolute;
	inset: 0;
}

.recommended-overlay {
	background: linear-gradient(180deg, rgba(3, 12, 20, 0.15) 0%, rgba(3, 12, 20, 0.92) 85%);
}

.recommended-content {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px;
	color: var(--color-white);
}

.recommended-grid .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 50%;
	color: var(--color-dark);
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
	font-size: 18px;
	transform: translateY(-50%);
	transition: background var(--transition), color var(--transition), opacity var(--transition);
}

.recommended-grid .slick-prev {
	left: -8px;
}

.recommended-grid .slick-next {
	right: -8px;
}

.recommended-grid .slick-arrow:hover {
	color: var(--color-white);
	background: var(--color-red);
}

.recommended-grid .slick-arrow.slick-disabled {
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
}

.recommended-content > span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.recommended-content h3 {
	margin-top: 10px;
	font-size: 35px;
}

.rating {
	display: flex;
	gap: 4px;
	margin-top: 13px;
	color: var(--color-red);
}

.recommended-content p {
	margin: 16px 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
}

.stats-section {
	padding: 34px 0;
	background: var(--color-white);
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.stat-item {
	position: relative;
	display: grid;
	grid-template-columns: 48px auto;
	grid-template-rows: auto auto;
	column-gap: 14px;
	padding: 18px 28px;
}

.stat-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 22%;
	right: 0;
	bottom: 22%;
	width: 1px;
	background: var(--color-line);
}

.stat-item > i {
	grid-row: 1 / 3;
	align-self: center;
	color: var(--color-red);
	font-size: 38px;
}

.stat-item strong {
	font-family: var(--font-display);
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
}

.stat-item p {
	font-size: 11px;
	color: var(--color-muted);
}

.alumni-section {
	padding: 56px 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 72% 42%, rgba(255, 82, 92, 0.34) 0%, rgba(255, 42, 54, 0.13) 22%, transparent 42%),
		radial-gradient(circle at 14% 88%, rgba(68, 0, 8, 0.52) 0%, transparent 40%),
		linear-gradient(115deg, #76050d 0%, #ae0712 25%, #dc101c 52%, #f01824 70%, #82050e 100%);
}

.alumni-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(118deg, rgba(255, 255, 255, 0.06) 0%, transparent 22%, transparent 58%, rgba(255, 255, 255, 0.045) 72%, transparent 100%),
		linear-gradient(180deg, rgba(46, 0, 6, 0.18) 0%, transparent 28%, transparent 68%, rgba(46, 0, 6, 0.34) 100%);
	pointer-events: none;
}

.alumni-section::after {
	content: "";
	position: absolute;
	top: -38%;
	right: 4%;
	width: 56%;
	height: 176%;
	background:
		linear-gradient(108deg, transparent 28%, rgba(255, 255, 255, 0.08) 44%, transparent 58%),
		radial-gradient(ellipse at center, rgba(255, 74, 84, 0.2) 0%, transparent 66%);
	filter: blur(28px);
	transform: rotate(-7deg);
	pointer-events: none;
}

.alumni-section .container-fluid {
	position: relative;
	z-index: 1;
}

.alumni-section p {
	margin: 18px 0 28px;
	color: rgba(255, 255, 255, 0.78);
}

.alumni-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.alumni-card {
	position: relative;
	min-height: 270px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	background: var(--color-dark);
	box-shadow: 0 12px 30px rgba(63, 0, 7, 0.2);
}

.alumni-photo {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.alumni-photo::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: -30%;
	background: linear-gradient(110deg, transparent 36%, rgba(255, 255, 255, 0.16) 50%, transparent 64%);
	transform: translateX(-75%);
	animation: alumniShine 6s ease-in-out infinite;
	pointer-events: none;
}

.alumni-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.5s ease;
}

.alumni-card::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgba(4, 12, 20, 0.02) 28%, rgba(4, 12, 20, 0.34) 58%, rgba(4, 12, 20, 0.98) 100%);
	pointer-events: none;
}

.alumni-card:hover .alumni-photo img {
	transform: scale(1.035);
}

.alumni-content {
	position: absolute;
	z-index: 3;
	left: 18px;
	right: 18px;
	bottom: 16px;
}

.alumni-card h3 {
	font-size: 27px;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.72);
}

.alumni-card p {
	margin: 4px 0 0;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.72);
}

.homebase-section {
	padding: 0;
	overflow: hidden;
	background: var(--color-white);
}

.homebase-grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr 2.2fr;
	min-height: 330px;
}

.homebase-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 38px;
}

.homebase-copy h2 {
	color: var(--color-red);
}

.homebase-copy p {
	margin: 20px 0;
	color: var(--color-muted);
}

.homebase-copy .btn {
	align-self: flex-start;
}

.homebase-map,
.homebase-photo {
	position: relative;
	min-height: 330px;
	overflow: hidden;
}

.homebase-map {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 34px;
	background: var(--color-white);
}

.homebase-map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.homebase-photo {
	width: calc(100% + max(12px, calc((100vw - 1560px) / 2 + 12px)));
}

.homebase-photo::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: -10% auto -10% -70px;
	width: clamp(100px, 36vw, 220px);
	background:
		radial-gradient(ellipse at 0% 50%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.99) 28%, rgba(255, 255, 255, 0.93) 46%, rgba(255, 255, 255, 0.68) 63%, rgba(255, 255, 255, 0.28) 78%, transparent 100%),
		linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.98) 36%, rgba(255, 255, 255, 0.72) 62%, transparent 100%);
	filter: blur(18px);
	transform: scaleY(1.18);
	pointer-events: none;
}

.homebase-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.testing-section {
	padding: 0;
}

.testing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.testing-card {
	position: relative;
	display: grid;
	grid-template-columns: 0.9fr 0.7fr 1.2fr;
	min-height: 410px;
	padding: 48px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	background: radial-gradient(circle at 70% 40%, rgba(30, 64, 96, 0.42), transparent 45%), linear-gradient(135deg, #06111e 0%, #0b1e30 100%);
}

.testing-card:last-child {
	grid-template-columns: 0.85fr 1.35fr;
	border-right: 0;
}

.testing-copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.testing-copy h2 {
	font-size: clamp(36px, 2.7vw, 56px);
}

.testing-copy p {
	margin: 20px 0 26px;
	color: rgba(255, 255, 255, 0.7);
}

.testing-copy .btn {
	align-self: flex-start;
}

.analysis-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	align-self: center;
	overflow: hidden;
	background: radial-gradient(circle at center, rgba(57, 110, 154, 0.3), rgba(6, 17, 30, 0.08) 50%, transparent 20%);
}

.analysis-visual img {
	display: block;
	width: 100%;
	max-width: 250px;
	height: 300px;
	object-fit: contain;
}

.analysis-values {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 22px;
	padding-left: 22px;
}

.analysis-values div {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	padding-bottom: 12px;
	font-size: 12px;
	text-transform: uppercase;
}

.analysis-values i {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: rgba(255, 255, 255, 0.14);
}

.analysis-values i::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: var(--value);
	height: 100%;
	background: var(--color-red);
}

.radar-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
}

.radar-chart {
	width: min(100%, 520px);
	overflow: visible;
}

.radar-grid polygon,
.radar-grid line {
	fill: none;
	stroke: rgba(255, 255, 255, 0.22);
	stroke-width: 1.2;
}

.radar-polygon {
	fill: rgba(225, 20, 29, 0.26);
	stroke: var(--color-red);
	stroke-width: 3;
	filter: drop-shadow(0 0 10px rgba(225, 20, 29, 0.2));
}

.radar-points circle {
	fill: var(--color-red);
	stroke: var(--color-white);
	stroke-width: 2;
	filter: drop-shadow(0 0 6px rgba(225, 20, 29, 0.55));
}

.radar-labels text {
	fill: rgba(255, 255, 255, 0.88);
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
}

.link-panels-section {
	padding: 0;
	background: var(--color-dark);
}

.link-panels-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.link-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 245px;
	overflow: hidden;
	padding: 28px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	color: var(--color-white);
	background: var(--color-dark-soft);
	transition: transform var(--transition);
}

.link-panel::before,
.link-panel::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.link-panel::before {
	z-index: 0;
	background-image: var(--panel-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	transform: scale(1.01);
	transition: transform 0.55s ease;
}

.link-panel::after {
	z-index: 1;
	background: linear-gradient(180deg, rgba(3, 12, 20, 0.12) 0%, rgba(3, 12, 20, 0.48) 42%, rgba(3, 12, 20, 0.94) 100%);
	transition: background var(--transition);
}

.link-panel:hover {
	z-index: 2;
	transform: translateY(-5px);
}

.link-panel:hover::before {
	transform: scale(1.06);
}

.link-panel:hover::after {
	background: linear-gradient(180deg, rgba(225, 20, 29, 0.08) 0%, rgba(115, 5, 13, 0.42) 48%, rgba(3, 12, 20, 0.96) 100%);
}

.link-panel span,
.link-panel small,
.link-panel > i {
	position: relative;
	z-index: 2;
}

.link-panel span {
	font-family: var(--font-display);
	font-size: clamp(22px, 1.65vw, 28px);
	font-weight: 800;
	line-height: 0.95;
	text-transform: uppercase;
	transition: color var(--transition);
}

.link-panel:hover span,
.link-panel:hover > i {
	color: var(--color-red);
}

.link-panel small {
	max-width: 220px;
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.78);
}

.link-panel > i {
	margin-top: 20px;
	font-size: 24px;
	transition: color var(--transition), transform var(--transition);
}

.link-panel:hover > i {
	transform: translateX(6px);
}

.contact-section {
	background: var(--color-white);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-item {
	display: grid;
	grid-template-columns: 68px auto;
	align-items: center;
	padding: 22px 36px;
	border-right: 1px solid var(--color-line);
	transition: color var(--transition), transform var(--transition);
}

.contact-item:last-child {
	border-right: 0;
}

.contact-item:hover {
	color: var(--color-red);
	transform: translateY(-3px);
}

.contact-item > i {
	color: var(--color-red);
	font-size: 42px;
}

.contact-item span {
	display: flex;
	flex-direction: column;
	color: var(--color-text);
}

.contact-item strong {
	font-family: var(--font-display);
	font-size: 18px;
	text-transform: uppercase;
}

.footer {
	padding: 64px 0 24px;
	background: linear-gradient(180deg, #071523 0%, #040c14 100%);
}

.footer-grid {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 170px 190px minmax(260px, 1fr);
	gap: 48px;
	width: 100%;
}

.footer-grid > div:last-child {
	justify-self: end;
	width: 240px;
	min-width: 240px;
}

.footer .brand {
	margin-bottom: 24px;
}

.footer p {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.58);
}

.footer h3 {
	margin-bottom: 18px;
	font-size: 21px;
}

.footer-grid > div:not(.footer-brand) {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.footer-grid a {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.62);
	transition: color var(--transition);
}

.footer-grid a:hover {
	color: var(--color-white);
}

.social-links {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}

.social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
}

.payment-image {
	display: block;
	width: min(100%, 240px);
	height: auto;
	margin-bottom: 4px;
	object-fit: contain;
	object-position: left center;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	margin-top: 54px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 11px;
	color: rgba(255, 255, 255, 0.45);
}

.footer-bottom div {
	display: flex;
	gap: 24px;
}

.footer-bottom a:hover {
	color: var(--color-white);
}

.footer-bottom i {
	color: var(--color-red);
}

.back-to-top {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 4px;
	color: var(--color-white);
	background: var(--color-dark);
	box-shadow: var(--shadow-sm);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}

.back-to-top:hover,
.back-to-top:focus {
	color: var(--color-white);
	background: var(--color-red);
}

.back-to-top.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.reveal-up,
.reveal-scale {
	opacity: 0;
	transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal-up {
	transform: translateY(28px);
}

.reveal-scale {
	transform: scale(0.96);
}

.reveal-up.visible,
.reveal-scale.visible {
	opacity: 1;
	transform: none;
}

@keyframes alumniShine {
	0%, 34% { transform: translateX(-75%); }
	66%, 100% { transform: translateX(75%); }
}

@keyframes placeholderShine {
	0%, 30% { transform: translateX(-70%); }
	70%, 100% { transform: translateX(70%); }
}

@keyframes barPulse {
	0% { opacity: 0.78; transform: scaleX(0.94); transform-origin: left center; }
	100% { opacity: 1; transform: scaleX(1); transform-origin: left center; }
}


@media (min-width: 1200px) and (max-width: 1599px) {
	.hero-container {
		padding-right: clamp(32px, 3vw, 48px);
		padding-left: clamp(32px, 3vw, 48px);
	}
}

@media (max-width: 1399px) {
	.header-actions {
		margin-left: 22px;
	}

	.brand {
		width: 102px;
	}

	.navbar ul {
		gap: 22px;
	}

	.header-actions {
		gap: 9px;
	}

	.header-cta {
		padding-right: 14px;
		padding-left: 14px;
	}

	.slider-prev {
		left: -20px;
	}

	.slider-next {
		right: -20px;
	}

	.testing-card {
		padding: 38px;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hero-container {
		padding-right: clamp(30px, 4vw, 52px);
		padding-left: clamp(30px, 4vw, 52px);
	}
}

@media (max-width: 1199px) {
	.homebase-photo::before {
		display: none;
	}

	.header {
		height: 76px;
	}

	.header.header-scrolled {
		height: 70px;
	}

	.header-inner {
		justify-content: space-between;
		gap: 18px;
	}

	.brand,
	.header-actions {
		position: relative;
		z-index: 1003;
	}

	.brand {
		width: 92px;
		height: 70px;
	}

	.brand img,
	.header.header-scrolled .brand img {
		max-height: 66px;
	}

	.navbar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1002;
		display: none;
		height: 100dvh;
		min-height: 100dvh;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		align-items: center;
		justify-content: center;
		margin-left: 0;
		padding: 110px 24px 40px;
		border: 0;
		border-radius: 0;
		background: rgba(3, 11, 19, 0.985);
		box-shadow: none;
		backdrop-filter: blur(16px);
	}

	.navbar.navbar-mobile {
		display: flex;
	}

	.navbar ul {
		width: min(100%, 420px);
		margin: auto 0;
		flex: 0 0 auto;
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.navbar a,
	.header.header-scrolled .navbar a {
		display: block;
		padding: 13px 20px;
		font-size: clamp(28px, 6vw, 44px);
		text-align: center;
	}

	.navbar a::after {
		display: none;
	}

	.mobile-nav-toggle {
		position: relative;
		z-index: 1004;
		display: flex;
	}

	.hero,
	.hero-container {
		min-height: 760px;
	}

	.hero-copy {
		width: min(610px, 56vw);
	}

	.stats-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.stat-item:nth-child(3)::after,
	.stat-item:last-child::after {
		display: none;
	}

	.stat-item:nth-child(n+4) {
		margin-top: 18px;
	}

	.alumni-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.homebase-grid {
		grid-template-columns: 1fr 1fr;
	}

	.homebase-photo {
		grid-column: 1 / 3;
	}

	.testing-grid {
		grid-template-columns: 1fr;
	}

	.testing-card {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.footer-grid {
		grid-template-columns: minmax(180px, 1fr) 130px 150px minmax(220px, 1fr);
		gap: 28px;
	}

	.footer-grid > div:last-child {
		justify-self: end;
		width: 220px;
		min-width: 220px;
	}
}

@media (max-width: 991px) {
	.header-cta {
		display: none;
	}

	.hero,
	.hero-container {
		min-height: 820px;
	}

	.hero-background {
		background-position: 64% center;
	}

	.hero::before {
		background: linear-gradient(90deg, rgba(2, 9, 16, 0.98) 0%, rgba(2, 9, 16, 0.9) 42%, rgba(2, 9, 16, 0.44) 68%, rgba(2, 9, 16, 0.15) 100%), linear-gradient(180deg, rgba(2, 9, 16, 0.26) 0%, transparent 58%, rgba(2, 9, 16, 0.72) 100%);
	}

	.link-panels-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 48px;
	}

	.footer-grid > div:last-child {
		justify-self: start;
		width: auto;
		min-width: 0;
	}

	.hero-copy {
		width: min(570px, 68vw);
	}

	.recommended-grid {
		grid-template-columns: 1fr;
	}

	.recommended-card {
		min-height: 300px;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-item {
		border-right: 0;
		border-bottom: 1px solid var(--color-line);
	}

	.contact-item:last-child {
		border-bottom: 0;
	}
}

@media (min-width: 500px) and (max-width: 768px) {
	.alumni-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alumni-card {
		min-height: 340px;
	}
}

@media (max-width: 768px) {
	.homebase-map {
		display: none;
	}

	.homebase-photo {
		grid-column: auto;
		width: calc(100% + 24px);
		margin-right: -12px;
		margin-left: -12px;
	}

	.homebase-photo::before {
		width: clamp(130px, 38vw, 260px);
	}
}

@media (max-width: 767px) {
	.section {
		padding: 58px 0;
	}

	.header-actions {
		gap: 7px;
	}

	.language-btn span {
		display: none;
	}

	.language-switcher {
		gap: 8px;
	}

	.language-btn img {
		width: 20px;
		height: 14px;
	}

	.hero,
	.hero-container {
		min-height: 780px;
	}

	.hero-container {
		align-items: flex-end;
		padding-top: 130px;
		padding-bottom: 118px;
	}

	.hero-background {
		background-position: 67% center;
	}

	.hero::before {
		background: linear-gradient(180deg, rgba(2, 9, 16, 0.28) 0%, rgba(2, 9, 16, 0.18) 26%, rgba(2, 9, 16, 0.72) 57%, rgba(2, 9, 16, 0.98) 100%);
	}

	.hero-copy {
		width: 100%;
	}

	.hero h1 {
		font-size: clamp(62px, 20vw, 94px);
	}

	.hero-copy > p {
		font-size: 24px;
	}

	.hero-actions .btn {
		flex: 1 1 170px;
	}

	.hero-scroll {
		bottom: 18px;
	}

	.section-heading {
		align-items: flex-start !important;
		flex-direction: column;
	}


	.camp-card {
		grid-template-columns: 1fr;
		min-height: 340px;
	}

	.camp-card-media {
		min-height: 165px;
	}


	.stats-grid {
		grid-template-columns: 1fr 1fr;
	}

	.stat-item {
		grid-template-columns: 40px auto;
		padding: 18px 14px;
	}

	.stat-item::after {
		display: none;
	}

	.stat-item:nth-child(n+3) {
		margin-top: 0;
	}

	.stat-item strong {
		font-size: 36px;
	}

	.alumni-grid {
		grid-template-columns: 1fr;
	}

	.alumni-card {
		min-height: 210px;
	}

	.homebase-grid {
		grid-template-columns: 1fr;
	}

	.homebase-photo {
		grid-column: auto;
	}

	.homebase-map,
	.homebase-photo {
		min-height: 230px;
	}

	.testing-card,
	.testing-card:last-child {
		grid-template-columns: 1fr;
		padding: 34px 22px;
	}

	.analysis-visual {
		min-height: 240px;
		margin-top: 28px;
	}

	.analysis-values {
		padding: 22px 0 0;
	}

	.radar-wrap {
		margin-top: 28px;
		overflow: hidden;
	}

	.radar-labels text {
		font-size: 13px;
	}

	.link-panel {
		min-height: 200px;
	}

	.footer-bottom {
		align-items: center;
		justify-content: flex-end;
		flex-direction: row;
	}
}

@media (max-width: 575px) {
	.container-fluid {
		padding-left: 18px;
		padding-right: 18px;
	}

	.brand {
		width: 76px;
	}

	.header-icon {
		width: 30px;
	}

	.header-actions {
		gap: 5px;
		margin-left: auto;
	}

	.language-switcher,
	.currency-switcher {
		gap: 3px;
		font-size: 10px;
	}

	.language-btn img {
		width: 20px;
		height: 14px;
	}

	.currency-btn {
		font-size: 10px;
	}


	.hero,
	.hero-container {
		min-height: 740px;
	}

	.hero-container {
		padding-top: 112px;
		padding-bottom: 110px;
	}

	.hero h1 {
		font-size: clamp(58px, 18vw, 82px);
	}

	.link-panels-grid {
		grid-template-columns: 1fr;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand {
		grid-column: auto;
	}

	.footer-bottom div {
		flex-wrap: wrap;
		gap: 12px 20px;
	}
}


@media (min-width: 500px) and (max-width: 768px) {
	.alumni-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alumni-card {
		min-height: 340px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

.link-panel {
	display: grid;
	grid-template-columns: minmax(0, 80%) minmax(44px, 20%);
	grid-template-rows: auto auto;
	align-content: end;
	column-gap: 12px;
	min-height: 300px;
	padding: 30px 28px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.72);
	border-bottom: 1px solid rgba(255, 255, 255, 0.72);
	transform: none;
}

.link-panel::before {
	transform: scale(1.01);
	filter: saturate(0.9) contrast(1.03);
}

.link-panel::after {
	background:
		linear-gradient(110deg, transparent 34%, rgba(255, 255, 255, 0.14) 48%, transparent 62%) -180% 0 / 220% 100% no-repeat,
		linear-gradient(90deg, rgba(3, 12, 20, 0.82) 0%, rgba(3, 12, 20, 0.48) 52%, rgba(3, 12, 20, 0.18) 100%),
		linear-gradient(180deg, rgba(3, 12, 20, 0.18) 0%, rgba(3, 12, 20, 0.3) 44%, rgba(3, 12, 20, 0.9) 100%);
	animation: link-panel-shimmer 6s ease-in-out infinite;
}

.link-panel:hover {
	transform: none;
}

.link-panel:hover::before {
	transform: scale(1.045);
	filter: saturate(1) contrast(1.06);
}

.link-panel:hover::after {
	background:
		linear-gradient(110deg, transparent 34%, rgba(255, 255, 255, 0.18) 48%, transparent 62%) -180% 0 / 220% 100% no-repeat,
		radial-gradient(circle at 18% 22%, rgba(225, 20, 29, 0.2), transparent 38%),
		linear-gradient(90deg, rgba(3, 12, 20, 0.78) 0%, rgba(3, 12, 20, 0.44) 52%, rgba(3, 12, 20, 0.16) 100%),
		linear-gradient(180deg, rgba(3, 12, 20, 0.15) 0%, rgba(3, 12, 20, 0.28) 44%, rgba(3, 12, 20, 0.88) 100%);
}

.link-panel span {
	grid-column: 1;
	grid-row: 1;
	max-width: 100%;
	font-size: clamp(24px, 1.45vw, 30px);
	line-height: 1;
}

.link-panel small {
	grid-column: 1;
	grid-row: 2;
	max-width: 100%;
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
}

.link-panel > i {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: end;
	justify-self: end;
	margin: 0;
	padding: 0 0 2px;
	font-size: 26px;
}

@keyframes link-panel-shimmer {
	0%, 34% {
		background-position: 180% 0, 0 0, 0 0;
	}

	66%, 100% {
		background-position: -180% 0, 0 0, 0 0;
	}
}

@media (max-width: 991px) {
	.link-panel {
		min-height: 260px;
	}
}

@media (max-width: 575px) {
	.link-panel {
		min-height: 245px;
		padding: 26px 24px 22px;
	}
}

@media (max-width: 768px) {
	.testing-section {
		padding-bottom: 0;
	}

	.link-panels-section {
		padding: 0;
	}
}

.subpage-body {
	background: var(--color-white);
}

.subpage-body .header {
	height: 76px;
	border-color: rgba(255, 255, 255, 0.08);
	background: rgba(4, 13, 22, 0.97);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(14px);
}

.subpage-body .header .brand {
	height: 70px;
}

.subpage-body .header .brand img {
	max-height: 64px;
}

.subpage-body .header .navbar a {
	padding-top: 24px;
	padding-bottom: 23px;
}

.subpage-body .header .navbar a::after {
	bottom: 15px;
}

.subpage-hero {
	position: relative;
	overflow: hidden;
	padding: 154px 0 72px;
	color: var(--color-white);
	background:
		radial-gradient(circle at 78% 38%, rgba(225, 20, 29, 0.2), transparent 32%),
		linear-gradient(120deg, #04101c 0%, #0c2032 65%, #071523 100%);
}

.subpage-hero::after {
	content: "";
	position: absolute;
	right: -8%;
	bottom: -55%;
	width: 54%;
	height: 150%;
	background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.06), transparent 66%);
	transform: rotate(-12deg);
	pointer-events: none;
}

.subpage-hero .container-xxl {
	position: relative;
	z-index: 1;
}

.subpage-hero h1 {
	font-size: clamp(54px, 6vw, 92px);
}

.subpage-hero p {
	max-width: 720px;
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.72);
}

.contact-page-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.contact-page-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
	gap: 28px;
	align-items: stretch;
}

.contact-company,
.contact-form-card {
	padding: clamp(30px, 4vw, 54px);
	border-radius: 10px;
}

.contact-company {
	color: var(--color-white);
	background:
		radial-gradient(circle at 88% 12%, rgba(225, 20, 29, 0.26), transparent 34%),
		linear-gradient(145deg, #071523 0%, #0c2032 100%);
}

.contact-company h2,
.contact-form-card h2,
.contact-people-heading h2 {
	font-size: clamp(38px, 3.5vw, 58px);
}

.contact-company-address {
	margin-top: 26px;
	color: rgba(255, 255, 255, 0.72);
}

.contact-company-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: 22px;
	color: rgba(255, 255, 255, 0.72);
}

.contact-company-meta strong {
	color: var(--color-white);
}

.contact-company-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 28px;
}

.contact-company-links a {
	display: flex;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.88);
	transition: color var(--transition), transform var(--transition);
}

.contact-company-links a:hover {
	color: var(--color-white);
	transform: translateX(4px);
}

.contact-company-links i {
	color: var(--color-red);
	font-size: 20px;
}

.contact-bank {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.contact-bank h3 {
	margin-bottom: 18px;
	font-size: 22px;
}

.contact-bank dl {
	display: grid;
	gap: 8px;
	margin: 0;
}

.contact-bank dl div {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 14px;
	font-size: 13px;
}

.contact-bank dt {
	color: rgba(255, 255, 255, 0.55);
}

.contact-bank dd {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	word-break: break-word;
}

.contact-form-card {
	border: 1px solid rgba(7, 21, 35, 0.08);
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
}

.contact-form {
	display: grid;
	gap: 18px;
	margin-top: 30px;
}

.contact-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.contact-form-group {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.contact-form-group label {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text);
}

.contact-form-group label span {
	color: var(--color-red);
}

.contact-form-group input,
.contact-form-group textarea {
	width: 100%;
	border: 1px solid var(--color-line);
	border-radius: 4px;
	outline: 0;
	background: #fbfcfd;
	font: inherit;
	color: var(--color-text);
	transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.contact-form-group input {
	height: 50px;
	padding: 0 15px;
}

.contact-form-group textarea {
	min-height: 190px;
	padding: 13px 15px;
	resize: vertical;
}

.contact-form-group input:focus,
.contact-form-group textarea:focus {
	border-color: rgba(225, 20, 29, 0.6);
	background: var(--color-white);
	box-shadow: 0 0 0 4px rgba(225, 20, 29, 0.08);
}

.contact-form .btn {
	justify-self: start;
	margin-top: 4px;
}

.contact-people-section {
	background:
		radial-gradient(circle at 50% 0%, rgba(30, 64, 96, 0.34), transparent 42%),
		linear-gradient(180deg, #071523 0%, #06111e 100%);
}

.contact-people-inner {
	width: 100%;
	padding-inline: 30px;
}

.contact-people-heading {
	text-align: center;
}

.contact-people-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.contact-person-card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	min-height: 230px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.contact-person-card:hover {
	transform: translateY(-4px);
	border-color: rgba(225, 20, 29, 0.36);
	background: rgba(255, 255, 255, 0.055);
}

.contact-person-photo {
	position: relative;
	overflow: hidden;
	background: #e8ecf0;
}

.contact-person-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 72%, rgba(7, 21, 35, 0.34) 100%);
	pointer-events: none;
}

.contact-person-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.5s ease;
}

.contact-person-card:hover .contact-person-photo img {
	transform: scale(1.035);
}

.contact-person-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px;
}

.contact-person-content > span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--color-red);
	text-transform: uppercase;
}

.contact-person-content > span small {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0;
	color: rgba(255, 255, 255, 0.55);
	text-transform: none;
}

.contact-person-content h3 {
	margin: 12px 0 18px;
	font-size: 29px;
}

.contact-person-content a {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
	transition: color var(--transition);
}

.contact-person-content a + a {
	margin-top: 5px;
}

.contact-person-content a:hover {
	color: var(--color-white);
}

@media (max-width: 1640px) {
	.contact-people-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1199px) {
	.contact-page-grid {
		grid-template-columns: 1fr;
	}

	.contact-person-card {
		grid-template-columns: 170px minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.contact-people-inner {
		padding-inline: 20px;
	}

	.contact-people-grid {
		grid-template-columns: 1fr;
	}

	.subpage-hero {
		padding: 126px 0 54px;
	}

	.contact-company,
	.contact-form-card {
		padding: 28px 22px;
	}

	.contact-form-row {
		grid-template-columns: 1fr;
	}

	.contact-bank dl div {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.contact-person-card {
		grid-template-columns: 118px minmax(0, 1fr);
		min-height: 210px;
	}

	.contact-person-content {
		padding: 20px 16px;
	}

	.contact-person-content h3 {
		font-size: 24px;
	}
}

@media (max-width: 499px) {
	.contact-person-card {
		grid-template-columns: 1fr;
	}

	.contact-person-photo {
		min-height: 280px;
	}

	.contact-person-photo::after {
		background: linear-gradient(180deg, transparent 72%, rgba(7, 21, 35, 0.5) 100%);
	}
}

.simple-page-section,
.faq-page-section,
.text-page-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.page-status-card {
	max-width: 820px;
	margin: 0 auto;
	padding: clamp(42px, 6vw, 76px);
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
	text-align: center;
}

.page-status-card > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin-bottom: 24px;
	border-radius: 50%;
	color: var(--color-red);
	background: rgba(225, 20, 29, 0.08);
	font-size: 34px;
}

.page-status-card h2 {
	font-size: clamp(42px, 5vw, 68px);
}

.page-status-card p {
	max-width: 580px;
	margin: 22px auto 30px;
	color: var(--color-muted);
}

.faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.4fr);
	gap: clamp(34px, 5vw, 80px);
	align-items: start;
}

.faq-intro {
	position: sticky;
	top: 110px;
}

.faq-intro h2 {
	font-size: clamp(42px, 4vw, 64px);
}

.faq-intro p {
	margin: 24px 0 30px;
	color: var(--color-muted);
}

.faq-accordion {
	display: grid;
	gap: 12px;
}

.faq-accordion .accordion-item {
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.09);
	border-radius: 7px;
	background: var(--color-white);
	box-shadow: 0 8px 24px rgba(7, 21, 35, 0.05);
}

.faq-accordion .accordion-button {
	padding: 22px 24px;
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: 700;
	color: var(--color-dark);
	background: var(--color-white);
	box-shadow: none;
	text-transform: uppercase;
}

.faq-accordion .accordion-button:not(.collapsed) {
	color: var(--color-white);
	background: var(--color-dark);
}

.faq-accordion .accordion-button:not(.collapsed)::after {
	filter: brightness(0) invert(1);
}

.faq-accordion .accordion-button:focus {
	border-color: transparent;
	box-shadow: none;
}

.faq-accordion .accordion-body {
	padding: 22px 24px 26px;
	color: var(--color-muted);
}

.text-page-card {
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(34px, 5vw, 72px);
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
}

.text-page-card h2 {
	margin-bottom: 24px;
	font-size: clamp(38px, 4vw, 58px);
}

.text-page-card h3 {
	margin: 42px 0 18px;
	font-size: clamp(28px, 3vw, 38px);
}

.text-page-card p {
	font-size: 16px;
	line-height: 1.85;
	color: #4f5c6c;
}

.text-page-card p + p {
	margin-top: 20px;
}

.legal-page-card h2 {
	margin: 38px 0 14px;
	font-size: clamp(28px, 3vw, 38px);
}

.legal-page-card h2:first-of-type {
	margin-top: 0;
}

.legal-notice {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	margin-bottom: 42px;
	padding: 20px 22px;
	border-left: 3px solid var(--color-red);
	background: rgba(225, 20, 29, 0.055);
}

.legal-notice i {
	color: var(--color-red);
	font-size: 22px;
}

.legal-notice p {
	font-size: 13px;
	line-height: 1.65;
}

@media (max-width: 991px) {
	.faq-layout {
		grid-template-columns: 1fr;
	}

	.faq-intro {
		position: static;
	}
}

@media (max-width: 575px) {
	.page-status-card,
	.text-page-card {
		padding: 30px 22px;
	}

	.faq-accordion .accordion-button {
		padding: 19px 18px;
		font-size: 19px;
	}

	.faq-accordion .accordion-body {
		padding: 18px;
	}
}

.camps-listing-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.camps-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 42px;
	padding: 8px;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 7px;
	background: var(--color-white);
	box-shadow: 0 10px 30px rgba(7, 21, 35, 0.05);
}

.camps-filter-btn {
	min-height: 46px;
	padding: 10px 20px;
	border: 0;
	border-radius: 3px;
	color: var(--color-dark);
	background: transparent;
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	transition: color var(--transition), background var(--transition), box-shadow var(--transition);
}

.camps-filter-btn:hover,
.camps-filter-btn.active {
	color: var(--color-white);
	background: var(--color-red);
	box-shadow: 0 10px 24px rgba(225, 20, 29, 0.2);
}

.camps-list-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.camps-list-item {
	min-width: 0;
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.camps-list-item.is-filtering-out {
	opacity: 0;
	transform: scale(0.97);
}

.camps-list-item[hidden] {
	display: none;
}

.camps-list-grid .camp-card {
	min-height: 220px;
}

.camps-list-grid .camp-card h3 {
	font-size: clamp(27px, 2.2vw, 36px);
}

.camps-filter-empty {
	display: none;
	margin-top: 28px;
	padding: 28px;
	border: 1px dashed rgba(7, 21, 35, 0.16);
	border-radius: 7px;
	color: var(--color-muted);
	background: var(--color-white);
	text-align: center;
}

.camps-filter-empty.visible {
	display: block;
}

@media (max-width: 991px) {
	.camps-list-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.camps-filter {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.camps-filter-btn {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 15px;
	}

	.camps-list-grid .camp-card {
		min-height: 360px;
	}
}

.camp-detail-section {
	padding: 126px 0 76px;
	background: linear-gradient(180deg, #ffffff 0%, #f4f6f8 100%);
}

.camp-breadcrumb {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 28px;
	font-size: 12px;
	font-weight: 600;
	color: var(--color-muted);
}

.camp-breadcrumb a:hover {
	color: var(--color-red);
}

.camp-breadcrumb i {
	font-size: 10px;
}

.camp-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.08fr) minmax(300px, 0.72fr);
	gap: 36px;
	align-items: start;
}

.camp-gallery-main {
	position: relative;
	aspect-ratio: 1 / 1.02;
	overflow: hidden;
	border-radius: 10px;
	background: #dfe4ea;
	box-shadow: var(--shadow-sm);
}

.camp-gallery-main img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.22s ease, transform 0.5s ease;
}

.camp-gallery-main:hover img {
	transform: scale(1.025);
}

.camp-detail-badge {
	position: absolute;
	z-index: 2;
	top: 18px;
	left: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	border-radius: 4px;
	color: var(--color-dark);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 28px rgba(7, 21, 35, 0.14);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

.camp-detail-badge i {
	color: var(--color-red);
}

.camp-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.camp-gallery-thumb {
	aspect-ratio: 1.25 / 1;
	overflow: hidden;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 6px;
	background: #dfe4ea;
	opacity: 0.7;
	transition: border-color var(--transition), opacity var(--transition), transform var(--transition);
}

.camp-gallery-thumb:hover,
.camp-gallery-thumb.active {
	border-color: var(--color-red);
	opacity: 1;
	transform: translateY(-2px);
}

.camp-gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.camp-detail-content {
	padding-top: 8px;
}

.camp-detail-content h1 {
	font-size: clamp(50px, 4.2vw, 76px);
	letter-spacing: -0.025em;
}

.camp-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-top: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--color-line);
	font-size: 13px;
	font-weight: 600;
	color: #4f5c6c;
}

.camp-detail-meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.camp-detail-meta i {
	color: var(--color-red);
	font-size: 17px;
}

.camp-detail-lead {
	margin-top: 24px;
	font-size: 17px;
	line-height: 1.75;
	color: #465466;
}

.camp-detail-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 26px;
}

.camp-detail-facts > div {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	padding: 16px;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.72);
}

.camp-detail-facts i {
	grid-row: 1 / 3;
	align-self: center;
	color: var(--color-red);
	font-size: 25px;
}

.camp-detail-facts strong {
	font-family: var(--font-display);
	font-size: 18px;
	text-transform: uppercase;
}

.camp-detail-facts span {
	font-size: 10px;
	color: var(--color-muted);
}

.camp-skills {
	margin-top: 32px;
}

.camp-skills-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 16px;
}

.camp-skills-heading span {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
}

.camp-skills-heading small {
	font-size: 10px;
	color: var(--color-muted);
}

.camp-skills-grid {
	display: grid;
	gap: 10px;
}

.camp-skill {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr) 42px;
	align-items: center;
	gap: 12px;
}

.camp-skill img {
	display: block;
	width: 24px;
	height: 24px;
	margin-top: 4px;
	object-fit: contain;
	filter: brightness(0) saturate(100%) invert(14%) sepia(19%) saturate(1521%) hue-rotate(165deg) brightness(90%) contrast(95%);
}

.camp-skill > div {
	display: grid;
	gap: 6px;
}

.camp-skill span,
.camp-skill strong {
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.camp-skill i {
	position: relative;
	display: block;
	height: 3px;
	background: #dfe4ea;
}

.camp-skill i::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--skill);
	background: var(--color-red);
}

.camp-skill strong {
	text-align: right;
}

.camp-order-card {
	position: sticky;
	top: 98px;
	padding: 30px;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-lg);
}

.camp-order-label,
.camp-order-card > label {
	display: block;
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.camp-order-price {
	margin-top: 8px;
	font-family: var(--font-display);
	font-size: 52px;
	font-weight: 800;
	line-height: 1;
}

.camp-order-card > small {
	color: var(--color-muted);
}

.camp-order-capacity {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 24px 0;
	padding: 15px 0;
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
	font-size: 11px;
}

.camp-order-capacity span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.camp-order-capacity i {
	color: #22a55b;
	font-size: 8px;
}

.camp-order-capacity strong {
	color: var(--color-red);
}

.camp-order-card > label {
	margin-bottom: 9px;
}

.camp-quantity {
	display: grid;
	grid-template-columns: 48px 1fr 48px;
	height: 48px;
	margin-bottom: 14px;
	border: 1px solid var(--color-line);
	border-radius: 4px;
	overflow: hidden;
}

.camp-quantity button,
.camp-quantity input {
	border: 0;
	background: #f5f6f8;
	text-align: center;
}

.camp-quantity button {
	font-size: 17px;
	transition: color var(--transition), background var(--transition);
}

.camp-quantity button:hover {
	color: var(--color-white);
	background: var(--color-red);
}

.camp-quantity input {
	border-right: 1px solid var(--color-line);
	border-left: 1px solid var(--color-line);
	background: var(--color-white);
	font-weight: 700;
	-moz-appearance: textfield;
}

.camp-quantity input::-webkit-outer-spin-button,
.camp-quantity input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.camp-order-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
}

.camp-order-benefits {
	display: grid;
	gap: 16px;
	margin-top: 26px;
}

.camp-order-benefits > div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
}

.camp-order-benefits i {
	grid-row: 1 / 3;
	color: var(--color-red);
	font-size: 22px;
}

.camp-order-benefits span {
	display: grid;
}

.camp-order-benefits strong {
	font-size: 12px;
}

.camp-order-benefits small {
	font-size: 10px;
	color: var(--color-muted);
}

.camp-included-section {
	background: var(--color-white);
}

.camp-included-grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 24px;
}

.camp-included-card,
.camp-coach-card {
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: #f7f8fa;
}

.camp-included-card {
	padding: 34px;
}

.camp-included-card h2,
.camp-coach-card h2,
.camp-program-copy h2,
.camp-info-grid h2 {
	font-size: clamp(36px, 3vw, 52px);
}

.camp-included-items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 34px;
}

.camp-included-items div {
	padding: 4px 18px;
	border-right: 1px solid var(--color-line);
	text-align: center;
}

.camp-included-items div:last-child {
	border-right: 0;
}

.camp-included-items strong {
	display: block;
	font-family: var(--font-display);
	font-size: 45px;
	line-height: 1;
}

.camp-included-items span {
	display: block;
	margin-top: 8px;
	font-size: 11px;
	color: var(--color-muted);
}

.camp-coach-card {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: center;
	overflow: hidden;
	padding-right: 36px;
}

.camp-coach-photo {
	height: 100%;
	min-height: 260px;
	overflow: hidden;
}

.camp-coach-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.camp-coach-card > div:last-child {
	padding: 28px 0 28px 30px;
}

.camp-coach-card p {
	margin-top: 18px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--color-muted);
}

.camp-program-section {
	padding: 84px 0;
	background: radial-gradient(circle at 72% 42%, rgba(27, 67, 101, 0.32), transparent 38%), linear-gradient(135deg, #06111e 0%, #0b1e30 100%);
}

.camp-program-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	align-items: center;
	gap: 70px;
}

.camp-program-copy > p {
	max-width: 650px;
	margin-top: 22px;
	color: rgba(255, 255, 255, 0.68);
}

.camp-program-days {
	display: grid;
	gap: 12px;
	margin-top: 32px;
}

.camp-program-days > div {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.camp-program-days > div:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.camp-program-days span {
	grid-row: 1 / 3;
	color: var(--color-red);
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 800;
}

.camp-program-days strong {
	font-family: var(--font-display);
	font-size: 19px;
	text-transform: uppercase;
}

.camp-program-days small {
	color: rgba(255, 255, 255, 0.56);
}

.camp-video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	background: #02070c;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.32);
}

.camp-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.camp-info-section {
	background: linear-gradient(180deg, #ffffff 0%, #f4f6f8 100%);
}

.camp-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 64px;
}

.camp-info-grid > div:first-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.camp-info-grid > div:first-child p {
	margin-top: 24px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--color-muted);
}

.camp-coach-inline {
	position: relative;
	display: grid;
	align-self: start;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: stretch;
	min-height: 260px;
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 12px;
	background:
		radial-gradient(ellipse at 100% 0%, rgba(7, 21, 35, 0.075) 0%, rgba(7, 21, 35, 0.025) 36%, transparent 68%),
		linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, #eef2f6 100%);
	box-shadow: 0 18px 42px rgba(7, 21, 35, 0.1);
	isolation: isolate;
}

.camp-coach-inline::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	width: 4px;
	height: 100%;
	background: var(--color-primary);
}

.camp-coach-inline::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 58%;
	height: 100%;
	background: linear-gradient(125deg, transparent 12%, rgba(255, 255, 255, 0.18) 48%, rgba(7, 21, 35, 0.045) 100%);
	pointer-events: none;
}

.camp-coach-media {
	position: relative;
	min-height: 224px;
	margin: 18px 0 18px 18px;
	overflow: hidden;
	border-radius: 8px;
	background: #e9edf1;
	box-shadow: 0 10px 24px rgba(7, 21, 35, 0.12);
}

.camp-coach-media::after {
	display: none;
}

.camp-coach-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 224px;
	object-fit: cover;
	object-position: center top;
	filter: saturate(0.96) contrast(1.03);
	transform: scale(1.01);
	transition: transform 0.6s ease;
}

.camp-coach-inline:hover .camp-coach-media img {
	transform: scale(1.035);
}

.camp-coach-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px 40px 32px;
}

.camp-coach-content .section-kicker {
	color: var(--color-primary);
}

.camp-coach-inline h3 {
	margin-top: 8px;
	font-size: clamp(34px, 2.7vw, 46px);
	color: var(--color-dark);
}

.camp-coach-role {
	margin-top: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.camp-coach-inline p {
	max-width: 620px;
	margin-top: 20px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.75;
	color: #536171;
}

.camp-coach-quote {
	position: absolute;
	top: 22px;
	right: 26px;
	font-size: 54px;
	line-height: 1;
	color: rgba(237, 28, 36, 0.1);
}

.camp-overview-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.09);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
}

.camp-overview-stats > div {
	display: flex;
	min-height: 132px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 18px;
	text-align: center;
}

.camp-overview-stats > div:nth-child(odd) {
	border-right: 1px solid var(--color-line);
}

.camp-overview-stats > div:nth-child(-n+2) {
	border-bottom: 1px solid var(--color-line);
}

.camp-overview-stats strong {
	font-family: var(--font-display);
	font-size: 46px;
	font-weight: 800;
	line-height: 1;
	color: var(--color-dark);
}

.camp-overview-stats span {
	margin-top: 8px;
	font-size: 11px;
	color: var(--color-muted);
}

.camp-info-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.camp-info-list > div {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	padding: 20px;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 6px;
	background: var(--color-white);
}

.camp-info-list i {
	color: var(--color-red);
	font-size: 25px;
}

.camp-info-list span {
	display: grid;
	font-size: 12px;
	color: var(--color-muted);
}

.camp-info-list strong {
	font-family: var(--font-display);
	font-size: 16px;
	color: var(--color-dark);
	text-transform: uppercase;
}

@media (max-width: 1399px) {
	.camp-detail-grid {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) 300px;
		gap: 24px;
	}

	.camp-order-card {
		padding: 24px;
	}

	.camp-order-price {
		font-size: 44px;
	}
}

@media (max-width: 1199px) {
	.camp-detail-grid {
		grid-template-columns: 0.9fr 1.1fr;
	}

	.camp-order-card {
		position: static;
		grid-column: 1 / 3;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 32px;
	}

	.camp-order-card .camp-order-button,
	.camp-order-card .camp-order-benefits {
		grid-column: 2;
	}

	.camp-order-card .camp-order-benefits {
		grid-row: 1 / 7;
		margin-top: 0;
	}

	.camp-order-card > *:not(.camp-order-benefits):not(.camp-order-button) {
		grid-column: 1;
	}

	.camp-order-card .camp-order-button {
		grid-row: 6;
	}

	.camp-included-grid,
	.camp-program-grid,
	.camp-info-grid {
		grid-template-columns: 1fr;
	}

	.camp-program-grid {
		gap: 42px;
	}
}

@media (max-width: 767px) {
	.camp-detail-section {
		padding: 108px 0 56px;
	}

	.camp-detail-grid {
		grid-template-columns: 1fr;
	}

	.camp-gallery-main {
		aspect-ratio: 1.2 / 1;
	}

	.camp-detail-content h1 {
		font-size: 54px;
	}

	.camp-detail-facts {
		grid-template-columns: 1fr 1fr;
	}

	.camp-order-card {
		grid-column: auto;
		display: block;
	}

	.camp-order-card .camp-order-benefits {
		margin-top: 26px;
	}

	.camp-included-items {
		grid-template-columns: 1fr 1fr;
		gap: 24px 0;
	}

	.camp-included-items div:nth-child(2) {
		border-right: 0;
	}

	.camp-coach-card {
		grid-template-columns: 130px minmax(0, 1fr);
		padding-right: 18px;
	}

	.camp-coach-photo {
		min-height: 300px;
	}

	.camp-coach-card > div:last-child {
		padding-left: 18px;
	}

	.camp-program-section {
		padding: 58px 0;
	}

	.camp-info-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.camp-detail-facts {
		grid-template-columns: 1fr;
	}

	.camp-skills-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.camp-coach-card {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.camp-coach-photo {
		min-height: 240px;
	}

	.camp-coach-card > div:last-child {
		padding: 26px 22px;
	}
}

.camp-detail-meta,
.camp-detail-facts,
.camp-included-section {
	display: none;
}

.camp-product-data {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	margin-top: 22px;
	padding: 14px 16px;
	border-left: 3px solid var(--color-red);
	background: rgba(7, 21, 35, 0.045);
}

.camp-product-data > div {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.camp-product-data span {
	font-size: 11px;
	font-weight: 700;
	color: var(--color-muted);
}

.camp-product-data strong {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-dark);
}

.camp-key-info {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 24px;
}

.camp-key-info > div {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	padding: 15px 16px;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 6px;
	background: #f7f8fa;
}

.camp-key-info i {
	color: var(--color-red);
	font-size: 21px;
}

.camp-key-info span {
	display: grid;
	font-size: 11px;
	color: var(--color-muted);
}

.camp-key-info strong {
	font-family: var(--font-display);
	font-size: 15px;
	color: var(--color-dark);
	text-transform: uppercase;
}


.camp-skill img {
	filter: none;
	opacity: 0;
	transform: translateX(-14px) scale(0.68) rotate(-9deg);
	transform-origin: center;
}

.camp-skill i::after {
	width: 0;
	transition: width 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.camp-skill.skill-active img {
	animation: campSkillIconIn 0.78s cubic-bezier(0.16, 1.2, 0.3, 1) both;
}

.camp-skill.skill-active i::after {
	width: var(--skill-target, 0%);
}

@keyframes campSkillIconIn {
	0% {
		opacity: 0;
		transform: translateX(-14px) scale(0.68) rotate(-9deg);
	}
	65% {
		opacity: 1;
		transform: translateX(2px) scale(1.08) rotate(2deg);
	}
	100% {
		opacity: 1;
		transform: none;
	}
}

.camp-order-benefits > a,
.camp-order-benefits > div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	color: inherit;
}

.camp-order-benefits > a:hover strong {
	color: var(--color-red);
}

.camp-benefits-section {
	padding: 78px 0;
	background:
		radial-gradient(circle at 78% 34%, rgba(31, 77, 116, 0.38), transparent 36%),
		linear-gradient(135deg, #06111e 0%, #0b1e30 100%);
}

.camp-benefits-header {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 54px;
}

.camp-benefits-copy h2 {
	max-width: 620px;
	margin-top: 8px;
	font-size: clamp(42px, 4.4vw, 72px);
	color: var(--color-white);
}

.camp-benefits-copy p {
	max-width: 660px;
	margin-top: 24px;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(255, 255, 255, 0.68);
}

.camp-benefits-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.035);
}

.camp-benefits-highlights > div {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-height: 122px;
	padding: 22px 18px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.camp-benefits-highlights > div:nth-child(3n) {
	border-right: 0;
}

.camp-benefits-highlights > div:nth-last-child(-n+3) {
	border-bottom: 0;
}

.camp-benefits-highlights i {
	color: var(--color-red);
	font-size: 28px;
}

.camp-benefit-age-icon {
	display: flex !important;
	align-items: flex-end;
	justify-content: center;
	gap: 0;
	width: 40px;
}

.camp-benefit-age-icon i {
	display: block;
	line-height: 1;
}

.camp-benefit-age-icon i:first-child {
	font-size: 19px;
}

.camp-benefit-age-icon i:last-child {
	margin-left: -4px;
	font-size: 30px;
}

.camp-benefits-highlights span {
	display: grid;
}

.camp-benefits-highlights strong {
	font-family: var(--font-display);
	font-size: 21px;
	line-height: 1.05;
	color: var(--color-white);
	text-transform: uppercase;
}

.camp-benefits-highlights small {
	margin-top: 7px;
	font-size: 10px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.58);
	text-transform: uppercase;
}

.camp-story-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.camp-story-row {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 64px;
	padding: 54px 0;
	border-top: 1px solid var(--color-line);
}

.camp-story-section .camp-story-row:first-child {
	padding-top: 0;
	border-top: 0;
}

.camp-story-row-reverse .camp-story-copy {
	order: 2;
}

.camp-story-row-reverse .camp-video,
.camp-story-row-reverse .camp-story-media {
	order: 1;
}

.camp-story-copy h3 {
	font-size: clamp(32px, 3vw, 48px);
}

.camp-story-copy p {
	margin-top: 18px;
	font-size: 15px;
	line-height: 1.85;
	color: var(--color-muted);
}

.camp-story-media {
	position: relative;
	min-height: 390px;
	overflow: hidden;
	border-radius: 10px;
	background: #dfe4ea;
	box-shadow: var(--shadow-lg);
}

.camp-story-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 56%, rgba(3, 12, 20, 0.24) 100%);
	pointer-events: none;
}

.camp-story-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 390px;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.camp-story-row:hover .camp-story-media img {
	transform: scale(1.025);
}

.camp-story-row .camp-video {
	border-color: rgba(7, 21, 35, 0.1);
	box-shadow: var(--shadow-lg);
}

.legal-content .legal-note {
	margin-top: 32px;
	font-size: 11px;
	color: var(--color-muted);
}

@media (max-width: 1199px) {
	.camp-benefits-header {
		grid-template-columns: 1fr;
	}


	.camp-story-row {
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.camp-key-info,
	.camp-info-grid,
	.camp-story-row {
		grid-template-columns: 1fr;
	}

	.camp-product-data {
		flex-direction: column;
		gap: 5px;
	}

	.camp-info-grid {
		gap: 42px;
	}

	.camp-overview-stats > div {
		min-height: 112px;
	}

	.camp-benefits-section {
		padding: 58px 0;
	}

	.camp-benefits-header {
		gap: 38px;
	}

	.camp-coach-inline {
		grid-template-columns: 170px minmax(0, 1fr);
		min-height: 244px;
	}

	.camp-coach-media,
	.camp-coach-media img {
		min-height: 208px;
	}

	.camp-coach-content {
		padding: 28px 26px;
	}

	.camp-coach-inline h3 {
		font-size: 36px;
	}

	.camp-benefits-highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.camp-benefits-highlights > div {
		min-height: 112px;
		padding: 20px;
		border-right: 1px solid rgba(255, 255, 255, 0.12);
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.camp-benefits-highlights > div:nth-child(3n) {
		border-right: 1px solid rgba(255, 255, 255, 0.12);
	}

	.camp-benefits-highlights > div:nth-child(2n) {
		border-right: 0;
	}

	.camp-benefits-highlights > div:nth-last-child(-n+3) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.camp-benefits-highlights > div:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	.camp-story-row {
		gap: 28px;
		padding: 42px 0;
	}

	.camp-story-row-reverse .camp-story-copy,
	.camp-story-row-reverse .camp-video,
	.camp-story-row-reverse .camp-story-media {
		order: initial;
	}

	.camp-story-media,
	.camp-story-media img {
		min-height: 280px;
	}
}

@media (max-width: 575px) {
	.camp-overview-stats > div {
		min-height: 104px;
		padding: 20px 12px;
	}

	.camp-overview-stats strong {
		font-size: 40px;
	}

	.camp-coach-inline {
		grid-template-columns: 1fr;
	}

	.camp-coach-media {
		height: 230px;
		min-height: 230px;
		margin: 18px 18px 0;
	}

	.camp-coach-media img {
		height: 230px;
		min-height: 230px;
	}

	.camp-coach-content {
		padding: 30px 24px 32px;
	}

	.camp-coach-inline h3 {
		font-size: 36px;
	}

	.camp-coach-inline p {
		margin-top: 18px;
	}

	.camp-benefits-highlights {
		grid-template-columns: 1fr;
	}

	.camp-benefits-highlights > div {
		grid-template-columns: 34px minmax(0, 1fr);
		min-height: 96px;
		gap: 10px;
		padding: 18px 16px;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
	}

	.camp-benefits-highlights > div:last-child {
		border-bottom: 0 !important;
	}

	.camp-benefits-highlights i {
		font-size: 24px;
	}

	.camp-benefits-highlights strong {
		font-size: 20px;
	}
}

.checkout-hero {
	position: relative;
	overflow: hidden;
	padding: 142px 0 96px;
	color: var(--color-white);
	background:
		radial-gradient(circle at 82% 34%, rgba(225, 20, 29, 0.22), transparent 30%),
		linear-gradient(118deg, #04101c 0%, #0d2236 66%, #071523 100%);
}

.checkout-hero::after {
	content: "";
	position: absolute;
	right: -4%;
	bottom: -90%;
	width: 46%;
	height: 190%;
	background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.07), transparent 64%);
	transform: rotate(-12deg);
	pointer-events: none;
}

.checkout-hero .container-xxl {
	position: relative;
	z-index: 1;
}

.checkout-hero h1 {
	font-size: clamp(50px, 5vw, 82px);
}

.checkout-hero p {
	max-width: 760px;
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.7);
}

.checkout-progress-section {
	position: relative;
	z-index: 5;
	margin-top: -48px;
	background: linear-gradient(180deg, transparent 0, transparent 48px, #f5f6f8 48px, #f5f6f8 100%);
}

.checkout-progress {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-lg);
}

.checkout-progress::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 8%;
	right: 8%;
	height: 1px;
	background: var(--color-line);
	transform: translateY(-50%);
	pointer-events: none;
}

.checkout-progress-step {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 96px;
	padding: 18px 22px;
	background: var(--color-white);
	transition: background var(--transition), color var(--transition);
}

.checkout-progress-step:hover {
	background: #fafbfc;
}

.checkout-progress-step + .checkout-progress-step {
	border-left: 1px solid var(--color-line);
}

.checkout-progress-number {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border: 1px solid var(--color-line);
	border-radius: 50%;
	color: var(--color-muted);
	background: var(--color-white);
	transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.checkout-progress-number i {
	font-size: 17px;
}

.checkout-progress-number em {
	display: none !important;
	position: absolute;
	top: -7px;
	right: -4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	border: 2px solid var(--color-white);
	border-radius: 50%;
	font-family: var(--font-body);
	font-size: 9px;
	font-style: normal;
	font-weight: 700;
	color: var(--color-muted);
	background: #eef1f4;
}

.checkout-progress-copy {
	display: grid;
	min-width: 0;
}

.checkout-progress-copy small {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #9aa3ae;
	text-transform: uppercase;
}

.checkout-progress-mobile-label {
	display: none;
}

.checkout-progress-copy strong {
	margin-top: 2px;
	font-family: var(--font-display);
	font-size: 17px;
	line-height: 1.1;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-progress-step.completed .checkout-progress-number,
.checkout-progress-step.active .checkout-progress-number {
	border-color: var(--color-red);
	color: var(--color-white);
	background: var(--color-red);
}

.checkout-progress-step.completed .checkout-progress-number em,
.checkout-progress-step.active .checkout-progress-number em {
	color: var(--color-white);
	background: var(--color-dark);
}

.checkout-progress-step.completed .checkout-progress-copy small,
.checkout-progress-step.active .checkout-progress-copy small {
	color: var(--color-red);
}

.checkout-progress-step.disabled {
	pointer-events: none;
	cursor: default;
	background: #f5f6f8;
}

.checkout-progress-step.disabled .checkout-progress-number {
	border-color: #d9dee4;
	color: #aab2bc;
	background: #eef1f4;
}

.checkout-progress-step.disabled .checkout-progress-number em {
	color: #9aa3ae;
	background: #e2e6ea;
}

.checkout-progress-step.disabled .checkout-progress-copy small,
.checkout-progress-step.disabled .checkout-progress-copy strong {
	color: #aab2bc;
}

.checkout-progress-step.active {
	background: linear-gradient(180deg, #ffffff 0%, #fff7f8 100%);
}

.checkout-progress-step.active::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 0;
	height: 3px;
	background: var(--color-red);
}

.checkout-section {
	padding: 66px 0 90px;
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	align-items: start;
	gap: 30px;
}

.checkout-layout-information {
	margin-top: 30px;
}

.checkout-main {
	display: grid;
	gap: 24px;
	min-width: 0;
}

.checkout-panel,
.checkout-form,
.checkout-summary-card,
.checkout-login-panel,
.checkout-review-card,
.checkout-complete-card,
.checkout-complete-overview {
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: var(--shadow-sm);
}

.checkout-panel {
	padding: clamp(24px, 3vw, 38px);
}

.checkout-payment-form {
	display: grid;
	gap: 24px;
}

.checkout-panel-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.checkout-panel-heading h2,
.checkout-summary-card h2,
.checkout-form-heading h2,
.checkout-login-copy h2,
.checkout-complete-card h2 {
	font-size: clamp(34px, 3vw, 48px);
}

.checkout-panel-count {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 13px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	color: var(--color-dark);
	background: #f1f3f5;
}

.checkout-panel-count strong {
	font-size: 14px;
	color: var(--color-red);
}

.checkout-camp-item {
	position: relative;
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid var(--color-line);
	border-radius: 8px;
	background: #fff;
}

.checkout-camp-media {
	position: relative;
	min-height: 250px;
	overflow: hidden;
	background: #dce2e8;
}

.checkout-camp-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(3, 12, 20, 0.24) 100%);
}

.checkout-camp-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 250px;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.checkout-camp-media:hover img {
	transform: scale(1.03);
}

.checkout-camp-content {
	padding: 26px 28px 24px;
}

.checkout-camp-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.checkout-item-kicker {
	display: block;
	margin-bottom: 5px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--color-red);
	text-transform: uppercase;
}

.checkout-camp-heading h3 {
	font-size: clamp(28px, 2.5vw, 39px);
}

.checkout-camp-heading h3 a:hover {
	color: var(--color-red);
}

.checkout-availability {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	font-size: 10px;
	font-weight: 700;
	color: #0f8e52;
	text-transform: uppercase;
}

.checkout-availability i {
	font-size: 8px;
}

.checkout-camp-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-line);
}

.checkout-camp-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 11px;
	color: var(--color-muted);
}

.checkout-camp-meta i {
	font-size: 14px;
	color: var(--color-red);
}

.checkout-camp-meta strong {
	font-weight: 600;
	color: var(--color-dark);
}

.checkout-camp-bottom {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 28px;
	margin-top: 22px;
}

.checkout-unit-price,
.checkout-item-count,
.checkout-line-total {
	display: grid;
}

.checkout-unit-price small,
.checkout-item-count small,
.checkout-line-total small {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #929ba6;
	text-transform: uppercase;
}

.checkout-unit-price strong,
.checkout-item-count strong,
.checkout-line-total strong {
	margin-top: 4px;
	font-family: var(--font-display);
	font-size: 23px;
	line-height: 1;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-line-total {
	text-align: right;
}

.checkout-line-total strong {
	font-size: 29px;
	color: var(--color-red);
}

.checkout-quantity-wrap label {
	display: block;
	margin-bottom: 6px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #929ba6;
	text-align: center;
	text-transform: uppercase;
}

.checkout-quantity {
	display: grid;
	grid-template-columns: 36px 46px 36px;
	height: 38px;
	border: 1px solid var(--color-line);
	border-radius: 4px;
}

.checkout-quantity button,
.checkout-quantity input {
	border: 0;
	background: transparent;
}

.checkout-quantity button {
	color: var(--color-red);
	cursor: pointer;
	transition: background var(--transition);
}

.checkout-quantity button:hover {
	background: #fff1f2;
}

.checkout-quantity input {
	width: 100%;
	border-right: 1px solid var(--color-line);
	border-left: 1px solid var(--color-line);
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
}

.checkout-quantity input::-webkit-inner-spin-button,
.checkout-quantity input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.checkout-remove-item {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	color: var(--color-dark);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 8px 18px rgba(7, 21, 35, 0.16);
	cursor: pointer;
	transition: color var(--transition), background var(--transition), transform var(--transition);
}

.checkout-remove-item:hover {
	color: var(--color-white);
	background: var(--color-red);
	transform: translateY(-2px);
}

.checkout-info-note,
.checkout-payment-notice,
.checkout-final-consent,
.checkout-complete-note {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	margin-top: 22px;
	padding: 16px 18px;
	border: 1px solid rgba(225, 20, 29, 0.12);
	border-radius: 6px;
	background: #fff8f8;
}

.checkout-info-note i,
.checkout-payment-notice i,
.checkout-final-consent i,
.checkout-complete-note i {
	font-size: 24px;
	color: var(--color-red);
}

.checkout-info-note p,
.checkout-payment-notice p,
.checkout-final-consent p {
	font-size: 11px;
	line-height: 1.65;
	color: var(--color-muted);
}

.checkout-info-note strong {
	color: var(--color-dark);
}

.checkout-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.checkout-navigation .btn,
.checkout-complete-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.checkout-btn-secondary,
.checkout-btn-dark {
	border: 1px solid var(--color-line);
	color: var(--color-dark);
	background: var(--color-white);
	box-shadow: none;
}

.checkout-btn-secondary:hover,
.checkout-btn-secondary:focus {
	border-color: var(--color-dark);
	color: var(--color-white);
	background: var(--color-dark);
}

.checkout-btn-dark {
	border-color: var(--color-dark);
	color: var(--color-white);
	background: var(--color-dark);
}

.checkout-btn-dark:hover,
.checkout-btn-dark:focus {
	border-color: var(--color-red);
	color: var(--color-white);
	background: var(--color-red);
}

.checkout-summary-card {
	position: sticky;
	top: 100px;
	padding: 30px;
}

.checkout-summary-product {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 16px;
	margin-top: 24px;
	padding: 15px;
	border-radius: 7px;
	background: #f5f6f8;
}

.checkout-summary-product img {
	display: block;
	width: 84px;
	height: 76px;
	border-radius: 5px;
	object-fit: cover;
}

.checkout-summary-product div {
	display: grid;
	align-content: center;
}

.checkout-summary-product strong {
	font-family: var(--font-display);
	font-size: 19px;
	line-height: 1;
	text-transform: uppercase;
	transition: color .2s ease;
}

.checkout-summary-product:hover strong,
.checkout-summary-product:focus strong {
	color: var(--color-red);
}

.checkout-summary-product span,
.checkout-summary-product small {
	margin-top: 5px;
	font-size: 10px;
	color: var(--color-muted);
}

.checkout-summary-product small {
	font-weight: 600;
	color: var(--color-red);
}

.checkout-summary-prices {
	margin: 24px 0 0;
}

.checkout-summary-prices > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--color-line);
}

.checkout-summary-prices dt,
.checkout-summary-prices dd {
	margin: 0;
	font-size: 11px;
	font-weight: 500;
	color: var(--color-muted);
}

.checkout-summary-prices dd {
	font-weight: 700;
	color: var(--color-dark);
}

.checkout-summary-prices .checkout-summary-total {
	margin-top: 0;
	padding: 18px 0 10px;
	border-bottom: 0;
}

.checkout-summary-total dt {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 800;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-summary-total dd {
	font-family: var(--font-display);
	font-size: 32px;
	line-height: 1;
	color: var(--color-red);
}

.checkout-summary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	margin-top: 20px;
}

.checkout-summary-benefits {
	display: grid;
	gap: 14px;
	margin-top: 26px;
	padding-top: 24px;
	border-top: 1px solid var(--color-line);
}

.checkout-summary-benefits > div {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
}

.checkout-summary-benefits i {
	font-size: 20px;
	color: var(--color-red);
}

.checkout-summary-benefits span {
	display: grid;
}

.checkout-summary-benefits strong {
	font-size: 11px;
	color: var(--color-dark);
}

.checkout-summary-benefits small {
	font-size: 9px;
	color: var(--color-muted);
}

.checkout-login-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 38px;
	padding: 34px 38px;
	color: var(--color-white);
	background:
		radial-gradient(circle at 86% 20%, rgba(225, 20, 29, 0.2), transparent 34%),
		linear-gradient(135deg, #071523 0%, #0c2032 100%);
}

.checkout-login-copy p {
	max-width: 440px;
	margin-top: 12px;
	font-size: 11px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.62);
}

.checkout-login-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	align-items: end;
	gap: 12px;
}

.checkout-login-form .checkout-field label {
	color: rgba(255, 255, 255, 0.7);
}

.checkout-login-form .checkout-field input {
	border-color: rgba(255, 255, 255, 0.16);
	color: var(--color-white);
	background: rgba(255, 255, 255, 0.06);
}

.checkout-login-form .checkout-field input::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.checkout-login-form .checkout-btn-dark {
	border-color: var(--color-red);
	background: var(--color-red);
}

.checkout-login-state {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.checkout-login-state .checkout-btn-dark {
	border-color: var(--color-red);
	color: var(--color-white);
	background: var(--color-red);
}

.checkout-reset-password {
	grid-column: 2;
	margin-top: -24px;
}

.checkout-reset-password summary {
	display: inline-flex;
	align-items: center;
	font-size: 10px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.64);
	cursor: pointer;
}

.checkout-reset-password summary:hover {
	color: var(--color-white);
}

.checkout-reset-password > div {
	margin-top: 14px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.05);
}

.checkout-reset-password p {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.65);
}

.checkout-reset-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	margin-top: 10px;
}

.checkout-reset-row input {
	min-height: 44px;
	padding: 10px 13px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	color: var(--color-white);
	background: rgba(255, 255, 255, 0.06);
}

.checkout-reset-row .btn {
	min-height: 44px;
	padding: 9px 18px;
}

.checkout-form {
	overflow: hidden;
}

.checkout-form-section {
	padding: clamp(26px, 3.2vw, 40px);
	border-bottom: 1px solid var(--color-line);
}

.checkout-form-section:last-child {
	border-bottom: 0;
}

.checkout-form-heading {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 16px;
	margin-bottom: 27px;
}

.checkout-form-heading > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 800;
	color: var(--color-white);
	background: var(--color-red);
}

.checkout-form-heading small {
	display: block;
	margin-bottom: 3px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--color-red);
	text-transform: uppercase;
}

.checkout-form-heading p {
	max-width: 660px;
	margin-top: 8px;
	font-size: 10px;
	line-height: 1.6;
	color: var(--color-muted);
}

.checkout-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.checkout-form-address {
	grid-template-columns: 0.65fr 1fr;
}

.checkout-field {
	display: grid;
	align-content: start;
}

.checkout-field-wide {
	grid-column: 1 / -1;
}

.checkout-field label {
	margin-bottom: 7px;
	font-size: 10px;
	font-weight: 600;
	color: var(--color-dark);
}

.checkout-field label span {
	color: var(--color-red);
}

.checkout-field input,
.checkout-field select,
.checkout-reset-row input {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #d6dce2;
	border-radius: 4px;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--color-dark);
	outline: none;
	background: var(--color-white);
	transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.checkout-field input:focus,
.checkout-field select:focus,
.checkout-reset-row input:focus {
	border-color: rgba(225, 20, 29, 0.65);
	box-shadow: 0 0 0 3px rgba(225, 20, 29, 0.08);
}

.checkout-country-field .bootstrap-select {
	width: 100% !important;
}

.checkout-country-field .bootstrap-select > .dropdown-toggle,
.checkout-country-field .bootstrap-select > .dropdown-toggle.btn,
.checkout-country-field .bootstrap-select > .dropdown-toggle.btn-light,
.checkout-country-field .bootstrap-select > .dropdown-toggle.btn-default {
	display: flex;
	align-items: center;
	width: 100% !important;
	height: 52px;
	padding: 0 44px 0 14px !important;
	border: 1px solid #d6dce2 !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	color: var(--color-dark) !important;
	font-family: var(--font-body);
	font-size: 12px !important;
	font-weight: 500 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.checkout-country-field .bootstrap-select > .dropdown-toggle:hover,
.checkout-country-field .bootstrap-select > .dropdown-toggle:focus,
.checkout-country-field .bootstrap-select.show > .dropdown-toggle {
	border-color: rgba(225, 20, 29, 0.65) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(225, 20, 29, 0.08) !important;
}

.checkout-country-field .bootstrap-select .filter-option,
.checkout-country-field .bootstrap-select .filter-option-inner,
.checkout-country-field .bootstrap-select .filter-option-inner-inner {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 !important;
	color: var(--color-dark) !important;
	line-height: normal !important;
	text-align: left !important;
}

.checkout-country-field .bootstrap-select .dropdown-toggle::after {
	position: absolute;
	top: 50%;
	right: 16px;
	margin: 0;
	transform: translateY(-50%);
}

.checkout-country-field .bootstrap-select .dropdown-menu {
	min-width: 100% !important;
	padding: 8px;
	border: 1px solid #dce1e6;
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(7, 21, 35, 0.16);
}

.checkout-country-field .bootstrap-select .bs-searchbox {
	padding: 2px 2px 8px;
}

.checkout-country-field .bootstrap-select .bs-searchbox input {
	height: 42px;
	padding: 0 12px;
	border: 1px solid #d6dce2;
	border-radius: 5px;
	font-size: 12px;
}

.checkout-country-field .bootstrap-select .bs-searchbox input:focus {
	border-color: rgba(225, 20, 29, 0.65);
	box-shadow: 0 0 0 3px rgba(225, 20, 29, 0.08);
}

.checkout-country-field .bootstrap-select .dropdown-menu li a {
	display: flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 10px !important;
	border-radius: 4px;
	color: var(--color-dark);
	font-size: 12px;
}

.checkout-country-field .bootstrap-select .dropdown-menu li a:hover,
.checkout-country-field .bootstrap-select .dropdown-menu li.active a,
.checkout-country-field .bootstrap-select .dropdown-menu li.selected a {
	color: var(--color-dark);
	background: #fff1f2;
}

.checkout-country-option {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.checkout-country-option .country-flag,
.checkout-country-field .country-flag {
	flex: 0 0 auto;
	width: 22px;
	height: 15px;
	margin-right: 10px;
	border: 1px solid rgba(7, 21, 35, 0.1);
	object-fit: cover;
}

.checkout-field input:disabled,
.checkout-field select:disabled {
	color: #7d8793;
	background: #f4f6f8;
}

.checkout-field small {
	margin-top: 6px;
	font-size: 9px;
	line-height: 1.5;
	color: var(--color-muted);
}

.checkout-inline-check,
.checkout-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 20px;
	font-size: 10px;
	line-height: 1.6;
	color: var(--color-muted);
	cursor: pointer;
}

.checkout-inline-check input,
.checkout-check input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	accent-color: var(--color-red);
}


.checkout-create-account-field {
	margin-top: 4px;
}

.checkout-create-account {
	align-items: center;
	margin: 0;
	color: var(--color-dark);
}

.checkout-create-account input {
	margin-top: 0;
}

.checkout-create-account strong {
	color: var(--color-dark);
	font-weight: 700;
}

.checkout-inline-check input:focus,
.checkout-inline-check input:focus-visible,
.checkout-check input:focus,
.checkout-check input:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.checkout-company-fields {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--color-line);
}

.checkout-check a {
	color: var(--color-red);
	text-decoration: underline;
}

.checkout-check strong {
	color: var(--color-red);
}

.checkout-players-section {
	background: #fafbfc;
}

.checkout-player-camp-group + .checkout-player-camp-group {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid var(--color-line);
}

.checkout-player-camp-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}

.checkout-player-camp-thumb {
	flex: 0 0 auto;
	width: 68px;
	height: 58px;
	border-radius: 6px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgba(5, 20, 35, .10);
}

.checkout-player-camp-heading-text {
	min-width: 0;
}

.checkout-player-camp-heading small {
	display: block;
	margin-bottom: 5px;
	color: var(--color-red);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.checkout-player-camp-heading h3 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 25px;
	font-weight: 800;
	line-height: 1.05;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-player-camp-heading p {
	margin: 6px 0 0;
	color: var(--color-muted);
	font-size: 10px;
	font-weight: 600;
}

.checkout-player-card {
	padding: 22px;
	border: 1px solid var(--color-line);
	border-radius: 8px;
	background: var(--color-white);
}

.checkout-player-card + .checkout-player-card {
	margin-top: 18px;
}

.checkout-player-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 18px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--color-line);
}

.checkout-player-card-head div {
	display: grid;
}

.checkout-player-card-head span {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-player-card-head strong {
	margin-top: 5px;
	font-size: 9px;
	font-weight: 500;
	color: var(--color-muted);
}

.checkout-player-card-head i {
	font-size: 25px;
	color: #0f8e52;
}

.checkout-player-card.is-new .checkout-player-card-head i {
	color: var(--color-red);
}

.checkout-player-fields {
	margin-top: 18px;
}

.checkout-consents {
	background: #fff;
}

.checkout-consents .checkout-check:first-child {
	margin-top: 0;
}

.checkout-selected-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 700;
	color: #0f8e52;
	background: #eaf8f1;
	text-transform: uppercase;
}

.checkout-option-card {
	display: grid;
	grid-template-columns: 22px 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 15px;
	padding: 22px;
	border: 1px solid var(--color-line);
	border-radius: 8px;
	cursor: pointer;
	transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.checkout-option-card.selected {
	border-color: rgba(225, 20, 29, 0.42);
	background: #fffafa;
	box-shadow: 0 12px 26px rgba(225, 20, 29, 0.08);
}

.checkout-option-card input {
	width: 17px;
	height: 17px;
	accent-color: var(--color-red);
}

.checkout-option-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	font-size: 23px;
	color: var(--color-red);
	background: #fff0f1;
}

.checkout-option-copy {
	display: grid;
}

.checkout-option-copy strong {
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-option-copy small {
	margin-top: 6px;
	font-size: 10px;
	font-weight: 600;
	color: var(--color-muted);
}

.checkout-option-copy em {
	margin-top: 8px;
	font-size: 9px;
	font-style: normal;
	line-height: 1.55;
	color: #8a949f;
}

.checkout-option-card > b {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--color-dark);
}

.checkout-payment-option {
	align-items: center;
}

.checkout-edit-link,
.checkout-review-card-head a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--color-red);
	text-transform: uppercase;
}

.checkout-edit-link:hover,
.checkout-review-card-head a:hover {
	color: var(--color-dark);
}

.checkout-review-intro {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	color: var(--color-white);
	background:
		radial-gradient(circle at 90% 20%, rgba(225, 20, 29, 0.22), transparent 30%),
		linear-gradient(135deg, #071523 0%, #0c2032 100%);
}

.checkout-review-intro > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	font-size: 29px;
	color: var(--color-white);
	background: var(--color-red);
}

.checkout-review-intro h2 {
	font-size: clamp(32px, 3vw, 46px);
}

.checkout-review-intro p {
	margin-top: 10px;
	font-size: 10px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.64);
}


.checkout-review-form {
	display: grid;
	gap: 24px;
}

.checkout-review-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.checkout-review-card {
	padding: 28px;
}

.checkout-review-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--color-line);
}

.checkout-review-card-head h3 {
	font-size: 29px;
}

.checkout-review-card dl {
	margin: 18px 0 0;
}

.checkout-review-card dl > div {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 14px;
	padding: 8px 0;
}

.checkout-review-card dt,
.checkout-review-card dd {
	margin: 0;
	font-size: 10px;
	line-height: 1.55;
}

.checkout-review-card dt {
	color: var(--color-muted);
}

.checkout-review-card dd {
	font-weight: 600;
	color: var(--color-dark);
}

.checkout-review-payment {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	margin-top: 22px;
}

.checkout-review-payment > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	font-size: 22px;
	color: var(--color-red);
	background: #fff0f1;
}

.checkout-review-payment div {
	display: grid;
}

.checkout-review-payment strong {
	font-family: var(--font-display);
	font-size: 21px;
	line-height: 1;
	text-transform: uppercase;
}

.checkout-review-payment span,
.checkout-review-payment small {
	margin-top: 5px;
	font-size: 9px;
	color: var(--color-muted);
}

.checkout-review-payment small {
	font-weight: 700;
	color: var(--color-red);
}

.checkout-review-player-groups {
	display: grid;
	gap: 22px;
}

.checkout-review-player-group h3 {
	margin: 0 0 10px;
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-dark);
}

.checkout-review-players {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.checkout-review-players > div {
	position: relative;
	display: grid;
	grid-template-columns: 34px 32px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 17px;
	border: 1px solid var(--color-line);
	border-radius: 7px;
	background: #fafbfc;
}

.checkout-review-players > div > span {
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 800;
	color: #c7cdd4;
}

.checkout-review-players > div > i {
	font-size: 21px;
	color: var(--color-red);
}

.checkout-review-players p {
	display: grid;
}

.checkout-review-players strong {
	font-size: 11px;
	color: var(--color-dark);
}

.checkout-review-players small {
	margin-top: 4px;
	font-size: 8px;
	color: var(--color-muted);
}

.checkout-final-consent {
	margin-top: 0;
	background: #f6fbf8;
	border-color: rgba(15, 142, 82, 0.18);
}

.checkout-final-consent i {
	color: #0f8e52;
}

.checkout-submit-button {
	min-width: 230px;
}

.checkout-complete-section {
	padding-top: 62px;
}

.checkout-complete-card {
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(34px, 5vw, 64px);
	text-align: center;
}

.checkout-complete-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 82px;
	height: 82px;
	margin-bottom: 22px;
	border-radius: 50%;
	font-size: 42px;
	color: var(--color-white);
	background: #0f8e52;
	box-shadow: 0 18px 34px rgba(15, 142, 82, 0.24);
}

.checkout-complete-card h2 {
	font-size: clamp(42px, 4.5vw, 66px);
}

.checkout-complete-card > p {
	max-width: 650px;
	margin: 18px auto 0;
	font-size: 12px;
	line-height: 1.75;
	color: var(--color-muted);
}

.checkout-order-number {
	display: inline-grid;
	min-width: 360px;
	margin-top: 28px;
	padding: 18px 28px;
	border: 1px dashed rgba(7, 21, 35, 0.22);
	border-radius: 7px;
	background: #fafbfc;
}

.checkout-order-number small {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--color-muted);
	text-transform: uppercase;
}

.checkout-order-number strong {
	margin-top: 4px;
	font-family: var(--font-display);
	font-size: 31px;
	line-height: 1;
	color: var(--color-red);
}

.checkout-order-number span {
	margin-top: 8px;
	font-size: 8px;
	color: #9aa3ae;
}

.checkout-order-number .checkout-order-total {
	margin-top: 11px;
	font-size: 14px;
	font-weight: 700;
	color: var(--color-dark);
}

.checkout-complete-note {
	max-width: 650px;
	margin: 26px auto 0;
	text-align: left;
}

.checkout-complete-note div {
	display: grid;
}

.checkout-complete-note strong {
	font-size: 10px;
	color: var(--color-dark);
}

.checkout-complete-note span {
	margin-top: 3px;
	font-size: 9px;
	color: var(--color-muted);
}

.checkout-complete-overview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	overflow: hidden;
	max-width: 1120px;
	margin: 28px auto 0;
}

.checkout-complete-camp {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	padding: 26px;
	border-right: 1px solid var(--color-line);
}

.checkout-complete-camp img {
	display: block;
	width: 190px;
	height: 150px;
	border-radius: 7px;
	object-fit: cover;
}

.checkout-complete-camp h3 {
	font-size: 34px;
}

.checkout-complete-camp p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: 10px;
	color: var(--color-muted);
}

.checkout-complete-camp p i {
	color: var(--color-red);
}

.checkout-complete-data {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-complete-data > div {
	display: grid;
	align-content: center;
	padding: 24px;
}

.checkout-complete-data > div:nth-child(odd) {
	border-right: 1px solid var(--color-line);
}

.checkout-complete-data > div:nth-child(-n+2) {
	border-bottom: 1px solid var(--color-line);
}

.checkout-complete-data small {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--color-muted);
	text-transform: uppercase;
}

.checkout-complete-data strong {
	margin-top: 5px;
	font-family: var(--font-display);
	font-size: 20px;
	line-height: 1.1;
	color: var(--color-dark);
	text-transform: uppercase;
}

.checkout-complete-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 30px;
}

@media (max-width: 1199px) {
	.checkout-progress-step {
		gap: 10px;
		padding: 16px 14px;
	}

	.checkout-progress-copy strong {
		font-size: 15px;
	}

	.checkout-layout {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.checkout-login-panel {
		grid-template-columns: 1fr;
	}

	.checkout-reset-password {
		grid-column: auto;
		margin-top: 0;
	}

	.checkout-review-players {
		grid-template-columns: 1fr;
	}

	.checkout-complete-overview {
		grid-template-columns: 1fr;
	}

	.checkout-complete-camp {
		border-right: 0;
		border-bottom: 1px solid var(--color-line);
	}
}

@media (max-width: 991px) {
	.checkout-hero {
		padding: 130px 0 88px;
	}

	.checkout-progress-section {
		margin-top: -40px;
		background: linear-gradient(180deg, transparent 0, transparent 40px, #f5f6f8 40px, #f5f6f8 100%);
	}

	.checkout-progress {
		display: block;
		overflow: hidden;
	}

	.checkout-progress::before {
		display: none;
	}

	.checkout-progress-step {
		display: none;
		width: 100%;
		min-height: 82px;
		border-left: 0 !important;
	}

	.checkout-progress-step.active {
		display: flex;
	}

	.checkout-progress-desktop-label {
		display: none;
	}

	.checkout-progress-mobile-label {
		display: inline;
	}

	.checkout-layout {
		grid-template-columns: 1fr;
	}

	.checkout-summary-card {
		position: static;
	}

	.checkout-login-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkout-login-form .checkout-btn-dark {
		grid-column: 1 / -1;
	}

	.checkout-review-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.checkout-hero {
		padding: 120px 0 78px;
	}

	.checkout-progress-section {
		margin-top: -34px;
		background: linear-gradient(180deg, transparent 0, transparent 34px, #f5f6f8 34px, #f5f6f8 100%);
	}

	.checkout-progress-step {
		min-width: 0;
	}

	.checkout-section {
		padding: 48px 0 68px;
	}

	.checkout-camp-item {
		grid-template-columns: 1fr;
	}

	.checkout-camp-media,
	.checkout-camp-media img {
		min-height: 220px;
		height: 220px;
	}

	.checkout-camp-bottom {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkout-quantity-wrap {
		justify-self: start;
	}

	.checkout-navigation {
		flex-direction: column-reverse;
	}

	.checkout-navigation .btn {
		width: 100%;
	}

	.checkout-login-panel {
		padding: 28px 24px;
	}

	.checkout-login-form,
	.checkout-reset-row,
	.checkout-form-grid,
	.checkout-form-address {
		grid-template-columns: 1fr;
	}

	.checkout-login-state .btn {
		width: 100%;
	}

	.checkout-field-wide {
		grid-column: auto;
	}

	.checkout-option-card {
		grid-template-columns: 20px 42px minmax(0, 1fr);
		padding: 18px;
	}

	.checkout-option-card > b {
		grid-column: 3;
		font-size: 19px;
	}

	.checkout-review-intro {
		grid-template-columns: 50px minmax(0, 1fr);
	}

	.checkout-review-intro > i {
		width: 50px;
		height: 50px;
		font-size: 23px;
	}

	.checkout-complete-camp {
		grid-template-columns: 140px minmax(0, 1fr);
	}

	.checkout-complete-camp img {
		width: 140px;
		height: 125px;
	}
}

@media (max-width: 575px) {
	.checkout-panel,
	.checkout-summary-card,
	.checkout-review-card {
		padding: 22px 18px;
	}

	.checkout-panel-heading {
		align-items: flex-start;
	}

	.checkout-panel-count,
	.checkout-selected-badge {
		flex: 0 0 auto;
	}

	.checkout-camp-content {
		padding: 22px 18px;
	}

	.checkout-camp-heading {
		flex-direction: column;
	}

	.checkout-camp-meta {
		display: grid;
	}

	.checkout-camp-bottom {
		gap: 18px;
	}

	.checkout-line-total strong {
		font-size: 25px;
	}

	.checkout-form-heading {
		grid-template-columns: 34px minmax(0, 1fr);
	}

	.checkout-form-heading > span {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}

	.checkout-player-card {
		padding: 18px 14px;
	}

	.checkout-option-card {
		grid-template-columns: 20px minmax(0, 1fr);
	}

	.checkout-option-icon {
		display: none;
	}

	.checkout-option-card > b {
		grid-column: 2;
	}

	.checkout-review-intro {
		grid-template-columns: 1fr;
	}

	.checkout-review-intro > i {
		width: 46px;
		height: 46px;
	}

	.checkout-review-card dl > div {
		grid-template-columns: 74px minmax(0, 1fr);
	}

	.checkout-order-number {
		min-width: 0;
		width: 100%;
	}

	.checkout-complete-camp {
		grid-template-columns: 1fr;
	}

	.checkout-complete-camp img {
		width: 100%;
		height: 180px;
	}

	.checkout-complete-data {
		grid-template-columns: 1fr;
	}

	.checkout-complete-data > div:nth-child(odd) {
		border-right: 0;
	}

	.checkout-complete-data > div {
		border-bottom: 1px solid var(--color-line);
	}

	.checkout-complete-data > div:last-child {
		border-bottom: 0;
	}

	.checkout-complete-actions {
		flex-direction: column;
	}

	.checkout-complete-actions .btn {
		width: 100%;
	}
}

.alumni-testimonials {
	margin-top: 52px;
	padding-top: 42px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.alumni-testimonials > h3 {
	margin: 0 0 26px;
	color: var(--color-white);
	font-size: 32px;
	text-align: center;
}

.alumni-testimonials-shell {
	position: relative;
}

.alumni-testimonials-slider .slick-list {
	overflow: hidden;
	margin: -8px 0;
	padding: 8px 0;
}

.alumni-testimonials-slider .slick-track {
	display: flex;
}

.alumni-testimonials-slider .slick-slide {
	height: auto;
	margin: 0 8px;
}

.alumni-testimonials-slider .slick-slide > div {
	height: 100%;
}

.alumni-testimonial-card {
	position: relative;
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 24px;
	min-height: 300px;
	padding: 26px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 10px;
	color: var(--color-dark);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 247, 249, 0.99) 50%, rgba(226, 230, 235, 0.98) 100%);
	box-shadow:
		0 18px 38px rgba(55, 0, 7, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
	transition: height 260ms ease, box-shadow var(--transition), transform var(--transition);
}

.alumni-testimonial-card::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: -30%;
	background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, 0.72) 50%, transparent 62%);
	transform: translateX(-75%);
	animation: alumniShine 7s ease-in-out infinite;
	opacity: 0.48;
	pointer-events: none;
}

.alumni-testimonial-card::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 44%;
	height: 100%;
	background: radial-gradient(circle at 100% 0%, rgba(236, 20, 31, 0.08), transparent 62%);
	pointer-events: none;
}

.alumni-testimonial-card.is-expanded {
	height: auto;
	min-height: 390px;
}

.alumni-testimonial-photo {
	position: relative;
	z-index: 2;
	width: 128px;
	height: 128px;
	overflow: hidden;
	border: 4px solid rgba(255, 255, 255, 0.88);
	border-radius: 6px;
	background: #f4f5f7;
	box-shadow: 0 0 0 2px rgba(236, 20, 31, 0.12), 0 10px 24px rgba(7, 21, 35, 0.12);
}

.alumni-testimonial-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.alumni-testimonial-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 8px 22px 0 0;
}

.alumni-testimonial-content::before {
	content: "“";
	position: absolute;
	top: -18px;
	right: -2px;
	font-family: Georgia, serif;
	font-size: 76px;
	font-weight: 700;
	line-height: 1;
	color: rgba(236, 20, 31, 0.22);
	pointer-events: none;
}

.alumni-testimonial-card blockquote {
	position: relative;
	z-index: 1;
	display: block;
	overflow: visible;
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.55;
	color: #465364;
}

.alumni-testimonial-card.is-expanded blockquote {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

.alumni-testimonial-toggle {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	margin-top: 8px;
	padding: 0;
	border: 0;
	color: var(--color-red);
	background: transparent;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.alumni-testimonial-toggle:hover {
	color: var(--color-dark);
}

.alumni-testimonial-author {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding-top: 15px;
	border-top: 1px solid rgba(7, 21, 35, 0.1);
}

.alumni-testimonial-card.is-expanded .alumni-testimonial-author {
	margin-top: 18px;
}

.alumni-testimonial-author strong {
	display: block;
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.05;
	color: var(--color-dark);
	text-transform: uppercase;
}

.alumni-testimonial-author span {
	display: block;
	margin-top: 5px;
	font-size: 10px;
	line-height: 1.35;
	color: var(--color-muted);
}

.alumni-testimonials-slider .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 50%;
	color: var(--color-dark);
	background: linear-gradient(135deg, #ffffff, #e9edf1);
	box-shadow: var(--shadow-sm);
	font-size: 18px;
	transform: translateY(-50%);
	transition: background var(--transition), color var(--transition), opacity var(--transition);
}

.alumni-testimonials-slider .slick-prev {
	left: -8px;
}

.alumni-testimonials-slider .slick-next {
	right: -8px;
}

.alumni-testimonials-slider .slick-arrow:hover {
	color: var(--color-white);
	background: var(--color-dark);
}

@media (max-width: 1400px) {
	.alumni-testimonial-card {
		min-height: 360px;
	}
}

@media (max-width: 1200px) {
	.alumni-testimonial-card {
		min-height: 460px;
	}
}

@media (max-width: 991px) {
	.alumni-testimonials {
		margin-top: 44px;
		padding-top: 36px;
	}
	.alumni-testimonial-card {
		min-height: auto !important;
	}
}

@media (max-width: 575px) {
	.alumni-testimonials > h3 {
		font-size: 28px;
	}

	.alumni-testimonial-card {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 16px;
		padding: 20px 18px;
	}

	.alumni-testimonial-card.is-expanded {
		min-height: 410px;
	}

	.alumni-testimonial-photo {
		width: 92px;
		height: 92px;
	}

	.alumni-testimonial-content {
		padding-top: 2px;
		padding-right: 8px;
	}

	.alumni-testimonial-card blockquote {
		font-size: 12px;
		line-height: 1.5;
	}

	.alumni-testimonial-author strong {
		font-size: 18px;
	}

	.alumni-testimonials-slider .slick-prev {
		left: -4px;
	}

	.alumni-testimonials-slider .slick-next {
		right: -4px;
	}
}

@media (max-width: 499px) {
	.alumni-card {
		min-height: 320px;
	}

	.alumni-testimonial-card.is-expanded {
		min-height: 500px;
	}
}

/* Content page additions */
.camps-listing-intro {
	max-width: 1120px;
	margin: 0 auto 42px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--color-dark);
}

.text-page-banner {
	margin: 0 auto 30px;
	overflow: hidden;
	border-radius: 8px;
}

.text-page-banner.is-portrait {
	max-width: 680px;
}

.text-page-banner.is-wide {
	max-width: 100%;
}

.text-page-banner img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 575px) {
	.camps-listing-intro {
		margin-bottom: 30px;
		font-size: 15px;
		line-height: 1.8;
	}

	.text-page-banner {
		margin-bottom: 24px;
		border-radius: 6px;
	}
}

/* Naši absolventi */
.graduates-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.graduates-heading {
	max-width: 1120px;
	margin: 0 auto 34px;
}

.graduates-heading h2 {
	margin: 4px 0 0;
	font-size: clamp(38px, 4vw, 58px);
}

.graduates-list {
	display: grid;
	gap: 22px;
	max-width: 1120px;
	margin: 0 auto;
}

.graduate-profile {
	position: relative;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 34px;
	padding: 28px;
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 249, 250, 0.99) 54%, rgba(231, 234, 238, 0.98) 100%);
	box-shadow: 0 14px 34px rgba(7, 21, 35, 0.08);
}

.graduate-profile::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 38%;
	height: 100%;
	background: radial-gradient(circle at 100% 0%, rgba(236, 20, 31, 0.07), transparent 64%);
	pointer-events: none;
}

.graduate-profile-photo {
	position: relative;
	z-index: 1;
	align-self: start;
	width: 250px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 8px;
	background: #e9ebee;
	box-shadow: 0 12px 28px rgba(7, 21, 35, 0.12);
}

.graduate-profile-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.graduate-profile-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.graduate-profile-content p,
.graduate-profile-content blockquote {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.72;
	color: #4a5767;
}

.graduate-profile-content blockquote {
	position: relative;
	padding-top: 10px;
	font-size: 17px;
	font-style: italic;
	font-weight: 550;
	line-height: 1.8;
	color: #526072;
}

.graduate-profile.is-quote .graduate-profile-content::before {
	content: "“";
	position: absolute;
	top: -20px;
	right: 4px;
	font-family: Georgia, serif;
	font-size: 82px;
	font-weight: 700;
	line-height: 1;
	color: rgba(236, 20, 31, 0.18);
	pointer-events: none;
}

.graduate-profile-author {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid rgba(7, 21, 35, 0.1);
}

.graduate-profile-content p + .graduate-profile-author,
.graduate-profile-content blockquote + .graduate-profile-author {
	margin-top: 24px;
}

.graduate-profile-author strong {
	display: block;
	font-family: var(--font-display);
	font-size: 25px;
	font-weight: 800;
	line-height: 1.05;
	color: var(--color-dark);
	text-transform: uppercase;
}

.graduate-profile-author span {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-muted);
}

@media (max-width: 991px) {
	.graduate-profile {
		grid-template-columns: 210px minmax(0, 1fr);
		gap: 26px;
		padding: 24px;
	}

	.graduate-profile-photo {
		width: 210px;
	}

	.graduate-profile-content p,
	.graduate-profile-content blockquote {
		font-size: 13px;
	}
}

@media (max-width: 767px) {
	.graduates-heading {
		margin-bottom: 24px;
	}

	.graduate-profile {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.graduate-profile-photo {
		width: min(100%, 320px);
	}

	.graduate-profile-content p,
	.graduate-profile-content blockquote {
		font-size: 14px;
	}
}

@media (max-width: 575px) {
	.graduate-profile {
		padding: 20px;
	}

	.graduate-profile-photo {
		width: 100%;
	}

	.graduate-profile-author strong {
		font-size: 22px;
	}
}

/* Content page CTA */
.text-page-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 42px;
	padding: 30px 32px;
	border: 1px solid rgba(225, 20, 29, 0.14);
	border-radius: 8px;
	background: linear-gradient(135deg, #f7f8fa 0%, #ffffff 58%, rgba(225, 20, 29, 0.055) 100%);
}

.text-page-cta h3 {
	margin: 5px 0 8px;
	font-size: clamp(27px, 2.6vw, 36px);
}

.text-page-cta p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
}

.text-page-cta .btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

.text-page-cta .btn i {
	margin-left: 8px;
}

@media (max-width: 767px) {
	.text-page-cta {
		align-items: flex-start;
		flex-direction: column;
		gap: 22px;
		margin-top: 34px;
		padding: 25px 24px;
	}
}

@media (max-width: 575px) {
	.text-page-cta .btn {
		width: 100%;
	}
}

/* === HTA 2027: statické výuky / popisy v kartách === */
.camp-card-description {
	margin-top: 12px !important;
	line-height: 1.4;
	color: var(--color-muted);
}

.camp-card-description .camp-card-more {
	color: var(--color-red);
	font-weight: 700;
	white-space: nowrap;
}

.nearest-camps-slider .camp-card {
	min-height: 230px;
}

.nearest-camps-slider .camp-card-description {
	min-height: 4.2em;
	font-size: 11px;
}

.camps-list-grid .camp-card {
	min-height: 260px;
}

.camps-list-grid .camp-card-description {
	min-height: 4.2em;
	font-size: 12px;
}

@media (max-width: 575px) {
	.nearest-camps-slider .camp-card-description,
	.camps-list-grid .camp-card-description {
		min-height: 0;
	}
}


/* === HTA homepage: kompaktní názvy nejbližších výuk === */
.nearest-camps-slider .camp-card h3 {
	font-size: 21px;
	line-height: 1;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 2em;
}

/* Detail výuky – autorský komentář Jaromíra Pytlíka */
.camp-detail-author-note {
	display: block;
	margin-top: 24px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: #111827;
	text-transform: uppercase;
}

.camp-detail-author-note + .camp-detail-lead {
	margin-top: 8px;
}

.hta-calendar-card .fc-event {
  font-weight: 700 !important;
}

/* Naši absolventi - soutěžní counter */
.graduates-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 1120px;
	margin: 0 auto 48px;
	padding: 8px 0;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	box-shadow: 0 14px 34px rgba(7, 21, 35, 0.06);
}

.graduates-stat-item {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 190px;
	padding: 24px 20px 20px;
	align-items: center;
	flex-direction: column;
	justify-content: flex-start;
	text-align: center;
}

.graduates-stat-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 18%;
	right: 0;
	bottom: 18%;
	width: 1px;
	background: var(--color-line);
}

.graduates-stat-logo {
	display: flex;
	height: 70px;
	margin-bottom: 13px;
	align-items: center;
	justify-content: center;
}

.graduates-stat-logo img {
	display: block;
	max-width: 165px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.graduates-stat-item strong {
	position: relative;
	display: block;
	min-width: 48px;
	padding-top: 12px;
	font-family: var(--font-display);
	font-size: 48px;
	font-weight: 800;
	line-height: 1;
	color: var(--color-dark);
}

.graduates-stat-item strong::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 46px;
	height: 2px;
	background: var(--color-dark);
	transform: translateX(-50%);
}


@media (max-width: 991px) {
	.graduates-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.graduates-stat-item:nth-child(2)::after {
		display: none;
	}

	.graduates-stat-item:nth-child(-n+2) {
		border-bottom: 1px solid var(--color-line);
	}
}

@media (max-width: 575px) {
	.graduates-stats {
		margin-bottom: 34px;
	}

	.graduates-stat-item {
		min-height: 168px;
		padding: 20px 12px 18px;
	}

	.graduates-stat-logo {
		height: 58px;
	}

	.graduates-stat-logo img {
		max-width: 135px;
		max-height: 58px;
	}

	.graduates-stat-item strong {
		font-size: 42px;
	}
}

/* Homepage partners */
.partners-block {
	padding-bottom: 72px;
	margin-bottom: 72px;
	border-bottom: 1px solid var(--color-line);
}

.partners-heading {
	margin-bottom: 36px;
}

.partners-heading h2 {
	margin-bottom: 0;
}

.partners-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 30px 38px;
}

.partner-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 1 170px;
	height: 78px;
	padding: 8px 10px;
	transition: transform var(--transition), opacity var(--transition);
}

.partner-logo:hover {
	transform: translateY(-4px);
}

.partner-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 64px;
	object-fit: contain;
}

.contact-heading {
	margin-top: 0;
}

@media (max-width: 767px) {
	.partners-block {
		padding-bottom: 48px;
		margin-bottom: 48px;
	}

	.partners-heading {
		margin-bottom: 24px;
	}

	.partners-logos {
		gap: 18px 22px;
	}

	.partner-logo {
		flex-basis: calc(50% - 12px);
		max-width: 160px;
		height: 68px;
	}

	.partner-logo img {
		max-height: 56px;
	}
}

/* Homepage contact heading alignment */
.contact-section .section-heading {
	text-align: center;
}

/* Homepage partners hierarchy refinement */
.contact-section {
	padding-top: 64px;
}

.partners-block {
	padding-bottom: 48px;
	margin-bottom: 58px;
	border-bottom: 1px solid var(--color-line);
}

.partners-heading {
	margin-bottom: 26px;
}

@media (max-width: 767px) {
	.contact-section {
		padding-top: 52px;
	}

	.partners-block {
		padding-bottom: 36px;
		margin-bottom: 44px;
	}

	.partners-block::after {
		width: 90%;
	}

	.partners-heading {
		margin-bottom: 20px;
	}
}


/* Homepage partners - compact card */
.partners-block {
	max-width: 1120px;
	margin: 0 auto 64px;
	padding: 30px 34px 28px;
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	box-shadow: 0 14px 34px rgba(7, 21, 35, 0.06);
}

.partners-heading {
	margin-bottom: 20px;
}

.partners-heading h2 {
	font-size: 36px;
	line-height: 1;
}

.partners-logos {
	gap: 20px 34px;
}

.partner-logo {
	height: 68px;
}

.partner-logo img {
	max-height: 56px;
}

@media (max-width: 767px) {
	.partners-block {
		margin-bottom: 48px;
		padding: 24px 18px 22px;
	}

	.partners-heading {
		margin-bottom: 18px;
	}

	.partners-heading h2 {
		font-size: 30px;
	}

	.partners-logos {
		gap: 14px 20px;
	}
}

/* Homepage partners - full container width */
.partners-block {
	width: 100%;
	max-width: none;
}

/* Detail výuky - responzivní vzorový harmonogram */
.camp-schedule-section {
	padding: 72px 0 78px;
	background: #f5f6f8;
}

.camp-schedule-card {
	width: 100%;
	padding: 46px 48px 42px;
	background: #fff;
	border: 1px solid rgba(7, 21, 35, 0.09);
	border-radius: 12px;
	box-shadow: 0 18px 42px rgba(7, 21, 35, 0.07);
}

.camp-schedule-heading {
	text-align: center;
	margin-bottom: 28px;
}

.camp-schedule-heading .section-kicker {
	display: block;
	margin-bottom: 10px;
}

.camp-schedule-heading h2 {
	margin: 0 0 14px;
	font-size: clamp(34px, 3vw, 52px);
	line-height: 0.98;
	color: #111827;
}

.camp-schedule-heading p {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: #6b7788;
}

.camp-schedule-groups {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	max-width: 980px;
	margin: 0 auto 34px;
}

.camp-schedule-group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 52px;
	padding: 10px 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-align: center;
}

.camp-schedule-group strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 28px;
	border-radius: 5px;
	background: #111827;
	color: #fff;
	font-size: 14px;
	line-height: 1;
}

.camp-schedule-group span {
	font-size: 13px;
	font-weight: 700;
	color: #526072;
}

.camp-schedule-days {
	display: grid;
	gap: 28px;
}

.camp-schedule-day {
	min-width: 0;
}

.camp-schedule-day-title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 9px;
}

.camp-schedule-day-title span {
	font-family: var(--font-display);
	font-size: 27px;
	line-height: 1;
	letter-spacing: .02em;
	color: #111827;
}

.camp-schedule-day-title small {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #8a95a5;
}

.camp-schedule-timeline {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.camp-schedule-timeline--8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.camp-schedule-timeline--12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.camp-schedule-timeline--15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }

.camp-schedule-slot {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	min-height: 126px;
	padding: 39px 5px 10px;
	border-radius: 6px;
	background: #f1f4f7;
	border: 1px solid rgba(17, 24, 39, .08);
	overflow: hidden;
	text-align: center;
}

.camp-schedule-slot time {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e5e7eb;
	border-bottom: 1px solid rgba(17, 24, 39, .08);
	font-size: 11px;
	font-weight: 800;
	color: #111827;
}

.camp-schedule-slot small {
	display: block;
	margin-bottom: 10px;
	font-size: 8px;
	line-height: 1.15;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}

.camp-schedule-slot strong {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	font-family: var(--font-display);
	font-size: 19px;
	line-height: 1.05;
	letter-spacing: .01em;
	color: #fff;
	word-break: normal;
}

.camp-schedule-slot.is-k1 { background: #e91924; }
.camp-schedule-slot.is-k2 { background: #24527b; }
.camp-schedule-slot.is-k3 { background: #111827; }
.camp-schedule-slot.is-k4 { background: #16a65b; }
.camp-schedule-slot.is-welcome { background: #169ed1; }
.camp-schedule-slot.is-draft { background: #ffe600; }
.camp-schedule-slot.is-off { background: #ff720d; }

.camp-schedule-slot.is-draft strong,
.camp-schedule-slot.is-off strong { color: #111827; }

.camp-schedule-slot.is-empty {
	background: #f8fafc;
	border-style: dashed;
}

.camp-schedule-slot.is-empty small {
	color: #a3adba;
}

.camp-schedule-free {
	margin: auto 0;
	font-size: 18px;
	font-weight: 700;
	color: #c4cbd4;
}

.camp-schedule-tag {
	position: absolute;
	top: 24px;
	left: 0;
	right: 0;
	display: block;
	padding: 3px 2px;
	background: rgba(255,255,255,.92);
	border-bottom: 1px solid rgba(17,24,39,.09);
	font-size: 7px;
	line-height: 1.15;
	font-weight: 900;
	text-transform: uppercase;
	color: #111827;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.camp-schedule-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 30px;
	padding: 14px 18px;
	border-radius: 7px;
	background: #fff6f6;
	border: 1px solid rgba(239, 24, 35, .16);
	color: #536173;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.camp-schedule-note i {
	flex: 0 0 auto;
	font-size: 18px;
	color: var(--color-primary);
}

@media (max-width: 1199px) {
	.camp-schedule-card {
		padding: 38px 30px 34px;
	}

	.camp-schedule-day {
		overflow-x: auto;
		padding-bottom: 8px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.camp-schedule-timeline--8 { min-width: 840px; }
	.camp-schedule-timeline--12 { min-width: 1080px; }
	.camp-schedule-timeline--15 { min-width: 1260px; }
}

@media (max-width: 767px) {
	.camp-schedule-section {
		padding: 48px 0 54px;
	}

	.camp-schedule-card {
		padding: 28px 18px 26px;
		border-radius: 10px;
	}

	.camp-schedule-heading {
		margin-bottom: 22px;
	}

	.camp-schedule-heading h2 {
		font-size: 34px;
	}

	.camp-schedule-groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-bottom: 28px;
	}

	.camp-schedule-group {
		justify-content: flex-start;
		min-height: 50px;
		padding: 9px 10px;
	}

	.camp-schedule-group span {
		font-size: 11px;
	}

	.camp-schedule-days {
		gap: 24px;
	}

	.camp-schedule-day {
		overflow: visible;
		padding-bottom: 0;
	}

	.camp-schedule-day-title {
		margin-bottom: 11px;
	}

	.camp-schedule-timeline,
	.camp-schedule-timeline--8,
	.camp-schedule-timeline--12,
	.camp-schedule-timeline--15 {
		display: grid;
		grid-template-columns: 1fr;
		min-width: 0;
		gap: 7px;
	}

	.camp-schedule-slot {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		min-height: 70px;
		padding: 10px 12px 10px 80px;
		text-align: left;
	}

	.camp-schedule-slot time {
		top: 0;
		bottom: 0;
		right: auto;
		width: 66px;
		height: auto;
		border-bottom: 0;
		border-right: 1px solid rgba(17,24,39,.1);
		font-size: 12px;
	}

	.camp-schedule-slot small {
		margin: 0 0 4px;
		font-size: 9px;
	}

	.camp-schedule-slot strong {
		justify-content: flex-start;
		font-size: 22px;
	}

	.camp-schedule-slot.is-empty {
		display: none;
	}

	.camp-schedule-tag {
		position: static;
		width: auto;
		margin-bottom: 5px;
		padding: 3px 7px;
		border: 0;
		border-radius: 4px;
		font-size: 8px;
		white-space: normal;
	}

	.camp-schedule-note {
		align-items: flex-start;
		margin-top: 24px;
		font-size: 12px;
		text-align: left;
	}
}



/* Detail výuky - dynamický stav kapacity */
.camp-order-capacity.is-capacity-open i {
	color: #22a55b;
}

.camp-order-capacity.is-capacity-warning i {
	color: #f59e0b;
}

.camp-order-capacity.is-capacity-sold i {
	color: var(--color-red);
}

.camp-order-button.is-disabled {
	opacity: .55;
	pointer-events: none;
}

/* Košík - prázdný stav */
.checkout-empty-cart {
  padding: 28px 0 8px;
  color: #667085;
  font-size: 16px;
  line-height: 1.65;
}

.checkout-navigation.is-empty {
  justify-content: flex-start;
}

@media (max-width: 767px) {
	.checkout-player-camp-heading {
		gap: 10px;
	}

	.checkout-player-camp-thumb {
		width: 58px;
		height: 52px;
	}
}


/* Jednorázové nastavení hesla migrovaných účtů */
.password-setup-hero {
	min-height: 310px;
}

.password-setup-section {
	background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%);
}

.password-setup-wrap {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
}

.password-setup-card {
	padding: clamp(30px, 5vw, 54px);
}

.password-setup-card h2 {
	margin-top: 7px;
	font-size: clamp(38px, 5vw, 56px);
}

.password-setup-intro,
.password-setup-state p {
	max-width: 560px;
	margin-top: 16px;
	color: var(--color-muted);
	line-height: 1.7;
}

.password-setup-form {
	max-width: 520px;
}

.password-setup-note {
	margin-top: -7px;
	font-size: 11px;
	color: var(--color-muted);
}

.password-setup-state {
	text-align: center;
}

.password-setup-state .section-kicker {
	display: block;
}

.password-setup-state p {
	margin-left: auto;
	margin-right: auto;
}

.password-setup-state .btn {
	margin-top: 24px;
}

.password-setup-icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 22px;
	border-radius: 50%;
	font-size: 26px;
}

.password-setup-icon-done {
	color: #14804a;
	background: rgba(20, 128, 74, 0.1);
}

.password-setup-icon-error {
	color: var(--color-red);
	background: rgba(225, 20, 29, 0.1);
}

/* Trenérská akademie – obsah a reference absolventů */
.academy-page-card .text-page-banner {
	margin-bottom: 38px;
}

.academy-copy > h3 {
	margin-top: 48px;
}

.academy-lead-quote {
	position: relative;
	margin: 30px 0 !important;
	padding: 18px 22px 18px 25px;
	border-left: 3px solid var(--color-red);
	background: rgba(225, 20, 29, 0.045);
	font-weight: 700;
	color: var(--color-dark) !important;
}

.academy-reference {
	position: relative;
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	align-items: start;
	margin: 52px 0;
	overflow: hidden;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 12px;
	background:
		radial-gradient(ellipse at 100% 0%, rgba(7, 21, 35, 0.075) 0%, rgba(7, 21, 35, 0.025) 36%, transparent 68%),
		linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, #eef2f6 100%);
	box-shadow: 0 18px 42px rgba(7, 21, 35, 0.1);
	isolation: isolate;
}

.academy-reference::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	width: 4px;
	height: 100%;
	background: var(--color-red);
}

.academy-reference-photo {
	position: relative;
	height: 260px;
	min-height: 0;
	margin: 18px 0 18px 18px;
	overflow: hidden;
	border-radius: 8px;
	background: #e9edf1;
	box-shadow: 0 10px 24px rgba(7, 21, 35, 0.12);
}

.academy-reference-photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.6s ease;
}

.academy-reference:hover .academy-reference-photo img {
	transform: scale(1.025);
}

.academy-reference-content {
	position: relative;
	z-index: 2;
	padding: 34px 40px 34px;
}

.academy-reference-content .section-kicker {
	color: var(--color-red);
}

.academy-reference-text {
	margin-top: 18px;
}

.academy-reference-text p {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.72;
	color: #536171;
}

.academy-reference-text p + p {
	margin-top: 13px;
}



.academy-reference-preview {
	display: inline !important;
}

.academy-reference-toggle {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-red);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.academy-reference-toggle:hover {
	color: var(--color-dark);
}

.academy-reference.is-expanded .academy-reference-toggle {
	display: inline-block;
	margin-top: 12px;
}

.academy-reference.is-expanded .academy-reference-photo {
	position: sticky;
	top: 20px;
}

.academy-reference-name {
	display: block;
	margin-top: 22px;
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-dark);
}

.academy-reference-role {
	display: block;
	margin-top: 5px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.academy-reference-quote {
	position: absolute;
	top: 20px;
	right: 26px;
	font-size: 56px;
	line-height: 1;
	color: rgba(237, 28, 36, 0.1);
}

.academy-course-block {
	margin-top: 62px;
	padding-top: 52px;
	border-top: 1px solid var(--color-line);
}

.academy-course-block h2 {
	margin-bottom: 24px;
}

@media (max-width: 991px) {
	.academy-reference {
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.academy-reference-photo {
		height: 240px;
		min-height: 0;
	}

	.academy-reference-photo img {
		min-height: 0;
	}

	.academy-reference-content {
		padding: 30px 30px 30px;
	}
}

@media (max-width: 767px) {
	.academy-reference {
		grid-template-columns: 1fr;
		margin: 40px 0;
	}

	.academy-reference-photo {
		height: auto;
		min-height: 0;
		margin: 16px 16px 0;
		aspect-ratio: 16 / 9;
	}

	.academy-reference-photo img {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.academy-reference-content {
		padding: 26px 24px 30px;
	}

	.academy-reference.is-expanded .academy-reference-photo {
		position: relative;
		top: auto;
	}

	.academy-reference-quote {
		top: 16px;
		right: 20px;
		font-size: 48px;
	}

	.academy-course-block {
		margin-top: 48px;
		padding-top: 40px;
	}
}

@media (max-width: 575px) {
	.academy-reference-text p {
		font-size: 13.5px;
		line-height: 1.68;
	}

	.academy-reference-name {
		font-size: 21px;
	}
}


/* Turnaje - showcase a Tournify live */
.tournament-showcase {
	margin-top: 58px;
	padding-top: 48px;
	border-top: 1px solid var(--color-line);
	text-align: center;
}

.tournament-showcase-brand {
	display: flex;
	height: 82px;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.tournament-showcase-brand img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100px;
	max-height: 82px;
	object-fit: contain;
}

.tournament-showcase-brand.is-top4 {
	height: 170px;
	margin-bottom: 14px;
}

.tournament-showcase-brand.is-top4 img {
	max-width: 235px;
	max-height: 170px;
}

.text-page-card .tournament-showcase h2 {
	margin: 0 0 38px;
	font-size: clamp(36px, 4vw, 56px);
}

.tournament-showcase-logos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 980px;
	margin: 0 auto;
	padding: 8px 0;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(7, 21, 35, 0.08);
	border-radius: 10px;
	box-shadow: 0 14px 34px rgba(7, 21, 35, 0.06);
}

.tournament-showcase-logo {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 205px;
	padding: 24px 18px 22px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.tournament-showcase-logo:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 16%;
	right: 0;
	bottom: 16%;
	width: 1px;
	background: var(--color-line);
}

.tournament-showcase-logo-image {
	display: flex;
	height: 128px;
	align-items: center;
	justify-content: center;
	margin-bottom: 15px;
}

.tournament-showcase-logo-image img {
	display: block;
	width: auto;
	height: auto;
	max-width: 155px;
	max-height: 128px;
	object-fit: contain;
}

.tournament-showcase-logo strong {
	position: relative;
	display: block;
	padding-top: 12px;
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--color-dark);
	text-transform: uppercase;
}

.tournament-showcase-logo strong::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 44px;
	height: 2px;
	background: var(--color-dark);
	transform: translateX(-50%);
}

.tournament-live-frame {
	overflow: hidden;
	margin-top: 48px;
	border: 1px solid rgba(7, 21, 35, 0.1);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(7, 21, 35, 0.08);
}

.tournament-live-frame iframe {
	display: block;
	width: 100%;
	height: 920px;
	border: 0;
	background: #ffffff;
}

.tournament-showcase-top4 .tournament-live-frame {
	margin-top: 36px;
}

@media (max-width: 991px) {
	.tournament-showcase {
		margin-top: 48px;
		padding-top: 42px;
	}

	.tournament-showcase-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tournament-showcase-logo:nth-child(2)::after {
		display: none;
	}

	.tournament-showcase-logo:nth-child(-n+2) {
		border-bottom: 1px solid var(--color-line);
	}

	.tournament-live-frame iframe {
		height: 860px;
	}
}

@media (max-width: 575px) {
	.tournament-showcase {
		margin-top: 38px;
		padding-top: 34px;
	}

	.tournament-showcase-brand {
		height: 70px;
	}

	.tournament-showcase-brand img {
		max-width: 86px;
		max-height: 70px;
	}

	.tournament-showcase-brand.is-top4 {
		height: 138px;
	}

	.tournament-showcase-brand.is-top4 img {
		max-width: 190px;
		max-height: 138px;
	}

	.text-page-card .tournament-showcase h2 {
		margin-bottom: 30px;
		font-size: 34px;
	}

	.tournament-showcase-logo {
		min-height: 175px;
		padding: 18px 10px;
	}

	.tournament-showcase-logo-image {
		height: 102px;
		margin-bottom: 12px;
	}

	.tournament-showcase-logo-image img {
		max-width: 125px;
		max-height: 102px;
	}

	.tournament-showcase-logo strong {
		font-size: 14px;
	}

	.tournament-live-frame {
		margin-top: 36px;
		border-radius: 8px;
	}

	.tournament-live-frame iframe {
		height: 760px;
	}
}
