@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

* { 
margin: 0; 
padding: 0; 
box-sizing: border-box; 
} 

body{
max-width: 100%; 
   font-family: "Outfit", sans-serif;
font-optical-sizing: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #1c1c1c;
background-color: #fafafa;
overflow-x: hidden;
}

:root{
	--section-pad: 48px;
	--section-head-gap: 28px;
}

@media screen and (max-width: 767px) {
	:root{
		--section-pad: 32px;
		--section-head-gap: 20px;
	}
}


html{
	scroll-behavior: smooth;
	scroll-padding-top: 124px;
}

html:has(.site-promo){
	scroll-padding-top: 168px;
}

.site-top{
	position: sticky;
	top: 0;
	z-index: 100;
}

.site-promo{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 14px;
	padding: 8px 18px;
	background-color: #AD1D1D;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

.site-promo:hover,
.site-promo:focus-visible{
	background-color: #961818;
	color: #fff;
}

.site-promo-kicker{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.16);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.site-promo-title{
	font-weight: 800;
}

.site-promo-meta{
	color: rgba(255, 255, 255, 0.82);
	font-weight: 600;
}

.site-promo-cta{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.logo{
	height: 88px;
	width: auto;
	display: block;
}

.header-design{
	background-color: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: 10px 0;
	z-index: 1;
	position: relative;
	top: 0;
	border-bottom: 1px solid rgba(17, 11, 117, 0.08);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.06);
}

.header-design::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, #110b75 0%, #2D2580 50%, #AD1D1D 100%);
}

.header-design .navbar-brand{
	padding: 0;
	margin-right: 20px;
}

.header-design .nav-link{
	color: #110b75;
	font-weight: 600;
	font-size: 15px;
	padding: 8px 6px;
	position: relative;
	transition: color 0.25s ease;
	white-space: nowrap;
}

.header-design .nav-link:not(.dropdown-toggle)::after{
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 2px;
	height: 2px;
	border-radius: 99px;
	background-color: #AD1D1D;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}

.header-design .nav-link:hover,
.header-design .nav-link.active{
	color: #AD1D1D;
}

.header-design .nav-link:not(.dropdown-toggle):hover::after,
.header-design .nav-link:not(.dropdown-toggle).active::after{
	transform: scaleX(1);
}

.header-design button.nav-link{
	background: transparent;
	border: 0;
	font-family: inherit;
	cursor: pointer;
	line-height: inherit;
}

.header-design .dropdown-toggle::after{
	margin-left: 4px;
	vertical-align: 2px;
}

.header-design .dropdown-menu{
	border: 1px solid rgba(17, 11, 117, 0.08);
	border-radius: 14px;
	padding: 8px;
	margin-top: 8px;
	box-shadow: 0 16px 36px rgba(17, 11, 117, 0.1);
	min-width: 230px;
}

.header-design .nav-link:focus,
.header-design .nav-link:focus-visible,
.header-design .dropdown-toggle:focus,
.header-design .dropdown-item:focus,
.header-design .dropdown-item:focus-visible,
.header-design .dropdown-item:active{
	outline: none;
	box-shadow: none;
}

.header-design .dropdown-item{
	color: #110b75;
	font-weight: 600;
	font-size: 15px;
	border: 0;
	border-radius: 10px;
	padding: 8px 12px;
	background-color: transparent;
}

.header-design .dropdown-item:hover,
.header-design .dropdown-item:focus,
.header-design .dropdown-item.active{
	background-color: #F7F4FF;
	color: #AD1D1D;
	border: 0;
	box-shadow: none;
	outline: none;
}

.header-cta{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
}

.header-cta:hover{
	color: #fff;
	gap: 12px;
}

.header-actions{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: 16px;
	flex-shrink: 0;
}

.header-action{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 8px 14px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.2;
}

.header-action:hover{
	color: #fff;
}

.header-mobile-mid{
	display: none;
}

@media screen and (min-width: 1200px) {
	.header-design .container{
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 12px;
	}

	.header-design .navbar-brand{
		grid-column: 1;
		justify-self: start;
		margin-right: 0;
	}

	.header-design .navbar-collapse{
		display: contents !important;
	}

	.header-design .navbar-nav{
		grid-column: 2;
		position: static;
		transform: none;
		margin: 0;
		min-width: 0;
		max-width: 100%;
		flex-wrap: nowrap;
		justify-content: center;
		column-gap: 0;
	}

	.header-actions{
		grid-column: 3;
		justify-self: end;
		margin-left: 0;
		z-index: 2;
	}

	.header-design .nav-item.dropdown{
		position: relative;
	}

	.header-design .dropdown-menu,
	.header-design .dropdown-menu.show,
	.header-design .dropdown-menu[data-bs-popper]{
		position: absolute;
		inset: unset !important;
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translateX(-50%) !important;
		margin-top: 0 !important;
		display: none;
		z-index: 1050;
	}

	.header-design .nav-item.dropdown:hover > .dropdown-menu,
	.header-design .nav-item.dropdown:focus-within > .dropdown-menu,
	.header-design .nav-item.dropdown:hover > .dropdown-menu.show{
		display: block !important;
		top: 100% !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	.header-design .dropdown-menu::before{
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 14px;
	}

	.header-design .nav-item.dropdown:hover > .dropdown-menu,
	.header-design .nav-item.dropdown:focus-within > .dropdown-menu,
	.header-design .nav-item.dropdown:hover > .dropdown-menu.show{
		display: block !important;
	}
}

.header-design .navbar-toggler{
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 10px;
	padding: 6px 10px;
	color: #110b75;
	font-size: 22px;
	line-height: 1;
	box-shadow: none;
}

.header-design .navbar-toggler:focus{
	box-shadow: none;
	border-color: #110b75;
}

@media screen and (max-width: 1199px) {
	html{
		scroll-padding-top: 88px;
	}

	html:has(.site-promo){
		scroll-padding-top: 132px;
	}

	.site-promo-meta{
		display: none;
	}

	.header-design .container{
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.header-design .navbar-brand{
		margin-right: 0;
		flex-shrink: 0;
	}

	.header-mobile-mid{
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		flex: 1 1 auto;
		min-width: 0;
	}

	.header-mobile-name{
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-width: 0;
		margin: 0;
		line-height: 1.15;
	}

	.header-mobile-name strong{
		color: #110b75;
		font-size: 15px;
		font-weight: 800;
		letter-spacing: 0.02em;
	}

	.header-mobile-name span{
		color: #5a5a5a;
		font-size: 11px;
		font-weight: 600;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.header-mobile-portal{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		padding: 7px 12px;
		border-radius: 999px;
		background-color: #110b75;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.2;
		text-decoration: none;
		white-space: nowrap;
	}

	.header-mobile-portal:hover,
	.header-mobile-portal:focus-visible{
		background-color: #0c0858;
		color: #fff;
	}

	.header-design .navbar-toggler{
		flex-shrink: 0;
		margin-left: 0;
	}

	.logo{
		height: 66px;
	}

	.header-design{
		padding: 8px 0;
	}

	.header-design .navbar-collapse{
		width: 100%;
		margin-top: 10px;
		padding-top: 8px;
		border-top: 1px solid rgba(17, 11, 117, 0.08);
	}

	.header-design .navbar-nav{
		align-items: center;
		text-align: center;
	}

	.header-design .nav-link{
		padding: 12px 0;
		text-align: center;
		font-size: 18px;
	}

	.header-design .nav-link:not(.dropdown-toggle)::after{
		left: 50%;
		right: auto;
		width: 24px;
		bottom: 8px;
		transform: translateX(-50%) scaleX(0);
		transform-origin: center;
	}

	.header-design .nav-link:not(.dropdown-toggle):hover::after,
	.header-design .nav-link:not(.dropdown-toggle).active::after{
		transform: translateX(-50%) scaleX(1);
	}

	.header-design .dropdown-menu{
		position: static;
		float: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 8px 12px;
		margin: 0;
		background: transparent;
	}

	.header-design .dropdown-item{
		padding: 8px 0;
	}

	.header-cta{
		width: 100%;
		justify-content: center;
		margin: 8px 0 6px;
	}

	.header-actions{
		width: 100%;
		margin: 12px 0 6px;
		gap: 10px;
	}

	.header-action{
		flex: 1;
		padding: 10px 12px;
	}

	@media screen and (max-width: 420px) {
		.header-mobile-name span{
			display: none;
		}

		.header-mobile-portal{
			padding: 6px 10px;
			font-size: 11px;
		}
	}
}



.btn{
border-radius: 10px;
}

.btn-1{
background-color: #110b75;
color: #fff;
transition: 0.4s;
}

.btn-1:hover{
color: #fff;
}


.btn-2{
background-color: #AD1D1D;
color: #fff;
transition: 0.4s;
}

.btn-2:hover{
color: #fff;
}


.btn-3{
background-color: #2D2580;
color: #fff;
transition: 0.4s;
}

.btn-3:hover{
color: #fff;
}




.color-1{
color: #110b75;
}

.color-2{
color: #AD1D1D;
}

.color-3{
	color: #2D2580;
}



.alert{
border: none;
}



header { 
height: 72px; 
width: 100%; 
padding: 0 24px; 
position: fixed; 
top: 0;
left: 0;
z-index: 300; 
display: flex; 
justify-content: space-between; 
align-items: center; 
background-color: #fff;
border-bottom: solid 1px #ddd;
} 

.dashboard-logo{ 
height: 50px; 
} 

.icn { 
height: 30px; 
} 
.menuicn { 
cursor: pointer; 
background-color: rgba(17, 11, 117, 0.08);
color: #110b75;
transition: 0.4s;
} 


.menuicn:hover{
background-color: #110b75;
color: #fff;
}

.searchbar, 
.message, 
.logosec { 
display: flex; 
align-items: center; 
justify-content: center; 
} 

.searchbar2 { 
display: none; 
} 

.logosec { 
gap: 130px; 
} 




.message { 
gap: 40px; 
position: relative; 
cursor: pointer; 
} 
.circle { 
height: 7px; 
width: 7px; 
position: absolute; 
background-color: transparent; 
border-radius: 50%; 
left: 19px; 
top: 8px; 
} 
.dp { 
height: 50px; 
width: 50px; 
background-color: transparent; 
border-radius: 50%; 
display: flex; 
align-items: center; 
justify-content: center; 
overflow: hidden; 
border: solid 3px #8bc53f;
} 
body:has(.admin-header){
	padding-top: 72px;
}

.main-container { 
display: flex; 
width: 100%; 
position: relative; 
height: calc(100vh - 72px);
overflow: hidden;
z-index: 100; 
} 
.dpicn { 
height: 42px; 
} 

.main { 
height: 100%; 
flex: 1 1 auto;
min-width: 0;
width: auto; 
overflow-y: auto; 
overflow-x: hidden; 
padding: 40px 30px 30px 30px; 
} 

.main::-webkit-scrollbar-thumb { 
background-image: 
linear-gradient(to bottom, rgb(0, 0, 85), rgb(0, 0, 50)); 
} 
.main::-webkit-scrollbar { 
width: 5px; 
} 
.main::-webkit-scrollbar-track { 
background-color: #9e9e9eb2; 
} 

.box-container { 
display: flex; 
justify-content: space-evenly; 
align-items: center; 
flex-wrap: wrap; 
gap: 50px; 
} 
.nav{ 
min-height: 100%; 
width: 100%; 
position: relative; 
top: 0px; 
left: 00; 
display: flex; 
flex-direction: column; 
justify-content: space-between; 
overflow: visible; 
padding: 22px 14px 18px; 
} 
.navcontainer { 
height: 100%; 
width: 268px; 
position: relative; 
overflow-y: auto; 
overflow-x: hidden; 
transition: width 0.35s ease, left 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease; 
border-right: 0;
background:
	linear-gradient(180deg, #1a1470 0%, #110b75 48%, #0c0858 100%);
color: #fff;
} 
.navcontainer::-webkit-scrollbar { 
display: none; 
} 
.navclose { 
width: 84px; 
} 
.nav-option { 
width: 100%; 
min-height: 46px; 
height: auto; 
display: flex; 
align-items: center; 
padding: 8px 12px; 
gap: 12px; 
transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; 
text-decoration: none;
color: rgba(255, 255, 255, 0.86);
background-color: transparent;
border-radius: 14px;
font-weight: 600;
font-size: 15px;
} 


.nav-option:hover { 
cursor: pointer; 
color: #fff;
background-color: rgba(255, 255, 255, 0.08);
} 

.nav-option--active { 
cursor: pointer; 
color: #110b75;
background-color: #fff;
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
} 



.nav-img { 
height: 10px; 
} 

.nav-upper-options { 
display: flex; 
flex-direction: column; 
align-items: stretch; 
gap: 4px; 
flex: 1;
}

.nav-group{
	width: 100%;
}

.nav-option--toggle{
	border: 0;
	font: inherit;
	width: 100%;
	text-align: left;
}

.nav-caret{
	margin-left: auto;
	font-size: 12px;
	opacity: 0.7;
	transition: transform 0.2s ease;
}

.nav-group--open .nav-caret{
	transform: rotate(180deg);
}

.nav-submenu{
	display: none;
	width: 100%;
	margin: 4px 0 8px 20px;
	padding: 4px 0 4px 12px;
	border-left: 2px solid rgba(255, 255, 255, 0.14);
	flex-direction: column;
	gap: 2px;
}

.nav-group--open .nav-submenu{
	display: flex;
}

.nav-suboption{
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 38px;
	padding: 6px 12px;
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	border-radius: 10px;
}

.nav-suboption i{
	font-size: 14px;
	opacity: 0.8;
}

.nav-suboption:hover{
	color: #fff;
	background-color: rgba(255, 255, 255, 0.08);
}

.nav-suboption--active{
	color: #fff;
	background-color: rgba(173, 29, 29, 0.92);
}

.nav-suboption--active i{
	opacity: 1;
} 

.option1 { 
cursor: pointer; 
border: none;
} 
.option1:hover { 

} 




.box { 
height: 130px; 
width: 230px; 
border-radius: 20px; 
box-shadow: 3px 3px 10px rgba(0, 30, 87, 0.751); 
padding: 20px; 
display: flex; 
align-items: center; 
justify-content: space-around; 
cursor: pointer; 
transition: transform 0.3s ease-in-out; 
} 
.box:hover { 
transform: scale(1.08); 
} 

.box:nth-child(1) { 
background-color: var(--one-use-color); 
} 
.box:nth-child(2) { 
background-color: var(--two-use-color); 
} 
.box:nth-child(3) { 
background-color: var(--one-use-color); 
} 
.box:nth-child(4) { 
background-color: var(--two-use-color); 
} 

.box img { 
height: 50px; 
} 
.box .text { 
color: white; 
} 
.topic { 
font-size: 13px; 
font-weight: 400; 
letter-spacing: 1px; 
} 

.topic-heading { 
font-size: 30px; 
letter-spacing: 3px; 
} 

.report-container { 
min-height: 300px; 
max-width: 1200px; 
margin: 70px auto 0px auto; 
background-color: #ffffff; 
border-radius: 30px; 
box-shadow: 3px 3px 10px rgb(188, 188, 188); 
padding: 0px 20px 20px 20px; 
} 
.report-header { 
height: 80px; 
width: 100%; 
display: flex; 
align-items: center; 
justify-content: space-between; 
padding: 20px 20px 10px 20px; 
border-bottom: 2px solid rgba(0, 20, 151, 0.59); 
} 

.recent-Articles { 
font-size: 30px; 
font-weight: 600; 
color: #5500cb; 
} 

.view { 
height: 35px; 
width: 90px; 
border-radius: 8px; 
background-color: #5500cb; 
color: white; 
font-size: 15px; 
border: none; 
cursor: pointer; 
} 

.report-body { 
max-width: 1160px; 
overflow-x: auto; 
padding: 20px; 
} 
.report-topic-heading, 
.item1 { 
width: 1120px; 
display: flex; 
justify-content: space-between; 
align-items: center; 
} 
.t-op { 
font-size: 18px; 
letter-spacing: 0px; 
} 

.items { 
width: 1120px; 
margin-top: 15px; 
} 

.item1 { 
margin-top: 20px; 
} 
.t-op-nextlvl { 
font-size: 14px; 
letter-spacing: 0px; 
font-weight: 600; 
} 


.active-link{
background-color:  #ffd9ab;
}



.hero-slider{
	position: relative;
	overflow: hidden;
}

.hero-slide{
	min-height: 48vh;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	position: relative;
}

.hero-slide--alt{
	background-position: 70% center;
}

.hero-slide--focus{
	background-position: 20% center;
}

.hero-overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(17, 11, 117, 0.97) 0%, rgba(17, 11, 117, 0.9) 32%, rgba(17, 11, 117, 0.45) 58%, rgba(17, 11, 117, 0.12) 78%, rgba(17, 11, 117, 0) 100%);
}

.hero-content{
	position: relative;
	z-index: 2;
	padding: calc(36px + 20%) 0 56px;
}

.hero-eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.hero-title{
	font-weight: 800;
	font-size: clamp(28px, 3.8vw, 52px);
	line-height: 1.12;
	color: #fff;
	margin-bottom: 14px;
}

.hero-subtitle{
	color: rgba(255, 255, 255, 0.92);
	font-weight: 400;
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.7;
	max-width: 540px;
	margin-bottom: 0;
}

.hero-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.hero-actions .btn{
	padding: 12px 20px;
}

.hero-slider .carousel-indicators{
	margin-bottom: 18px;
	z-index: 3;
}

.hero-slider .carousel-indicators [data-bs-target]{
	width: 10px;
	height: 10px;
	border-radius: 99px;
	border: 0;
	background-color: rgba(255, 255, 255, 0.45);
	opacity: 1;
	transition: width 0.3s ease, background-color 0.3s ease;
}

.hero-slider .carousel-indicators .active{
	width: 28px;
	background-color: #fff;
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next{
	width: auto;
	opacity: 1;
	top: auto;
	bottom: 24px;
	z-index: 3;
}

.hero-slider .carousel-control-prev{
	left: 24px;
	justify-content: flex-start;
}

.hero-slider .carousel-control-next{
	right: 24px;
	justify-content: flex-end;
}

.hero-control-icon{
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
	font-size: 20px;
	backdrop-filter: blur(6px);
	transition: 0.3s;
}

.hero-slider .carousel-control-prev:hover .hero-control-icon,
.hero-slider .carousel-control-next:hover .hero-control-icon{
	background: #fff;
	color: #110b75;
}

@media screen and (max-width: 991px) {
	.hero-slide{
		min-height: 42vh;
		background-position: center;
	}

	.hero-content{
		padding: calc(28px + 20%) 0 52px;
	}

	.hero-slider .carousel-control-prev{
		left: 12px;
	}

	.hero-slider .carousel-control-next{
		right: 12px;
	}
}

@media screen and (max-width: 767px) {
	.hero-slide{
		min-height: auto;
	}

	.hero-overlay{
		background: linear-gradient(90deg, rgba(17, 11, 117, 0.94) 0%, rgba(17, 11, 117, 0.78) 42%, rgba(17, 11, 117, 0.4) 100%);
	}

	.hero-content{
		padding: calc(24px + 20%) 0 56px;
	}

	.hero-eyebrow{
		font-size: 11px;
		max-width: 100%;
	}

	.hero-actions{
		flex-direction: column;
		align-items: stretch;
	}

	.hero-actions .btn{
		width: 100%;
		text-align: center;
	}

	.hero-slider .carousel-control-prev,
	.hero-slider .carousel-control-next{
		display: none;
	}

	.hero-slider .carousel-indicators{
		margin-bottom: 18px;
	}
}

.programmes-section{
	background-color: #F7F4FF;
	background-image:
		radial-gradient(circle at 6% 18%, rgba(173, 29, 29, 0.08), transparent 26%),
		radial-gradient(circle at 94% 86%, rgba(17, 11, 117, 0.1), transparent 30%);
	padding: var(--section-pad) 0;
	position: relative;
}

.programmes-header{
	text-align: left;
	max-width: none;
	margin: 0 0 var(--section-head-gap) 0;
}

.programmes-eyebrow{
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	color: #AD1D1D;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.programmes-eyebrow::before{
	content: "";
	width: 28px;
	height: 3px;
	border-radius: 99px;
	background-color: #AD1D1D;
}

.programmes-title{
	font-weight: 800;
	font-size: clamp(32px, 4vw, 48px);
	color: #110b75;
	margin: 0 0 14px;
	line-height: 1.15;
	text-align: left;
}

.programmes-intro{
	margin: 0;
	max-width: 640px;
	color: #5a5a5a;
	font-size: 17px;
	line-height: 1.7;
	text-align: left;
}

.programme-card{
	background-color: #fff;
	border-radius: 22px;
	height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 16px 40px rgba(45, 37, 128, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
}

.programme-card::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 5px;
	z-index: 3;
	pointer-events: none;
}

.programme-card--navy::before{
	background-color: #110b75;
}

.programme-card--red::before{
	background-color: #AD1D1D;
}

.programme-card--purple::before{
	background-color: #2D2580;
}

.programme-card:hover{
	transform: translateY(-8px);
	box-shadow: 0 22px 48px rgba(45, 37, 128, 0.16);
}

.programme-image{
	position: relative;
	height: 220px;
	overflow: hidden;
}

.programme-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.programme-card:hover .programme-image img{
	transform: scale(1.06);
}

.programme-image-alt{
	object-position: 80% center;
}

.programme-image-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 75%;
	pointer-events: none;
}

.programme-card--navy .programme-image-gradient{
	background: linear-gradient(to top, rgba(17, 11, 117, 0.92) 0%, rgba(17, 11, 117, 0.28) 55%, transparent 100%);
}

.programme-card--red .programme-image-gradient{
	background: linear-gradient(to top, rgba(173, 29, 29, 0.92) 0%, rgba(173, 29, 29, 0.28) 55%, transparent 100%);
}

.programme-card--purple .programme-image-gradient{
	background: linear-gradient(to top, rgba(45, 37, 128, 0.92) 0%, rgba(45, 37, 128, 0.28) 55%, transparent 100%);
}

.programme-index{
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	padding: 4px 10px;
}

.programme-label{
	position: absolute;
	left: 18px;
	bottom: 18px;
	z-index: 2;
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}

.programme-card--navy .programme-label{
	background-color: #110b75;
}

.programme-card--red .programme-label{
	background-color: #AD1D1D;
}

.programme-card--purple .programme-label{
	background-color: #2D2580;
}

.programme-body{
	padding: 22px 24px 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
	text-align: left;
}

.programme-heading{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}

.programme-icon{
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}

.programme-card--navy .programme-icon{
	background-color: rgba(17, 11, 117, 0.1);
	color: #110b75;
}

.programme-card--red .programme-icon{
	background-color: rgba(173, 29, 29, 0.1);
	color: #AD1D1D;
}

.programme-card--purple .programme-icon{
	background-color: rgba(45, 37, 128, 0.1);
	color: #2D2580;
}

.programme-name{
	font-size: 24px;
	font-weight: 800;
	margin: 0;
	line-height: 1.2;
	text-align: left;
}

.programme-card--navy .programme-name{
	color: #110b75;
}

.programme-card--red .programme-name{
	color: #AD1D1D;
}

.programme-card--purple .programme-name{
	color: #2D2580;
}

.programme-card p{
	margin-bottom: 18px;
	color: #5a5a5a;
	line-height: 1.65;
	text-align: left;
}

.programme-link{
	align-self: flex-start;
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	color: inherit;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	transition: 0.3s;
	background: none;
}

.programme-card--navy .programme-link{
	color: #110b75;
}

.programme-card--red .programme-link{
	color: #AD1D1D;
}

.programme-card--purple .programme-link{
	color: #2D2580;
}

.programme-link:hover{
	gap: 12px;
	opacity: 0.82;
}

a.programme-card,
a.programme-card:hover,
a.programme-card:focus-visible{
	text-decoration: none;
	color: inherit;
}

.programme-page-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.programme-page-actions .about-link{
	margin-top: 0;
}

.programme-focus{
	height: 100%;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background-color: #fff;
	border-radius: 18px;
	padding: 22px 20px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
}

.programme-focus-icon{
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
}

.programme-focus h3{
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 800;
	color: #110b75;
}

.programme-focus p{
	margin: 0;
	color: #5a5a5a;
	font-size: 15px;
	line-height: 1.65;
}

.programme-page-more{
	padding: var(--section-pad) 0;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.programme-page-actions .about-link{
		width: 100%;
		justify-content: center;
	}
}

@media screen and (max-width: 767px) {
	.programmes-section{
		padding: var(--section-pad) 0;
	}

	.programmes-header{
		margin-bottom: var(--section-head-gap);
		max-width: 100%;
	}

	.programme-image{
		height: 200px;
	}
}

.about-section{
	background-color: #fff;
	padding: var(--section-pad) 0;
	overflow-x: hidden;
}

.about-media{
	position: relative;
	width: 100%;
	max-width: 100%;
	border-radius: 22px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	max-height: 540px;
	background-color: #f4f2fb;
	box-shadow: 0 18px 44px rgba(17, 11, 117, 0.12);
}

.about-media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.about-media-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46%;
	background: linear-gradient(to top, rgba(17, 11, 117, 0.72) 0%, rgba(17, 11, 117, 0.2) 55%, transparent 100%);
	pointer-events: none;
}

.about-caption{
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	text-align: left;
	background: rgba(17, 11, 117, 0.94);
	color: #fff;
	padding: 14px 18px;
	border-radius: 14px;
}

.about-caption strong{
	display: block;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}

.about-caption span{
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.88);
}

.about-copy{
	text-align: left;
	max-width: 100%;
	overflow-wrap: break-word;
}

.about-copy .programmes-title{
	margin-bottom: 10px;
}

.about-org{
	font-size: clamp(17px, 2vw, 22px);
	font-weight: 700;
	color: #2D2580;
	margin: 0 0 18px;
	line-height: 1.4;
}

.about-vision{
	border-left: 4px solid #AD1D1D;
	padding: 12px 0 12px 18px;
	margin: 0 0 20px;
	color: #110b75;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.65;
	background: rgba(173, 29, 29, 0.05);
	border-radius: 0 12px 12px 0;
}

.about-copy p{
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 16px;
}

.about-link{
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
}

@media screen and (max-width: 991px) {
	.about-media{
		max-height: 420px;
		max-width: 420px;
		margin: 0 auto 4px;
	}
}

@media screen and (max-width: 767px) {
	.about-media{
		aspect-ratio: 3 / 4;
		max-height: 440px;
		max-width: 100%;
		border-radius: 18px;
	}

	.about-media img{
		object-position: top center;
	}

	.about-caption{
		left: 10px;
		right: 10px;
		bottom: 10px;
		padding: 10px 12px;
		border-radius: 12px;
	}

	.about-caption strong{
		font-size: 15px;
	}

	.about-caption span{
		font-size: 12px;
	}

	.about-copy .programmes-title{
		font-size: 30px;
		margin-bottom: 8px;
	}

	.about-org{
		font-size: 16px;
		margin-bottom: 14px;
	}

	.about-vision{
		font-size: 15px;
		padding: 10px 12px 10px 14px;
		margin-bottom: 16px;
	}

	.about-copy p{
		font-size: 15px;
		line-height: 1.7;
		margin-bottom: 14px;
	}

	.about-link{
		width: 100%;
		justify-content: center;
		margin-top: 4px;
	}
}

@media screen and (max-width: 420px) {
	.about-media{
		max-height: 400px;
	}
}

.news-section{
	background-color: #F7F4FF;
	background-image:
		radial-gradient(circle at 94% 12%, rgba(173, 29, 29, 0.07), transparent 26%),
		radial-gradient(circle at 8% 88%, rgba(17, 11, 117, 0.08), transparent 30%);
	padding: var(--section-pad) 0;
}

.news-card{
	background-color: #fff;
	border-radius: 22px;
	height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 16px 40px rgba(45, 37, 128, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover{
	transform: translateY(-8px);
	box-shadow: 0 22px 48px rgba(45, 37, 128, 0.16);
}

.news-image{
	position: relative;
	height: 200px;
	overflow: hidden;
}

.news-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.news-image-placeholder{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #E8E4F8;
	color: #110b75;
	font-size: 42px;
}

.news-card:hover .news-image img{
	transform: scale(1.06);
}

.news-image--full{
	height: auto;
	background-color: #110b75;
}

.news-image--full img{
	height: auto;
	object-fit: contain;
}

.news-card:hover .news-image--full img{
	transform: none;
}

.news-image--full .news-image-gradient{
	height: 38%;
}

.news-venue{
	display: flex;
	align-items: center;
	gap: 6px;
	color: #5a5a5a;
	font-size: 13px;
	font-weight: 600;
	margin: -2px 0 10px;
}

.news-image-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 70%;
	background: linear-gradient(to top, rgba(17, 11, 117, 0.82) 0%, rgba(17, 11, 117, 0.22) 55%, transparent 100%);
	pointer-events: none;
}

.news-label{
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-block;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
	background-color: #AD1D1D;
}

.news-body{
	padding: 20px 22px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
	text-align: left;
}

.news-date{
	display: block;
	color: #AD1D1D;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 8px;
}

.news-title{
	font-size: 20px;
	font-weight: 800;
	color: #110b75;
	margin: 0 0 10px;
	line-height: 1.3;
}

.news-body p{
	color: #5a5a5a;
	font-size: 15px;
	line-height: 1.65;
	margin-bottom: 16px;
}

.news-link{
	align-self: flex-start;
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #110b75;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	transition: 0.3s;
}

.news-link:hover{
	gap: 12px;
	color: #AD1D1D;
}

@media screen and (max-width: 767px) {
	.news-image{
		height: 180px;
	}

	.news-image--full{
		height: auto;
	}

	.news-title{
		font-size: 18px;
	}
}

.advantage-section{
	background-color: #FCFAFF;
	background-image:
		radial-gradient(circle at 14% 18%, rgba(17, 11, 117, 0.045), transparent 32%),
		radial-gradient(circle at 88% 78%, rgba(173, 29, 29, 0.04), transparent 30%);
	padding: var(--section-pad) 0;
}

.advantage-copy{
	text-align: left;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.advantage-intro{
	margin: 0 0 24px;
	max-width: 540px;
	color: #5a5a5a;
	font-size: 17px;
	line-height: 1.7;
}

.advantage-list{
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.advantage-list li{
	display: flex;
	align-items: center;
	gap: 14px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.05);
	border-radius: 18px;
	padding: 14px 16px;
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.advantage-list li:hover{
	transform: translateX(4px);
	box-shadow: 0 12px 28px rgba(17, 11, 117, 0.07);
}

.advantage-num{
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #8a7aa8;
	min-width: 28px;
}

.advantage-list li:nth-child(2) .advantage-num{
	color: #c07a7a;
}

.advantage-list li:nth-child(3) .advantage-num{
	color: #7a74a8;
}

.advantage-icon{
	width: 46px;
	height: 46px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
}

.advantage-list li:nth-child(2) .advantage-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.advantage-list li:nth-child(3) .advantage-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.advantage-title{
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: #110b75;
	line-height: 1.35;
}

.advantage-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	align-self: flex-start;
	width: auto;
	transition: gap 0.35s ease, background-color 0.35s ease;
}

.advantage-link:hover{
	color: #fff;
	gap: 12px;
}

.advantage-media-wrap{
	position: relative;
	padding: 18px 0 0 18px;
	height: 100%;
	min-height: 440px;
}

.advantage-media-frame{
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 18px;
	left: 0;
	border-radius: 28px;
	background-color: #E8E4F8;
}

.advantage-media{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 420px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(17, 11, 117, 0.08);
}

.advantage-media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.advantage-media-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 52%;
	background: linear-gradient(to top, rgba(17, 11, 117, 0.72) 0%, rgba(17, 11, 117, 0.22) 55%, transparent 100%);
	pointer-events: none;
}

.advantage-media-caption{
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	z-index: 2;
	text-align: left;
	color: #fff;
	background: rgba(17, 11, 117, 0.88);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	padding: 16px 18px;
}

.advantage-media-caption strong{
	display: block;
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 4px;
}

.advantage-media-caption span{
	display: block;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.88);
}

@media screen and (max-width: 991px) {
	.advantage-media-wrap,
	.advantage-media{
		min-height: 340px;
	}
}

@media screen and (max-width: 767px) {
	.advantage-intro{
		font-size: 15px;
		margin-bottom: 18px;
	}

	.advantage-title{
		font-size: 15px;
	}

	.advantage-media-wrap{
		padding: 14px 0 0 14px;
		min-height: 280px;
	}

	.advantage-media{
		min-height: 260px;
	}

	.advantage-media-caption{
		left: 12px;
		right: 12px;
		bottom: 12px;
		padding: 12px 14px;
	}

	.advantage-media-caption strong{
		font-size: 16px;
	}
}

.partners-section{
	background-color: #F8F6FF;
	background-image:
		radial-gradient(circle at 10% 20%, rgba(17, 11, 117, 0.05), transparent 34%),
		radial-gradient(circle at 90% 80%, rgba(173, 29, 29, 0.04), transparent 32%);
	padding: var(--section-pad) 0;
}

.partners-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.partner-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: inherit;
	min-height: 210px;
	padding: 28px 20px 22px;
	background-color: #fff;
	border-radius: 24px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 8px 24px rgba(17, 11, 117, 0.04);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.4s ease;
}

.partner-card:hover{
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(17, 11, 117, 0.08);
	border-color: rgba(17, 11, 117, 0.12);
	color: inherit;
}

.partner-card img{
	max-width: 148px;
	max-height: 84px;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	filter: grayscale(0.35);
	opacity: 0.88;
	margin-bottom: 18px;
	transition: filter 0.4s ease, opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.partner-card:hover img{
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.04);
}

.partner-card strong{
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #110b75;
	line-height: 1.3;
	margin-bottom: 6px;
}

.partner-card span{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	font-size: 13px;
	font-weight: 600;
	color: #8a7aa8;
	transition: color 0.3s ease, gap 0.3s ease;
}

.partner-card:hover span{
	color: #AD1D1D;
	gap: 8px;
}

.partner-card:not(a){
	cursor: default;
}

.partner-card span i{
	font-size: 12px;
}

@media screen and (max-width: 991px) {
	.partners-grid{
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.partner-card{
		min-height: 190px;
		padding: 22px 16px 18px;
	}
}

@media screen and (max-width: 480px) {
	.partner-card{
		min-height: 176px;
		padding: 18px 14px 16px;
		border-radius: 20px;
	}

	.partner-card img{
		max-width: 120px;
		max-height: 68px;
		margin-bottom: 14px;
	}

	.partner-card strong{
		font-size: 14px;
	}
}



.inner-page{
	background-color: #fff;
	padding: 8px 0 64px;
}

.inner-page-body{
	max-width: 720px;
}

.inner-page-body p{
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 16px;
}

.inner-contacts{
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.inner-contacts li{
	color: #110b75;
	font-weight: 600;
	font-size: 16px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(17, 11, 117, 0.08);
}

.about-page-hero{
	background-color: #FCFAFF;
	padding: var(--section-pad) 0 28px;
}

.page-header{
	position: relative;
}

.page-header-main{
	position: relative;
	overflow: hidden;
	background-color: #110b75;
	background-image:
		radial-gradient(circle at 8% 0%, rgba(173, 29, 29, 0.28), transparent 38%),
		radial-gradient(circle at 92% 110%, rgba(45, 37, 128, 0.9), transparent 42%),
		linear-gradient(135deg, #110b75 0%, #1a1470 52%, #2D2580 100%);
	padding: 18px 0 28px;
}

.page-header-main::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
	pointer-events: none;
}

.page-header-main::after{
	content: "KOGS";
	position: absolute;
	right: 3%;
	bottom: -22px;
	font-size: clamp(48px, 10vw, 112px);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
	color: rgba(255, 255, 255, 0.06);
	pointer-events: none;
	user-select: none;
}

.page-header::after{
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(90deg, #AD1D1D 0%, #2D2580 55%, #E8E4F8 100%);
}

.page-header-main .container{
	position: relative;
	z-index: 1;
}

.page-breadcrumb ol{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0 0 14px;
	padding: 0;
}

.page-breadcrumb li{
	display: inline-flex;
	align-items: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.page-breadcrumb li:not(:last-child)::after{
	content: "";
	width: 6px;
	height: 6px;
	margin: 0 10px;
	border-right: 2px solid rgba(255, 255, 255, 0.35);
	border-top: 2px solid rgba(255, 255, 255, 0.35);
	transform: rotate(45deg);
}

.page-breadcrumb a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	transition: color 0.2s ease;
}

.page-breadcrumb a i{
	font-size: 14px;
}

.page-breadcrumb a:hover{
	color: #fff;
}

.page-breadcrumb span{
	color: #fff;
}

.page-breadcrumb li:last-child span{
	display: inline-block;
	max-width: min(52vw, 420px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

.page-header-copy{
	max-width: 760px;
}

.page-header-main .programmes-eyebrow{
	color: #ffb4b4;
	margin-bottom: 6px;
}

.page-header-main .programmes-eyebrow::before{
	background-color: #AD1D1D;
}

.page-header-title{
	margin: 0;
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 800;
	color: #fff;
	line-height: 1.2;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
}

.page-header-sub{
	display: inline-block;
	margin: 12px 0 0;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.16);
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 600;
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.4;
}

.page-header--about .page-header-main{
	padding: 20px 0 32px;
}

@media screen and (max-width: 767px) {
	.page-header-main{
		padding: 16px 0 22px;
	}

	.page-header--about .page-header-main{
		padding: 16px 0 24px;
	}

	.page-breadcrumb ol{
		margin-bottom: 12px;
	}

	.page-header-sub{
		margin-top: 10px;
		padding: 6px 12px;
	}

	.page-header-main::after{
		right: 8px;
		bottom: -10px;
	}
}

.about-page-org{
	margin: 0;
	max-width: 720px;
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 700;
	color: #2D2580;
	line-height: 1.4;
}

.about-page-intro{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.about-intro-media-wrap{
	position: relative;
	padding: 18px 0 0 18px;
}

.about-intro-media-frame{
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 18px;
	left: 0;
	border-radius: 28px;
	background-color: #E8E4F8;
}

.about-intro-media-wrap .about-media{
	position: relative;
	z-index: 1;
	max-width: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	max-height: 480px;
}

.about-intro-media-wrap .about-media img{
	object-position: center center;
}

.about-page-copy{
	text-align: left;
}

.about-page-copy .programmes-title{
	margin-bottom: 8px;
}

.about-page-sub{
	margin: 0 0 22px;
	font-size: clamp(17px, 2vw, 22px);
	font-weight: 700;
	color: #2D2580;
	line-height: 1.4;
}

.about-page-copy p{
	color: #5a5a5a;
	font-size: 17px;
	line-height: 1.8;
	margin-bottom: 16px;
}

.about-page-copy .about-link{
	width: auto;
	align-self: flex-start;
	margin-top: 6px;
}

.about-page-stats{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.about-stats-list{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.about-stat{
	display: flex;
	align-items: center;
	gap: 16px;
	background-color: #fff;
	border-radius: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
}

.about-stat-icon{
	width: 52px;
	height: 52px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.about-stat--years .about-stat-icon{
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
}

.about-stat--members .about-stat-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.about-stat--branches .about-stat-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.about-stat-copy strong{
	display: block;
	font-size: clamp(28px, 3.5vw, 36px);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #110b75;
	line-height: 1;
	margin-bottom: 4px;
}

.about-stat--members .about-stat-copy strong{
	color: #AD1D1D;
}

.about-stat--branches .about-stat-copy strong{
	color: #2D2580;
}

.about-stat-copy span{
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #5a5a5a;
}

.about-stats-media-wrap{
	position: relative;
	padding: 18px 0 0 18px;
	height: 100%;
	min-height: 380px;
}

.about-stats-media-frame{
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 18px;
	left: 0;
	border-radius: 28px;
	background-color: #E8E4F8;
}

.about-stats-media{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 360px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(17, 11, 117, 0.08);
}

.about-stats-media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.about-stats-media-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46%;
	background: linear-gradient(to top, rgba(17, 11, 117, 0.72) 0%, rgba(17, 11, 117, 0.2) 55%, transparent 100%);
	pointer-events: none;
}

.about-stats-media-caption{
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	text-align: left;
	background: rgba(17, 11, 117, 0.94);
	color: #fff;
	padding: 14px 18px;
	border-radius: 14px;
}

.about-stats-media-caption strong{
	display: block;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}

.about-stats-media-caption span{
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.88);
}

@media screen and (max-width: 991px) {
	.about-stats-media-wrap,
	.about-stats-media{
		min-height: 300px;
	}
}

.about-page-purpose{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.purpose-panel{
	position: relative;
	height: 100%;
	overflow: hidden;
	background-color: #fff;
	border-radius: 24px;
	padding: 32px 28px 28px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 14px 34px rgba(17, 11, 117, 0.05);
}

.purpose-panel::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background-color: #110b75;
}

.purpose-panel--mission::before{
	background-color: #AD1D1D;
}

.purpose-panel::after{
	content: "“";
	position: absolute;
	right: 22px;
	top: 8px;
	font-size: 120px;
	font-weight: 700;
	line-height: 1;
	color: rgba(17, 11, 117, 0.08);
	pointer-events: none;
}

.purpose-panel--mission::after{
	color: rgba(173, 29, 29, 0.1);
}

.purpose-panel-top{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
	position: relative;
	z-index: 1;
}

.purpose-icon{
	width: 54px;
	height: 54px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 24px;
	flex-shrink: 0;
}

.purpose-panel--mission .purpose-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.purpose-kicker{
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #8a7aa8;
	margin-bottom: 2px;
}

.purpose-panel--mission .purpose-kicker{
	color: #c07a7a;
}

.purpose-panel h3{
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: #110b75;
	line-height: 1.2;
}

.purpose-panel p{
	position: relative;
	z-index: 1;
	margin: 0;
	color: #110b75;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.purpose-panel{
		padding: 24px 20px 22px;
	}

	.purpose-panel h3{
		font-size: 20px;
	}

	.purpose-panel p{
		font-size: 16px;
	}

	.purpose-panel::after{
		font-size: 88px;
		right: 14px;
		top: 4px;
	}
}

.about-page-pillars{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.about-pillar{
	height: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	background-color: #fff;
	border-radius: 18px;
	padding: 18px 16px;
	border: 1px solid rgba(17, 11, 117, 0.05);
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.about-pillar:hover{
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(17, 11, 117, 0.08);
}

.about-pillar-icon{
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
}

.about-page-pillars .col-md-6:nth-child(2) .about-pillar-icon,
.about-page-pillars .col-md-6:nth-child(5) .about-pillar-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.about-page-pillars .col-md-6:nth-child(3) .about-pillar-icon,
.about-page-pillars .col-md-6:nth-child(6) .about-pillar-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.about-pillar h3{
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #110b75;
	line-height: 1.35;
}

.about-page-values{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.about-values-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.about-values-card{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	background-color: #fff;
	border-radius: 24px;
	padding: 32px 28px;
	border: 1px solid rgba(17, 11, 117, 0.08);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	text-decoration: none;
	transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	overflow: hidden;
}

.about-values-card::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	transition: height 0.35s ease;
}

.about-values-card--plan::before{
	background-color: #110b75;
}

.about-values-card--constitution::before{
	background-color: #AD1D1D;
}

.about-values-card:hover{
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(17, 11, 117, 0.08);
	border-color: rgba(17, 11, 117, 0.12);
}

.about-values-card:hover::before{
	height: 6px;
}

.about-values-card-icon{
	width: 56px;
	height: 56px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	flex-shrink: 0;
}

.about-values-card--plan .about-values-card-icon{
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
}

.about-values-card--constitution .about-values-card-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.about-values-card-content{
	flex: 1;
}

.about-values-card h3{
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 800;
	color: #110b75;
	line-height: 1.3;
}

.about-values-card p{
	margin: 0 0 16px;
	font-size: 15px;
	font-weight: 500;
	color: #5a5a5a;
	line-height: 1.6;
}

.about-values-card-link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	transition: gap 0.25s ease;
}

.about-values-card--plan .about-values-card-link{
	color: #110b75;
}

.about-values-card--constitution .about-values-card-link{
	color: #AD1D1D;
}

.about-values-card:hover .about-values-card-link{
	gap: 10px;
}

.about-values-card-link i{
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	.about-stats-media-wrap{
		padding: 14px 0 0 14px;
		min-height: 260px;
	}

	.about-stats-media{
		min-height: 240px;
	}

	.about-stat{
		padding: 14px 16px;
	}

	.about-page-copy p{
		font-size: 15px;
	}

	.about-page-copy .about-link{
		width: auto;
	}

	.about-values-grid{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.about-values-card{
		padding: 26px 22px;
		border-radius: 20px;
	}

	.about-values-card-icon{
		width: 50px;
		height: 50px;
		font-size: 23px;
	}

	.about-values-card h3{
		font-size: 20px;
	}

	.about-values-card p{
		font-size: 14px;
	}
}



.leadership-section{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.leadership-group-count{
	margin: -6px 0 0;
	color: #5a5a5a;
	font-size: 15px;
}

.leadership-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: #fff;
	border-radius: 22px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	text-decoration: none;
	color: inherit;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.leadership-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(17, 11, 117, 0.1);
	color: inherit;
}

.leadership-photo{
	position: relative;
	width: 100%;
	height: 240px;
	margin: 0;
	overflow: hidden;
	background-color: #E8E4F8;
}

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

.leadership-card:hover .leadership-photo img{
	transform: scale(1.06);
}

.leadership-initials{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 42px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.leadership-initials--1{
	background-color: rgba(17, 11, 117, 0.1);
	color: #110b75;
}

.leadership-initials--2{
	background-color: rgba(173, 29, 29, 0.1);
	color: #AD1D1D;
}

.leadership-initials--3{
	background-color: rgba(45, 37, 128, 0.1);
	color: #2D2580;
}

.leadership-copy{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px 22px 22px;
}

.leadership-role{
	display: inline-block;
	margin-bottom: 8px;
	color: #AD1D1D;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.leadership-copy h3{
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	color: #110b75;
	line-height: 1.3;
}

.leadership-excerpt{
	margin: 10px 0 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	overflow: hidden;
}

.leadership-more{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 16px;
	color: #110b75;
	font-size: 14px;
	font-weight: 700;
}

.leadership-more i{
	transition: transform 0.25s ease;
}

.leadership-card:hover .leadership-more i{
	transform: translateX(4px);
}

.leadership-profile{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.leadership-profile-layout{
	display: grid;
	grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
	gap: 40px 48px;
	align-items: start;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 28px;
	padding: 28px 32px 32px;
	box-shadow: 0 16px 40px rgba(17, 11, 117, 0.08);
	min-width: 0;
}

.leadership-profile-media{
	position: sticky;
	top: 96px;
	padding: 18px 0 0 18px;
}

.leadership-profile-frame{
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 18px;
	left: 0;
	border-radius: 28px;
	background-color: #E8E4F8;
}

.leadership-profile-photo{
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 22px;
	background-color: #E8E4F8;
	aspect-ratio: 4 / 5;
	max-height: 520px;
	box-shadow: 0 18px 44px rgba(17, 11, 117, 0.12);
}

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

.leadership-profile-photo .leadership-initials{
	font-size: 64px;
}

.leadership-profile-content{
	min-width: 0;
	padding: 8px 0 0;
	overflow-wrap: anywhere;
}

.leadership-profile-content .programmes-eyebrow{
	margin-bottom: 10px;
}

.leadership-profile-content .programmes-title{
	margin-bottom: 8px;
}

.leadership-profile-sub{
	margin: 0 0 22px;
	font-size: clamp(17px, 2vw, 22px);
	font-weight: 700;
	color: #2D2580;
	line-height: 1.4;
}

.leadership-profile-bio{
	margin-bottom: 28px;
}

.leadership-profile-bio.rich-text{
	font-size: 17px;
	line-height: 1.8;
	color: #5a5a5a;
}

.leadership-profile-bio.rich-text p{
	margin: 0 0 16px;
}

.leadership-profile-bio.rich-text p:last-child{
	margin-bottom: 0;
}

.leadership-profile-empty{
	margin: 0 0 28px;
}

.leadership-profile-lead{
	margin: 0 0 14px;
	color: #110b75;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.65;
	border-left: 4px solid #AD1D1D;
	padding: 12px 0 12px 18px;
	background: rgba(173, 29, 29, 0.05);
}

.leadership-profile-note{
	margin: 0;
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.7;
}

.leadership-related{
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid rgba(17, 11, 117, 0.1);
}

.leadership-related .programmes-title{
	font-size: clamp(24px, 3vw, 32px);
}

@media screen and (max-width: 991px) {
	.leadership-profile-layout{
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 22px;
	}

	.leadership-profile-media{
		position: static;
		width: 100%;
		max-width: 360px;
		margin: 0;
		padding: 12px 0 0 12px;
	}

	.leadership-profile-photo{
		aspect-ratio: 4 / 5;
		max-height: min(58vh, 420px);
	}

	.leadership-profile-content{
		padding-top: 0;
	}

	.leadership-profile-content .news-back{
		width: 100%;
		justify-content: center;
	}
}

@media screen and (max-width: 767px) {
	.leadership-photo{
		height: 200px;
	}

	.leadership-initials{
		font-size: 32px;
	}

	.leadership-copy{
		padding: 16px 18px 18px;
	}

	.leadership-copy h3{
		font-size: 18px;
		overflow-wrap: anywhere;
	}

	.leadership-profile{
		padding: 24px 0 36px;
	}

	.leadership-profile-layout{
		padding: 14px;
		border-radius: 18px;
		gap: 18px;
	}

	.leadership-profile-media{
		max-width: 220px;
		margin: 0;
		padding: 0;
	}

	.leadership-profile-frame{
		display: none;
	}

	.leadership-profile-photo{
		border-radius: 16px;
		aspect-ratio: 1 / 1;
		max-height: 220px;
	}

	.leadership-profile-photo .leadership-initials{
		font-size: 42px;
	}

	.leadership-profile-sub{
		margin-bottom: 16px;
		font-size: 16px;
	}

	.leadership-profile-bio.rich-text{
		font-size: 16px;
		line-height: 1.7;
	}

	.leadership-profile-lead{
		font-size: 16px;
		padding: 10px 12px 10px 14px;
	}

	.leadership-related{
		margin-top: 28px;
		padding-top: 24px;
	}

	.page-header-sub{
		display: block;
		width: fit-content;
		max-width: 100%;
		white-space: normal;
		border-radius: 16px;
	}
}

@media screen and (max-width: 480px) {
	.leadership-profile-layout{
		padding: 12px;
		border-radius: 16px;
	}

	.leadership-profile-media,
	.leadership-profile-photo{
		max-width: 180px;
		max-height: 180px;
	}

	.leadership-card:hover{
		transform: none;
	}
}

.projects-section{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.project-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: #fff;
	border-radius: 22px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	text-decoration: none;
	color: inherit;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.project-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(17, 11, 117, 0.1);
	color: inherit;
}

.project-card-media{
	position: relative;
	height: 200px;
	overflow: hidden;
	background-color: #E8E4F8;
}

.project-card-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.project-card-placeholder{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #110b75;
	font-size: 40px;
}

.project-card-copy{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px 22px 22px;
}

.project-card-meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 8px;
}

.project-status{
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.project-status--ongoing{
	background-color: rgba(17, 11, 117, 0.1);
	color: #110b75;
}

.project-status--completed{
	background-color: rgba(46, 125, 50, 0.12);
	color: #2e7d32;
}

.project-card-duration{
	display: inline-block;
	margin: 0;
	color: #AD1D1D;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.project-card-copy h2{
	margin: 0 0 10px;
	color: #110b75;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}

.project-card-copy p{
	margin: 0 0 14px;
	color: #5a5a5a;
	font-size: 15px;
	line-height: 1.7;
}

.project-card-sponsors{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
}

.project-card-sponsors img{
	height: 28px;
	width: auto;
	max-width: 88px;
	object-fit: contain;
}

.leadership-profile-content .project-status{
	margin: 0 0 10px;
}

.project-profile-photo{
	aspect-ratio: 16 / 10;
	max-height: 360px;
}

.project-sponsors{
	margin: 0 0 28px;
}

.project-sponsors h3{
	margin: 0 0 16px;
	color: #110b75;
	font-size: 18px;
	font-weight: 800;
}

.project-sponsors-grid{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.project-sponsors-grid figure{
	margin: 0;
	width: 120px;
	text-align: center;
}

.project-sponsors-grid img{
	width: 100%;
	height: 64px;
	object-fit: contain;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
	border-radius: 12px;
	padding: 8px;
}

.project-sponsors-grid figcaption{
	margin-top: 6px;
	color: #5a5a5a;
	font-size: 12px;
	font-weight: 600;
}

.membership-intro{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.membership-categories{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.membership-category{
	height: 100%;
	background-color: #fff;
	border-radius: 24px;
	padding: 28px 24px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	position: relative;
	overflow: hidden;
}

.membership-category::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background-color: #110b75;
}

.membership-category--associate::before{
	background-color: #AD1D1D;
}

.membership-category-icon{
	width: 52px;
	height: 52px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-bottom: 16px;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
}

.membership-category--associate .membership-category-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.membership-category h3{
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 800;
	color: #110b75;
}

.membership-category p{
	margin: 0 0 16px;
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.7;
}

.membership-category strong{
	display: inline-block;
	font-size: 20px;
	font-weight: 800;
	color: #110b75;
}

.membership-category--associate strong{
	color: #AD1D1D;
}

.membership-benefits{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.membership-benefit{
	height: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	background-color: #fff;
	border-radius: 18px;
	padding: 18px 16px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
}

.membership-benefit-icon{
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
}

.membership-benefits .col-lg-4:nth-child(2) .membership-benefit-icon,
.membership-benefits .col-lg-4:nth-child(5) .membership-benefit-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.membership-benefits .col-lg-4:nth-child(3) .membership-benefit-icon,
.membership-benefits .col-lg-4:nth-child(6) .membership-benefit-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.membership-benefit h3{
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #110b75;
	line-height: 1.35;
}

.membership-join{
	background-color: #F8F6FF;
	padding: var(--section-pad) 0;
}

.membership-steps{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.membership-step{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background-color: #fff;
	border-radius: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
}

.membership-step-num{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-width: 40px;
	height: 40px;
	border-radius: 12px;
	background-color: rgba(173, 29, 29, 0.08);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #AD1D1D;
	margin-bottom: 0;
}

.membership-step h3{
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 800;
	color: #110b75;
}

.membership-step p{
	margin: 0;
	color: #5a5a5a;
	font-size: 15px;
	line-height: 1.65;
}

.membership-portal-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	width: auto;
}

.membership-portal-link:hover{
	color: #fff;
}

.membership-join .row > [class*="col-"]:last-child{
	display: flex;
}

.membership-join-media-wrap{
	position: relative;
	padding: 18px 0 0 18px;
	flex: 1 1 auto;
	width: 100%;
	min-height: 380px;
}

.membership-join-media-frame{
	position: absolute;
	top: 0;
	right: 18px;
	bottom: 18px;
	left: 0;
	border-radius: 28px;
	background-color: #E8E4F8;
}

.membership-join-media{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 360px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(17, 11, 117, 0.08);
}

.membership-join-media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.membership-join-media-gradient{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46%;
	background: linear-gradient(to top, rgba(17, 11, 117, 0.72) 0%, rgba(17, 11, 117, 0.2) 55%, transparent 100%);
	pointer-events: none;
}

.membership-join-media-caption{
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	text-align: left;
	background: rgba(17, 11, 117, 0.94);
	color: #fff;
	padding: 14px 18px;
	border-radius: 14px;
}

.membership-join-media-caption strong{
	display: block;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}

.membership-join-media-caption span{
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.88);
}

@media screen and (max-width: 991px) {
	.membership-join-media-wrap,
	.membership-join-media{
		min-height: 300px;
	}
}

@media screen and (max-width: 767px) {
	.membership-join-media-wrap{
		padding: 14px 0 0 14px;
		min-height: 260px;
	}

	.membership-join-media{
		min-height: 240px;
	}
}

.membership-payment{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.membership-pay-card{
	height: 100%;
	background-color: #FCFAFF;
	border-radius: 22px;
	padding: 24px 22px;
	border: 1px solid rgba(17, 11, 117, 0.06);
}

.membership-pay-icon{
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	margin-bottom: 14px;
}

.membership-pay-card:nth-child(2) .membership-pay-icon,
.col-md-4:nth-child(2) .membership-pay-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.membership-pay-card:nth-child(3) .membership-pay-icon,
.col-md-4:nth-child(3) .membership-pay-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.membership-pay-card h3{
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 800;
	color: #110b75;
}

.membership-pay-card p{
	margin: 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.7;
}

.membership-pay-card a{
	color: #110b75;
	font-weight: 700;
	text-decoration: none;
}

.membership-pay-card a:hover{
	color: #AD1D1D;
}

.nav-icon{
padding-right: 5px;
}


table td, table th {
white-space: nowrap;
}

.news-page{
	background-color: #FCFAFF;
	padding: var(--section-pad) 0;
}

.news-article{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.news-article-layout{
	max-width: 820px;
}

.news-article-layout--with-related{
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	gap: 40px 48px;
	align-items: start;
}

.news-article-main{
	min-width: 0;
}

.news-related{
	position: sticky;
	top: 96px;
}

.news-related .programmes-eyebrow{
	margin-bottom: 8px;
}

.news-related-title{
	margin: 0 0 18px;
	color: #110b75;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
}

.news-related-list{
	display: grid;
	gap: 14px;
}

.news-related-card{
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	text-decoration: none;
	color: inherit;
	padding: 10px;
	border-radius: 16px;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.news-related-card:hover{
	transform: translateY(-2px);
	border-color: rgba(17, 11, 117, 0.16);
	box-shadow: 0 12px 28px rgba(45, 37, 128, 0.1);
}

.news-related-media{
	width: 88px;
	height: 72px;
	border-radius: 12px;
	overflow: hidden;
	background-color: #E8E4F8;
}

.news-related-media img,
.news-related-media .news-image-placeholder{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

.news-related-media img{
	display: block;
}

.news-related-media .news-image-placeholder{
	font-size: 22px;
}

.news-related-copy .news-date{
	margin-bottom: 4px;
	font-size: 12px;
}

.news-related-copy .news-venue{
	margin: 0 0 4px;
	font-size: 12px;
	color: #5a5a5a;
}

.news-related-copy strong{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #110b75;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
}

.news-related-all{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	color: #110b75;
	font-weight: 700;
	text-decoration: none;
}

.news-related-all:hover{
	color: #AD1D1D;
}

.news-article-media{
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	margin-bottom: 24px;
	height: 380px;
	box-shadow: 0 12px 32px rgba(17, 11, 117, 0.08);
}

.news-article-media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.news-article-media--full{
	height: auto;
	background-color: #F4F2FB;
}

.news-article-media--full img{
	height: auto;
	object-fit: contain;
}

.news-article-venue{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #110b75;
	font-size: 14px;
	font-weight: 700;
}

.news-article-media--zoom{
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	text-align: left;
}

.news-article-media--zoom:focus-visible{
	outline: 3px solid #110b75;
	outline-offset: 4px;
}

.news-article-media-zoom{
	position: absolute;
	right: 14px;
	bottom: 14px;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(17, 11, 117, 0.88);
	color: #fff;
	font-size: 16px;
	pointer-events: none;
	box-shadow: 0 8px 18px rgba(17, 11, 117, 0.22);
}

.image-lightbox{
	position: fixed;
	inset: 0;
	z-index: 2400;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(8, 6, 40, 0.9);
}

.image-lightbox[hidden]{
	display: none !important;
}

.image-lightbox img{
	max-width: min(1200px, 100%);
	max-height: calc(100vh - 48px);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
}

.image-lightbox-close{
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 22px;
	cursor: pointer;
}

.image-lightbox-close:hover,
.image-lightbox-close:focus-visible{
	background: #AD1D1D;
	outline: none;
}

body.image-lightbox-open{
	overflow: hidden;
}

.news-article-meta{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}

.news-article-category{
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #AD1D1D;
	background-color: rgba(173, 29, 29, 0.08);
}

.event-cpd{
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #110b75;
	background-color: rgba(17, 11, 117, 0.08);
}

.news-body .event-cpd{
	margin: 0 0 10px;
}

.opportunity-status{
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.opportunity-status--open{
	color: #110b75;
	background-color: rgba(17, 11, 117, 0.08);
}

.opportunity-status--closed{
	color: #AD1D1D;
	background-color: rgba(173, 29, 29, 0.08);
}

.news-body .opportunity-status{
	margin: 0 0 10px;
}

.news-article-body p{
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 16px;
}

.news-article-register{
	margin: 0 0 22px;
}

.conference-theme{
	margin-bottom: 22px;
	padding: 18px 20px;
	border-radius: 16px;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
}

.conference-theme p:last-child{
	margin-bottom: 0;
}

.news-attachments{
	margin: 28px 0;
}

.news-attachments h2{
	margin: 0 0 14px;
	color: #110b75;
	font-size: 20px;
	font-weight: 800;
}

.news-pdf-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.news-pdf-list a{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 14px;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-weight: 700;
	text-decoration: none;
}

.news-pdf-list a:hover{
	border-color: #110b75;
}

.resources-intro{
	max-width: 720px;
	margin: 0 0 28px;
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.75;
}

.resource-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.resource-list a{
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-radius: 16px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.08);
	color: #110b75;
	text-decoration: none;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.resource-list a:hover{
	border-color: #110b75;
}

.resource-list i{
	font-size: 26px;
	color: #AD1D1D;
}

.resource-list span{
	display: grid;
	gap: 4px;
	min-width: 0;
}

.resource-list strong{
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
}

.resource-list span span{
	display: block;
	color: #5a5a5a;
	font-size: 13px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.resource-list em{
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: #AD1D1D;
}

.news-video-list{
	display: grid;
	gap: 18px;
}

.news-video-frame{
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	aspect-ratio: 16 / 9;
	background-color: #110b75;
}

.news-video-frame iframe,
.news-video-file{
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.news-video-file{
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	background-color: #110b75;
}

.gallery-intro{
	margin: 0 0 28px;
}

.gallery-meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	margin: 0 0 18px;
}

.gallery-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 32px;
}

.gallery-tile{
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background-color: #E8E4F8;
	cursor: zoom-in;
}

.gallery-tile img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.gallery-tile:hover img{
	transform: scale(1.04);
}

.gallery-tile-zoom{
	position: absolute;
	right: 12px;
	bottom: 12px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #fff;
	background-color: rgba(17, 11, 117, 0.72);
}

.video-card-media{
	display: block;
	text-decoration: none;
}

.video-card-play{
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #fff;
	font-size: 28px;
	background-color: rgba(173, 29, 29, 0.92);
	transform: translate(-50%, -50%);
}

.admin-gallery-current{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.admin-gallery-current .admin-file-existing img{
	width: 72px;
	height: 56px;
	object-fit: cover;
	border-radius: 10px;
}

.admin-gallery-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.admin-gallery-grid img{
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}

@media (max-width: 767px){
	.gallery-grid,
	.admin-gallery-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.news-back{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	width: auto;
}

.news-back:hover{
	color: #fff;
}

@media screen and (max-width: 991px) {
	.news-article-layout--with-related{
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.news-related{
		position: static;
		padding-top: 28px;
		border-top: 1px solid rgba(17, 11, 117, 0.1);
	}

	.news-article-media{
		height: 280px;
	}

	.news-article-media--full{
		height: auto;
	}
}

@media screen and (max-width: 767px) {
	.news-article-media{
		height: 220px;
		border-radius: 16px;
	}

	.news-article-media--full{
		height: auto;
	}
}

.contact-page{
	background-color: #FCFAFF;
	padding: var(--section-pad) 0;
}

.contact-page .programmes-title{
	font-size: clamp(26px, 3.4vw, 40px);
}

.contact-card{
	display: block;
	height: 100%;
	background-color: #fff;
	border-radius: 22px;
	padding: 26px 24px 24px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	position: relative;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.contact-card::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background-color: #110b75;
}

.contact-card--call::before{
	background-color: #AD1D1D;
}

.contact-card--email::before{
	background-color: #2D2580;
}

.contact-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(17, 11, 117, 0.1);
}

.contact-card-icon{
	width: 52px;
	height: 52px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-bottom: 16px;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
}

.contact-card--call .contact-card-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.contact-card--email .contact-card-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.contact-card h3{
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 800;
	color: #110b75;
}

.contact-card p{
	margin: 0;
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.7;
}

.contact-card:hover h3{
	color: #AD1D1D;
}

.contact-social-row{
	margin-top: 28px;
}

.contact-social-link{
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 18px;
	padding: 14px 16px;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease, border-color 0.2s ease;
}

.contact-social-icon{
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 18px;
	flex-shrink: 0;
}

.contact-social-link--twitter .contact-social-icon,
.contact-social-link--instagram .contact-social-icon{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.contact-social-link--youtube .contact-social-icon{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.contact-social-text{
	min-width: 0;
}

.contact-social-link strong{
	display: block;
	color: #110b75;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

.contact-social-text span{
	display: block;
	margin-top: 4px;
	color: #5a5a5a;
	font-size: 13px;
	line-height: 1.4;
}

.contact-social-link:hover{
	transform: translateY(-4px);
	border-color: rgba(17, 11, 117, 0.16);
	box-shadow: 0 14px 28px rgba(17, 11, 117, 0.08);
}

.contact-social-link:hover strong{
	color: #AD1D1D;
}

.contact-message{
	background-color: #fff;
	padding: var(--section-pad) 0;
}

.contact-form-card{
	height: 100%;
	background-color: #FCFAFF;
	border-radius: 24px;
	padding: 32px 28px;
	border: 1px solid rgba(17, 11, 117, 0.06);
}

.contact-form-card .programmes-title{
	margin-bottom: 12px;
	font-size: clamp(26px, 3.2vw, 36px);
}

.contact-form-card p{
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 24px;
}

.contact-form label{
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	color: #110b75;
}

.contact-form input,
.contact-form textarea{
	width: 100%;
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 14px;
	padding: 12px 16px;
	background-color: #fff;
	color: #110b75;
	font-family: inherit;
	font-size: 15px;
}

.contact-form input:focus,
.contact-form textarea:focus{
	outline: none;
	border-color: #110b75;
	box-shadow: 0 0 0 3px rgba(17, 11, 117, 0.08);
}

.contact-form textarea{
	resize: vertical;
	min-height: 140px;
}

.contact-submit{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	width: auto;
}

.contact-submit:hover{
	color: #fff;
}

.contact-map-wrap{
	position: relative;
	height: 100%;
	min-height: 420px;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(17, 11, 117, 0.08);
}

.contact-map-wrap iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

@media screen and (max-width: 991px) {
	.contact-form-card{
		padding: 24px 20px;
	}

	.contact-map-wrap{
		min-height: 320px;
	}
}

@media screen and (max-width: 767px) {
	.contact-social-row{
		margin-top: 20px;
	}

	.contact-map-wrap{
		min-height: 260px;
	}
}

.site-footer{
	position: relative;
	color: rgba(255, 255, 255, 0.86);
	background-color: #110b75;
	background-image:
		radial-gradient(circle at 8% 0%, rgba(173, 29, 29, 0.28), transparent 38%),
		radial-gradient(circle at 92% 110%, rgba(45, 37, 128, 0.9), transparent 42%),
		linear-gradient(135deg, #110b75 0%, #1a1470 52%, #2D2580 100%);
}

.site-footer::before{
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(90deg, #AD1D1D 0%, #2D2580 55%, #E8E4F8 100%);
}

.site-footer-main{
	position: relative;
	overflow: hidden;
	padding: var(--section-pad) 0 36px;
}

.site-footer-main::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45), transparent 88%);
	pointer-events: none;
}

.site-footer-main::after{
	content: "KOGS";
	position: absolute;
	right: 3%;
	bottom: -18px;
	font-size: clamp(48px, 10vw, 112px);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
	color: rgba(255, 255, 255, 0.06);
	pointer-events: none;
	user-select: none;
}

.site-footer-main .container{
	position: relative;
	z-index: 1;
}

.site-footer-brand{
	display: inline-flex;
	margin-bottom: 20px;
	text-decoration: none;
}

.site-footer-logo{
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: #fff;
	padding: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.site-footer-logo img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.site-footer-title{
	margin: 0 0 16px;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.site-footer-copy{
	margin: 0 0 20px;
	max-width: 420px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 1.75;
}

.site-footer-contact,
.site-footer-links,
.site-footer-posts{
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer-contact li,
.site-footer-links li{
	margin: 0 0 10px;
}

.site-footer-contact a,
.site-footer-links a{
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

.site-footer-contact a i{
	margin-top: 2px;
	color: #ffb4b4;
}

.site-footer-contact a:hover,
.site-footer-links a:hover,
.site-footer-posts a:hover{
	color: #ffb4b4;
}

.site-footer-social{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.site-footer-social a{
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 16px;
	text-decoration: none;
}

.site-footer-social a:hover{
	background-color: #AD1D1D;
	border-color: #AD1D1D;
	color: #fff;
}

.site-footer-posts li{
	margin: 0 0 16px;
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer-posts li:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.site-footer-posts a{
	display: inline-block;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.site-footer-posts span{
	display: block;
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.62);
	font-size: 13px;
	font-weight: 600;
}

.site-footer-bar{
	position: relative;
	z-index: 1;
	padding: 16px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(0, 0, 0, 0.18);
}

.site-footer-bar-inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	flex-wrap: wrap;
}

.site-footer-bar p{
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
	font-weight: 600;
}

.site-footer-bar-links{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.site-footer-bar-links a{
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
}

.site-footer-bar-links a:hover{
	color: #ffb4b4;
}

.site-footer-empty{
	margin: 0 0 10px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
	line-height: 1.6;
}

.site-footer-empty-link{
	color: #ffb4b4;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.site-footer-empty-link:hover{
	color: #fff;
}

@media screen and (max-width: 767px) {
	.site-footer-logo{
		width: 60px;
		height: 60px;
	}

	.site-footer-main{
		padding-bottom: 28px;
	}
}

.auth-page{
	min-height: 100vh;
	background-color: #FCFAFF;
}

.auth-shell{
	min-height: 100vh;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.auth-aside{
	position: relative;
	overflow: hidden;
	min-height: 100vh;
	color: #fff;
	display: flex;
}

.auth-aside-photo{
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: 70% center;
	transform: scale(1.04);
}

.auth-aside-overlay{
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(17, 11, 117, 0.28) 0%, transparent 28%),
		linear-gradient(to top, rgba(17, 11, 117, 0.96) 0%, rgba(17, 11, 117, 0.72) 38%, rgba(45, 37, 128, 0.28) 100%),
		linear-gradient(90deg, rgba(17, 11, 117, 0.55) 0%, rgba(17, 11, 117, 0.18) 100%);
}

.auth-aside-inner{
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 40px 48px 48px;
}

.auth-aside-logo{
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background-color: #fff;
	padding: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.auth-aside-logo img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.auth-aside-eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.auth-aside-eyebrow::before{
	content: "";
	width: 28px;
	height: 3px;
	border-radius: 99px;
	background-color: #AD1D1D;
}

.auth-aside-name{
	margin: 0 0 12px;
	max-width: 16ch;
	color: #fff;
	font-size: clamp(32px, 3.4vw, 46px);
	font-weight: 800;
	line-height: 1.12;
}

.auth-aside-lead{
	margin: 0;
	max-width: 38ch;
	color: rgba(255, 255, 255, 0.82);
	font-size: 16px;
	line-height: 1.65;
}

.auth-panel{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 32px;
	background-color: #FCFAFF;
}

.auth-panel::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, #110b75 0%, #2D2580 50%, #AD1D1D 100%);
}

.auth-card{
	width: 100%;
	max-width: 420px;
}

.auth-title{
	margin: 0 0 8px;
	color: #110b75;
	font-size: clamp(32px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.12;
}

.auth-lead{
	margin: 0 0 28px;
	color: #5a5a5a;
	font-size: 16px;
	line-height: 1.6;
}

.auth-field{
	margin-bottom: 16px;
}

.auth-form label{
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	color: #110b75;
}

.auth-control{
	position: relative;
	display: flex;
	align-items: center;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.16);
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(17, 11, 117, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-control-icon{
	position: absolute;
	left: 16px;
	color: #110b75;
	font-size: 16px;
	pointer-events: none;
}

.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="text"]{
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 16px;
	padding: 14px 48px 14px 46px;
	background-color: transparent;
	color: #110b75;
	font-family: inherit;
	font-size: 15px;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
}

.auth-control:focus-within{
	border-color: #110b75;
	box-shadow: 0 0 0 4px rgba(17, 11, 117, 0.08);
}

.auth-control--invalid{
	border-color: #AD1D1D;
	box-shadow: 0 0 0 4px rgba(173, 29, 29, 0.08);
}

.auth-toggle{
	position: absolute;
	right: 8px;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #2D2580;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.auth-toggle:hover{
	background-color: #F7F4FF;
	color: #110b75;
}

.auth-toolbar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 6px 0 22px;
}

.auth-remember{
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	font-weight: 600 !important;
	color: #5a5a5a !important;
}

.auth-remember input{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #110b75;
}

.btn.auth-submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 20px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 16px;
}

.btn.auth-submit:hover{
	color: #fff;
	filter: brightness(1.08);
}

.auth-link{
	display: inline-block;
	margin-top: 18px;
	color: #110b75;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

.auth-toolbar .auth-link{
	margin-top: 0;
}

.auth-back{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 22px;
	color: #5a5a5a;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

.auth-link:hover,
.auth-back:hover{
	color: #AD1D1D;
}

.auth-error{
	margin: 8px 0 0;
	color: #AD1D1D;
	font-size: 13px;
	font-weight: 600;
}

.auth-alert{
	margin-bottom: 18px;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.auth-alert--ok{
	background-color: #F7F4FF;
	color: #110b75;
}

.auth-local-link{
	margin: -8px 0 16px;
	font-size: 13px;
}

.auth-local-link a{
	color: #AD1D1D;
	font-weight: 700;
}

.admin-header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(16px);
	border-bottom: 0;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.05);
	padding: 0 22px;
	gap: 16px;
}

.admin-header::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #110b75 0%, #2D2580 52%, #AD1D1D 100%);
}

.admin-header-left,
.admin-header-right{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.admin-header-right{
	margin-left: auto;
}

.admin-menu-btn{
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.admin-menu-btn:hover{
	background-color: #110b75;
	color: #fff;
}

.admin-brand{
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	text-decoration: none;
}

.admin-header-logo{
	height: 44px;
	width: 44px;
	object-fit: contain;
	display: block;
	flex-shrink: 0;
}

.admin-brand-copy{
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	min-width: 0;
}

.admin-brand-copy strong{
	color: #110b75;
	font-size: 16px;
	font-weight: 800;
}

.admin-brand-copy span{
	color: #5a5a5a;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 280px;
}

.admin-header-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background-color: #F7F4FF;
	color: #110b75;
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.admin-header-link:hover{
	background-color: #110b75;
	color: #fff;
}

.admin-user{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 14px 5px 5px;
	border-radius: 999px;
	background-color: #F7F4FF;
	max-width: 280px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.2s ease;
}

.admin-user:hover{
	background-color: #EDE8FF;
}

.admin-user-avatar{
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #110b75;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	flex-shrink: 0;
}

.admin-user-meta{
	display: flex;
	flex-direction: column;
	line-height: 1.25;
	min-width: 0;
}

.admin-user-meta strong{
	display: block;
	color: #110b75;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.admin-user-meta span{
	color: #5a5a5a;
	font-size: 11px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.admin-nav-backdrop{
	position: fixed;
	inset: 72px 0 0;
	background: rgba(12, 8, 88, 0.42);
	z-index: 250;
}

body.admin-nav-open{
	overflow: hidden;
}

.nav-brand{
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 4px 12px 18px;
}

.nav-brand-kicker{
	color: rgba(255, 255, 255, 0.55);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.nav-brand span:last-child{
	color: #fff;
	font-size: 18px;
	font-weight: 800;
}

.nav-label{
	margin: 14px 12px 6px;
	color: rgba(255, 255, 255, 0.42);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nav-label:first-child{
	margin-top: 0;
}

.nav-icon{
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 16px;
	flex-shrink: 0;
}

.nav-option:hover .nav-icon,
.nav-option--toggle:hover .nav-icon{
	color: #fff;
}

.nav-option--active .nav-icon{
	background-color: rgba(17, 11, 117, 0.1);
	color: #110b75;
}

.nav-suboption i,
.nav-caret{
	color: #fff;
}

.nav-footer{
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nav-logout{
	width: 100%;
	margin: 0;
}

.nav-option--logout{
	width: 100%;
	border: 0;
	text-align: left;
	font: inherit;
	color: #ffd4d4;
}

.nav-option--logout .nav-icon{
	background-color: rgba(173, 29, 29, 0.22);
	color: #ffd4d4;
}

.nav-option--logout:hover{
	color: #fff;
	background-color: rgba(173, 29, 29, 0.22);
}

@media screen and (min-width: 851px) {
	.navcontainer.navclose .nav-brand,
	.navcontainer.navclose .nav-label,
	.navcontainer.navclose .nav-option span,
	.navcontainer.navclose .nav-caret,
	.navcontainer.navclose .nav-submenu{
		display: none;
	}

	.navcontainer.navclose .nav{
		padding-left: 12px;
		padding-right: 12px;
	}

	.navcontainer.navclose .nav-option{
		justify-content: center;
		padding: 8px;
	}

	.navcontainer.navclose .nav-footer{
		border-top-color: transparent;
	}
}

@media screen and (max-width: 850px) {
	.navcontainer{
		position: fixed;
		top: 72px;
		left: 0;
		z-index: 260;
		width: min(280px, 86vw);
		height: calc(100vh - 72px);
		transform: translateX(-110%);
		box-shadow: none;
	}

	.navcontainer.navclose{
		width: min(280px, 86vw);
		transform: translateX(0);
		box-shadow: 16px 0 40px rgba(12, 8, 88, 0.28);
	}

	.main{
		width: 100%;
		padding: 20px 16px 28px;
	}
}

.main{
	background-color: #FCFAFF;
}

.admin-welcome{
	margin-bottom: 28px;
}

.admin-welcome h1{
	margin: 0 0 8px;
	color: #110b75;
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 800;
}

.admin-welcome p{
	margin: 0;
	color: #5a5a5a;
	font-size: 16px;
}

.admin-section{
	margin-bottom: 32px;
}

.admin-section:last-child{
	margin-bottom: 0;
}

.admin-section-head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.admin-section-head h2{
	margin: 0 0 4px;
	color: #110b75;
	font-size: 20px;
	font-weight: 800;
}

.admin-section-head p{
	margin: 0;
	color: #5a5a5a;
	font-size: 14px;
}

.admin-stats{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
}

.admin-stat{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 16px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-stat:hover{
	border-color: rgba(17, 11, 117, 0.16);
	box-shadow: 0 14px 32px rgba(17, 11, 117, 0.08);
	transform: translateY(-2px);
	color: inherit;
}

.admin-stat-icon{
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 18px;
}

.admin-stat-copy{
	display: grid;
	gap: 2px;
	min-width: 0;
}

.admin-stat-copy strong{
	color: #110b75;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.1;
}

.admin-stat-copy span{
	color: #110b75;
	font-size: 13px;
	font-weight: 700;
}

.admin-stat-copy em{
	color: #5a5a5a;
	font-size: 12px;
	font-style: normal;
}

.admin-quick-groups{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.admin-quick-group{
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 20px;
	padding: 18px 16px 12px;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.admin-quick-group h3{
	margin: 0 0 10px;
	padding: 0 6px;
	color: #110b75;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.admin-quick-links{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.admin-quick-link{
	display: flex;
	align-items: center;
	gap: 4px;
}

.admin-quick-link > a:first-child{
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 8px 8px;
	border-radius: 12px;
	color: #110b75;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
}

.admin-quick-link > a:first-child:hover{
	background-color: #F7F4FF;
	color: #110b75;
}

.admin-quick-link-icon{
	width: 32px;
	height: 32px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 14px;
}

.admin-quick-external{
	margin-left: auto;
	font-size: 12px;
	color: #8a86b3;
}

.admin-quick-add{
	width: 32px;
	height: 32px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #110b75;
	text-decoration: none;
	font-size: 14px;
}

.admin-quick-add:hover{
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
}

.admin-cards{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.admin-card{
	background-color: #fff;
	border-radius: 22px;
	padding: 24px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.admin-card-icon{
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
}

.admin-card-icon--red{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.admin-card-icon--purple{
	background-color: rgba(45, 37, 128, 0.08);
	color: #2D2580;
}

.admin-card h2{
	margin: 0 0 8px;
	color: #110b75;
	font-size: 20px;
	font-weight: 800;
}

.admin-card p{
	margin: 0 0 16px;
	color: #5a5a5a;
	font-size: 15px;
	line-height: 1.6;
}

.admin-card .btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	font-weight: 700;
	width: auto;
}

.admin-card .btn:hover{
	color: #fff;
}

@media screen and (max-width: 991px) {
	.auth-shell{
		grid-template-columns: 1fr;
	}

	.auth-aside{
		min-height: 250px;
	}

	.auth-aside-inner{
		padding: 24px 24px 28px;
		justify-content: flex-end;
	}

	.auth-aside-logo{
		position: absolute;
		top: 20px;
		left: 20px;
		width: 64px;
		height: 64px;
	}

	.auth-aside-name{
		max-width: 18ch;
		font-size: clamp(26px, 6vw, 34px);
	}

	.auth-aside-lead{
		display: none;
	}

	.auth-panel{
		padding: 36px 24px 48px;
		align-items: flex-start;
	}

	.admin-cards{
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	.auth-aside{
		min-height: 210px;
	}

	.auth-aside-inner{
		padding: 20px 20px 22px;
	}

	.auth-panel{
		padding: 28px 18px 40px;
	}

	.auth-toolbar{
		flex-wrap: wrap;
	}

	.admin-brand-copy span,
	.admin-user-meta span,
	.admin-header-link span{
		display: none;
	}

	.admin-user{
		padding: 4px;
		background-color: transparent;
	}

	.admin-header-link{
		padding: 8px;
	}
}

.admin-page-header{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.admin-page-header h1{
	margin: 0 0 8px;
	color: #110b75;
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 800;
}

.admin-page-header p{
	margin: 0;
	color: #5a5a5a;
	font-size: 16px;
}

.admin-page-header .btn,
.admin-page-header-actions .btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	font-weight: 700;
	width: auto;
	white-space: nowrap;
}

.admin-page-header-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.admin-flash{
	margin-bottom: 18px;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.admin-flash--ok{
	background-color: #F7F4FF;
	color: #110b75;
}

.admin-flash--error{
	background-color: rgba(173, 29, 29, 0.08);
	color: #AD1D1D;
}

.admin-flash--error ul{
	margin: 8px 0 0;
	padding-left: 18px;
}

.admin-panel{
	background-color: #fff;
	border-radius: 22px;
	padding: 24px;
	border: 1px solid rgba(17, 11, 117, 0.06);
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.admin-panel--form{
	max-width: 760px;
	padding: 0;
	overflow: visible;
}

.admin-form-intro{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px 24px;
	border-radius: 22px 22px 0 0;
	background:
		linear-gradient(135deg, rgba(17, 11, 117, 0.06) 0%, rgba(45, 37, 128, 0.03) 55%, rgba(173, 29, 29, 0.05) 100%);
	border-bottom: 1px solid rgba(17, 11, 117, 0.06);
}

.admin-form-intro-icon{
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #110b75;
	color: #fff;
	font-size: 20px;
	flex-shrink: 0;
}

.admin-form-intro strong{
	display: block;
	color: #110b75;
	font-size: 16px;
	font-weight: 800;
}

.admin-form-intro p{
	margin: 4px 0 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.5;
}

.admin-form{
	padding: 24px;
}

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

.admin-filter{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.admin-filter label{
	margin: 0;
	font-weight: 700;
	color: #110b75;
}

.admin-filter select{
	width: 100%;
	max-width: 320px;
	height: 46px;
	padding: 0 14px;
	border: 1px solid rgba(17, 11, 117, 0.14);
	border-radius: 12px;
	background-color: #fff;
	color: #110b75;
	font: inherit;
}

.admin-table-wrap{
	overflow-x: auto;
	max-width: 100%;
}

.admin-table{
	width: 100%;
	border-collapse: collapse;
}

.admin-table th,
.admin-table td{
	padding: 14px 12px;
	text-align: left;
	border-bottom: 1px solid rgba(17, 11, 117, 0.08);
	vertical-align: middle;
}

.admin-table th{
	color: #110b75;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.admin-table td{
	color: #2c3e50;
	font-size: 15px;
}

.admin-table th:last-child,
.admin-table td:last-child{
	width: 1%;
	text-align: right;
	white-space: nowrap;
}

.admin-table-actions{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	white-space: nowrap;
	vertical-align: middle;
}

.admin-table-actions form{
	display: inline-flex;
	margin: 0;
}

.admin-link{
	background: none;
	border: 0;
	padding: 0;
	color: #110b75;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
}

.admin-link:hover{
	color: #AD1D1D;
}

.admin-link--danger{
	color: #AD1D1D;
}

.admin-person{
	display: flex;
	align-items: center;
	gap: 12px;
}

.admin-avatar{
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.admin-avatar--initials{
	background-color: rgba(17, 11, 117, 0.1);
	color: #110b75;
	font-size: 12px;
	font-weight: 800;
}

.admin-avatar--image{
	border-radius: 10px;
}

.admin-avatar--lg{
	width: 120px;
	height: 120px;
	font-size: 32px;
}

.admin-empty{
	text-align: center;
	padding: 48px 16px;
}

.admin-empty-icon{
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 28px;
}

.admin-empty strong{
	display: block;
	margin-bottom: 8px;
	color: #110b75;
	font-size: 20px;
	font-weight: 800;
}

.admin-empty p{
	margin: 0 0 16px;
	color: #5a5a5a;
}

.admin-empty .btn{
	display: inline-flex;
	width: auto;
	padding: 10px 16px;
	border-radius: 999px;
	font-weight: 700;
}

.admin-list-toolbar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.admin-list-count{
	color: #5a5a5a;
	font-size: 14px;
	font-weight: 700;
}

.admin-category-list{
	display: grid;
	gap: 14px;
}

.admin-category-card{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-category-card:hover{
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(17, 11, 117, 0.08);
}

.admin-category-card-main{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.admin-category-icon{
	width: 52px;
	height: 52px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, rgba(17, 11, 117, 0.12) 0%, rgba(173, 29, 29, 0.1) 100%);
	color: #110b75;
	font-size: 22px;
	flex-shrink: 0;
}

.admin-category-copy{
	min-width: 0;
}

.admin-category-copy h2{
	margin: 0 0 8px;
	color: #110b75;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}

.admin-category-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.admin-pill{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 12px;
	font-weight: 700;
}

.admin-pill--muted{
	background-color: #F7F4FF;
	color: #5a5a5a;
}

.admin-category-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.admin-category-actions form{
	margin: 0;
}

.admin-action-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 9px 12px;
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 999px;
	background-color: #FCFAFF;
	color: #110b75;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.admin-action-btn:hover{
	background-color: #110b75;
	border-color: #110b75;
	color: #fff;
}

.admin-action-btn--danger{
	color: #AD1D1D;
	border-color: rgba(173, 29, 29, 0.18);
	background-color: rgba(173, 29, 29, 0.05);
}

.admin-action-btn--danger:hover:not(:disabled){
	background-color: #AD1D1D;
	border-color: #AD1D1D;
	color: #fff;
}

.admin-action-btn:disabled{
	opacity: 0.45;
	cursor: not-allowed;
}

.admin-pagination{
	margin-top: 18px;
}

.site-pagination{
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

.admin-pagination .pagination,
.site-pagination .pagination{
	gap: 6px;
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.admin-pagination .page-link,
.site-pagination .page-link{
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 10px;
	color: #110b75;
	font-weight: 700;
	padding: 8px 14px;
}

.admin-pagination .page-item.active .page-link,
.site-pagination .page-item.active .page-link{
	background-color: #110b75;
	border-color: #110b75;
	color: #fff;
}

.admin-pagination .page-item.disabled .page-link,
.site-pagination .page-item.disabled .page-link{
	color: #8a8a8a;
	background-color: #FCFAFF;
}

.admin-form .admin-field{
	margin: 0;
}

.admin-field--full{
	margin-top: 18px;
}

.admin-form-grid > .admin-field--full{
	grid-column: 1 / -1;
	margin-top: 0;
}

.admin-form > .admin-field{
	margin-bottom: 18px;
}

.admin-form label,
.admin-field-label{
	display: block;
	margin-bottom: 8px;
	color: #110b75;
	font-size: 14px;
	font-weight: 700;
}

.admin-form label.admin-control--check{
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 50px;
	margin-bottom: 0;
	padding: 0 14px;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.admin-form label.admin-control--check:hover{
	background-color: #fff;
	border-color: rgba(17, 11, 117, 0.28);
}

.admin-form label.admin-control--check:has(input:checked){
	background-color: rgba(17, 11, 117, 0.1);
	border-color: #110b75;
	box-shadow: 0 0 0 4px rgba(17, 11, 117, 0.1);
	color: #110b75;
}

.admin-form label.admin-control--check:has(input:checked):hover{
	background-color: rgba(17, 11, 117, 0.14);
	border-color: #110b75;
}

.admin-control--check input[type="checkbox"]{
	width: 18px;
	height: 18px;
	padding: 0;
	flex: none;
	accent-color: #110b75;
	cursor: pointer;
}

.admin-control{
	position: relative;
	display: flex;
	align-items: center;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 14px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.admin-control:focus-within{
	background-color: #fff;
	border-color: rgba(17, 11, 117, 0.35);
	box-shadow: 0 0 0 4px rgba(17, 11, 117, 0.08);
}

.admin-control--invalid{
	border-color: rgba(173, 29, 29, 0.45);
	background-color: rgba(173, 29, 29, 0.03);
}

.admin-control--invalid:focus-within{
	box-shadow: 0 0 0 4px rgba(173, 29, 29, 0.1);
}

.admin-control-icon{
	position: absolute;
	left: 14px;
	color: #110b75;
	font-size: 16px;
	opacity: 0.72;
	pointer-events: none;
}

.admin-control input,
.admin-control select{
	width: 100%;
	height: 48px;
	padding: 0 14px 0 42px;
	border: 0;
	outline: none;
	background: transparent;
	color: #110b75;
	font: inherit;
	appearance: none;
}

.admin-control:has([data-password-toggle]) input{
	padding-right: 48px;
}

.admin-form-section{
	margin: 8px 0 4px;
	padding: 18px 0 4px;
	border-top: 1px solid rgba(17, 11, 117, 0.08);
}

.admin-form-section strong{
	display: block;
	color: #110b75;
	font-size: 16px;
	font-weight: 800;
}

.admin-form-section p{
	margin: 4px 0 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.5;
}

.admin-control input::placeholder{
	color: rgba(17, 11, 117, 0.38);
}

.admin-control--select::after{
	content: "";
	position: absolute;
	right: 16px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #110b75;
	border-bottom: 2px solid #110b75;
	transform: rotate(45deg);
	pointer-events: none;
	opacity: 0.55;
}

.admin-control--select select{
	padding-right: 36px;
	cursor: pointer;
}

.admin-hint{
	margin: 8px 0 0;
	color: #5a5a5a;
	font-size: 13px;
	line-height: 1.45;
}

.admin-optional{
	margin-left: 6px;
	color: #7a7a7a;
	font-size: 12px;
	font-weight: 600;
	text-transform: lowercase;
	letter-spacing: 0;
}

.admin-field textarea{
	width: 100%;
	min-height: 180px;
	padding: 14px 16px;
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 14px;
	background-color: #FCFAFF;
	color: #110b75;
	font: inherit;
	line-height: 1.55;
	resize: vertical;
}

.admin-field textarea:focus{
	outline: none;
	background-color: #fff;
	border-color: rgba(17, 11, 117, 0.35);
	box-shadow: 0 0 0 4px rgba(17, 11, 117, 0.08);
}

.admin-field .cke{
	border: 1px solid rgba(17, 11, 117, 0.12);
	border-radius: 14px;
	overflow: hidden;
}

.admin-field .cke_top{
	background: #FCFAFF;
	border-bottom: 1px solid rgba(17, 11, 117, 0.08);
	box-shadow: none;
	padding: 8px 10px 6px;
}

.admin-field .cke_bottom{
	display: none;
}

.admin-error{
	margin: 8px 0 0;
	color: #AD1D1D;
	font-size: 13px;
	font-weight: 600;
}

.admin-form-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(17, 11, 117, 0.08);
}

.admin-form-actions .btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	padding: 12px 18px;
	border-radius: 999px;
	font-weight: 700;
}

.admin-form-actions .btn-3{
	background-color: transparent;
	color: #110b75;
	border: 1.5px solid rgba(17, 11, 117, 0.18);
}

.admin-form-actions .btn-3:hover{
	background-color: rgba(17, 11, 117, 0.06);
	color: #110b75;
}

.admin-photo-preview{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
	padding: 12px;
	border-radius: 16px;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
}

.admin-photo-preview img{
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	object-position: top center;
	flex-shrink: 0;
}

.admin-photo-preview-copy{
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.admin-photo-preview-copy strong{
	color: #110b75;
	font-size: 14px;
	font-weight: 800;
}

.admin-check{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-weight: 600;
	color: #2c3e50;
	cursor: pointer;
}

.admin-check input{
	width: 16px;
	height: 16px;
	accent-color: #AD1D1D;
}

.admin-upload{
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
	border: 1.5px dashed rgba(17, 11, 117, 0.22);
	border-radius: 16px;
	background:
		linear-gradient(180deg, rgba(252, 250, 255, 0.95) 0%, rgba(247, 244, 255, 0.9) 100%);
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-upload:hover,
.admin-upload:focus-within{
	border-color: rgba(17, 11, 117, 0.45);
	background-color: #fff;
	box-shadow: 0 10px 24px rgba(17, 11, 117, 0.06);
}

.admin-upload--invalid{
	border-color: rgba(173, 29, 29, 0.45);
	background-color: rgba(173, 29, 29, 0.03);
}

.admin-upload-icon{
	width: 46px;
	height: 46px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 20px;
	flex-shrink: 0;
}

.admin-upload-copy{
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.admin-upload-copy strong{
	color: #110b75;
	font-size: 15px;
	font-weight: 800;
}

.admin-upload-copy span{
	color: #5a5a5a;
	font-size: 13px;
	line-height: 1.45;
}

.admin-upload input[type="file"]{
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.admin-photo-preview--wide img{
	width: 120px;
	height: 80px;
	border-radius: 12px;
	object-fit: cover;
}

.admin-upload--compact{
	padding: 12px 14px;
	min-height: 52px;
}

.admin-sponsor-current{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
	margin: 0 0 16px;
}

.admin-sponsor-existing{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px;
	border-radius: 14px;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
	cursor: pointer;
}

.admin-sponsor-existing img{
	width: 64px;
	height: 40px;
	object-fit: contain;
	background-color: #fff;
	border-radius: 8px;
	flex-shrink: 0;
}

.admin-sponsor-existing strong{
	display: block;
	color: #110b75;
	font-size: 13px;
	margin-bottom: 4px;
}

.admin-sponsor-rows{
	display: grid;
	gap: 12px;
	margin-bottom: 12px;
}

.admin-sponsor-row{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
	gap: 12px;
	align-items: stretch;
}

.admin-sponsor-logos{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.admin-sponsor-logos figure{
	margin: 0;
	width: 120px;
	text-align: center;
}

.admin-sponsor-logos img{
	width: 100%;
	height: 64px;
	object-fit: contain;
	background-color: #FCFAFF;
	border: 1px solid rgba(17, 11, 117, 0.08);
	border-radius: 12px;
	padding: 8px;
}

.admin-sponsor-logos figcaption{
	margin-top: 6px;
	color: #5a5a5a;
	font-size: 12px;
	font-weight: 600;
}

.admin-file-current,
.admin-file-rows{
	display: grid;
	gap: 10px;
	margin-bottom: 12px;
}

.admin-file-existing{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(17, 11, 117, 0.08);
	border-radius: 14px;
	background-color: #FCFAFF;
	color: #110b75;
}

.admin-file-existing i{
	font-size: 22px;
	color: #AD1D1D;
}

.admin-file-existing span{
	min-width: 0;
}

.admin-file-existing strong{
	display: block;
	margin-bottom: 4px;
	overflow-wrap: anywhere;
	font-size: 13px;
}

.admin-file-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.admin-file-list a{
	display: flex;
	align-items: center;
	gap: 10px;
	color: #110b75;
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.admin-file-list a:hover{
	color: #AD1D1D;
}

.admin-member{
	display: grid;
	gap: 16px;
	max-width: 920px;
}

.admin-member-hero{
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	padding: 24px;
	background:
		linear-gradient(135deg, #fff 0%, #FCFAFF 58%, rgba(173, 29, 29, 0.04) 100%);
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 24px;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.admin-member-photo{
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	background-color: #E8E4F8;
	box-shadow: 0 12px 28px rgba(17, 11, 117, 0.12);
}

.admin-member-photo--wide{
	aspect-ratio: 16 / 10;
}

.admin-member-photo--full{
	aspect-ratio: auto;
}

.admin-member-photo--full img{
	height: auto;
	object-fit: contain;
}

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

.admin-member-initials{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, rgba(17, 11, 117, 0.14) 0%, rgba(173, 29, 29, 0.1) 100%);
	color: #110b75;
	font-size: 42px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.admin-member-intro h2{
	margin: 12px 0 6px;
	color: #110b75;
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.admin-member-role{
	margin: 0 0 18px;
	color: #AD1D1D;
	font-size: 16px;
	font-weight: 700;
}

.admin-member-intro-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.admin-member-stats{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.admin-member-stat{
	display: grid;
	gap: 6px;
	padding: 16px 18px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 18px;
	box-shadow: 0 8px 22px rgba(17, 11, 117, 0.04);
}

.admin-member-stat-icon{
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(17, 11, 117, 0.08);
	color: #110b75;
	font-size: 16px;
}

.admin-member-stat span{
	color: #5a5a5a;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.admin-member-stat strong{
	color: #110b75;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.admin-member-section,
.admin-member-danger{
	padding: 22px 24px;
	background-color: #fff;
	border: 1px solid rgba(17, 11, 117, 0.06);
	border-radius: 22px;
	box-shadow: 0 10px 28px rgba(17, 11, 117, 0.04);
}

.admin-member-section-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.admin-member-section h3{
	margin: 0;
	color: #110b75;
	font-size: 16px;
	font-weight: 800;
}

.admin-member-empty-bio{
	display: grid;
	justify-items: start;
	gap: 10px;
	padding: 22px 18px;
	border: 1px dashed rgba(17, 11, 117, 0.16);
	border-radius: 16px;
	background-color: #FCFAFF;
}

.admin-member-empty-bio i{
	font-size: 22px;
	color: #110b75;
}

.admin-member-empty-bio p{
	margin: 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.55;
}

.admin-member-danger{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-color: rgba(173, 29, 29, 0.14);
	background-color: rgba(173, 29, 29, 0.04);
}

.admin-member-danger strong{
	display: block;
	margin-bottom: 4px;
	color: #AD1D1D;
	font-size: 15px;
	font-weight: 800;
}

.admin-member-danger p{
	margin: 0;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.5;
}

.admin-member-danger form{
	margin: 0;
	flex-shrink: 0;
}

.rich-text{
	color: #2c3e50;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
	text-align: left;
	overflow-wrap: anywhere;
}

.rich-text > *:first-child{
	margin-top: 0;
}

.rich-text > *:last-child{
	margin-bottom: 0;
}

.rich-text p,
.rich-text ul,
.rich-text ol,
.rich-text blockquote{
	margin: 0 0 12px;
}

.rich-text ul,
.rich-text ol{
	padding-left: 1.2em;
}

.rich-text a{
	color: #110b75;
	font-weight: 700;
}

.rich-text h2,
.rich-text h3,
.rich-text h4{
	margin: 0 0 8px;
	color: #110b75;
	font-weight: 800;
}

.rich-text h2{ font-size: 18px; }
.rich-text h3{ font-size: 16px; }
.rich-text h4{ font-size: 15px; }

.rich-text img,
.rich-text video,
.rich-text iframe{
	max-width: 100%;
	height: auto;
}

.rich-text table{
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.leadership-group + .leadership-group{
	margin-top: 48px;
}

.leadership-empty{
	margin: 0;
	text-align: center;
	color: #5a5a5a;
	font-size: 16px;
}

@media screen and (max-width: 767px) {
	.admin-page-header{
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.admin-page-header h1{
		font-size: 24px;
		overflow-wrap: anywhere;
	}

	.admin-page-header-actions,
	.admin-page-header .btn,
	.admin-page-header-actions .btn{
		width: 100%;
		justify-content: center;
		white-space: normal;
	}

	.admin-member-hero,
	.admin-member-stats{
		grid-template-columns: 1fr;
	}

	.admin-member-hero{
		justify-items: start;
		text-align: left;
		padding: 16px;
		gap: 16px;
	}

	.admin-member-photo{
		max-width: 180px;
		margin: 0;
	}

	.admin-member-intro-actions{
		justify-content: flex-start;
	}

	.admin-member-intro-actions .admin-action-btn{
		width: 100%;
		white-space: normal;
	}

	.admin-member-section,
	.admin-member-danger{
		padding: 16px;
	}

	.admin-member-danger{
		flex-direction: column;
		align-items: stretch;
	}

	.admin-member-danger form,
	.admin-member-danger .admin-action-btn{
		width: 100%;
	}

	.admin-filter{
		flex-direction: column;
		align-items: stretch;
	}

	.admin-sponsor-row{
		grid-template-columns: 1fr;
	}

	.admin-filter select{
		max-width: none;
	}

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

	.admin-form-intro,
	.admin-form{
		padding-left: 18px;
		padding-right: 18px;
	}

	.admin-category-card{
		flex-direction: column;
		align-items: stretch;
	}

	.admin-category-actions{
		justify-content: flex-start;
	}
}

.swal2-popup{
	border-radius: 22px !important;
	font-family: "Outfit", sans-serif !important;
	color: #110b75 !important;
}

.swal2-title{
	color: #110b75 !important;
	font-weight: 800 !important;
}

.swal2-html-container,
.swal2-html-container p{
	color: #5a5a5a !important;
	font-size: 15px !important;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny{
	border-radius: 999px !important;
	font-weight: 700 !important;
	padding: 10px 18px !important;
}

.swal-local-link{
	margin: 14px 0 0;
	font-size: 14px;
}

.swal-local-link a{
	color: #AD1D1D;
	font-weight: 700;
}

.whatsapp-float{
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 1100;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(18, 140, 70, 0.38);
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.25s ease,
		background-color 0.25s ease;
}

.whatsapp-float i{
	font-size: 30px;
	line-height: 1;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible{
	color: #fff;
	background: #1ebe57;
	transform: translateY(-3px) scale(1.04);
	box-shadow: 0 16px 32px rgba(18, 140, 70, 0.45);
}

.whatsapp-float:focus-visible{
	outline: 3px solid rgba(17, 11, 117, 0.35);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
	.whatsapp-float{
		animation: whatsapp-float-pulse 2.6s ease-in-out infinite;
	}

	.whatsapp-float:hover,
	.whatsapp-float:focus-visible{
		animation: none;
	}
}

@keyframes whatsapp-float-pulse{
	0%, 100%{
		box-shadow: 0 10px 24px rgba(18, 140, 70, 0.38);
	}
	50%{
		box-shadow: 0 10px 24px rgba(18, 140, 70, 0.38), 0 0 0 12px rgba(37, 211, 102, 0.16);
	}
}

@media screen and (max-width: 480px) {
	.whatsapp-float{
		right: 16px;
		bottom: 16px;
		width: 52px;
		height: 52px;
	}

	.whatsapp-float i{
		font-size: 26px;
	}
}

@media print {
	.whatsapp-float{
		display: none;
	}
}


















