/* =======================================================================
 * ax-team — HR team cards + bio modal (Figma 2417-182 / 2417-186)
 *
 * Cards live in #top; the modal is moved to <body> by the JS (so position:
 * fixed isn't clipped by Enfold column transforms), hence its selectors are
 * prefixed with `body` rather than `#top`.
 * ===================================================================== */

#top .ax-team {
	--ax-purple: #444192;
	--ax-green: #00bd87;
	font-family: "Montserrat", sans-serif;
	margin: 0 auto;
	z-index: 100;
    position: relative;
}

#top .ax-team__splide {
	position: relative;
}

/* prev / next nav — grouped top-right, glass circle + purple border/chevron */
#top .ax-team__nav {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin: 0 0 72px;
    margin-top: -106px;
}

#top .ax-team__nav-arrow {
	width: 49px;
	height: 49px;
	border-radius: 77px;
	background: rgba(255,255,255,.15);
	border: 1px solid var(--ax-purple);
	display: grid;
	place-items: center;
	cursor: pointer;
	padding: 0;
	transition: background .2s ease;
}

#top .ax-team__nav-arrow svg {
	width: 15px;
	height: 18px;
}

#top .ax-team__nav-arrow svg path {
	fill: var(--ax-purple);
	transition: fill .2s ease;
}

#top .ax-team__nav-arrow:hover {
	background: var(--ax-purple);
}

#top .ax-team__nav-arrow:hover svg path {
	fill: #fff;
}

/* ---------------------------------------------------------------------
 * Card
 * ------------------------------------------------------------------- */
#top .ax-team__card {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 317 / 450;
	border-radius: 25px;
	overflow: hidden;
	background: #c6c6c6;
	cursor: pointer;
	outline: none;
}

#top .ax-team__card:focus-visible {
	box-shadow: 0 0 0 3px rgba(68,65,146,.5);
}

#top .ax-team__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

#top .ax-team__card:hover .ax-team__photo {
	transform: scale(1.05);
}

/* frosted glass panel at the bottom */
#top .ax-team__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	min-height: 122px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(7.5px);
	-webkit-backdrop-filter: blur(7.5px);
	border-top: 1px solid rgba(255,255,255,.3);
	border-radius: 0 0 25px 25px;
}

#top .ax-team__meta {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

#top .ax-team__name {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
}

#top .ax-team__role {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.28;
	color: #fff;
}

#top .ax-team__arrow {
	flex: none;
	width: 51px;
	height: 51px;
	border-radius: 77px;
	border: 1px solid #fff;
	display: grid;
	place-items: center;
	transition: background .2s ease;
}

#top .ax-team__arrow svg {
	width: 20px;
	height: 20px;
}

#top .ax-team__card .ax-team__arrow svg path {
	transition: stroke .2s ease;
}

#top .ax-team__card:hover .ax-team__arrow {
	background: rgba(255,255,255);
}

#top .ax-team__card:hover .ax-team__arrow svg path {
	stroke: #444192;
}

/* pagination — zoom-style pill */
#top .ax-team .splide__pagination {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 12px;
	padding: 0;
	margin: 30px 0 0;
}

#top .ax-team .splide__pagination li {
	line-height: 0;
}

#top .ax-team .splide__pagination__page {
	width: 12px;
	height: 12px;
	margin: 0;
	border-radius: 16px;
	background: #d9d9d9;
	opacity: 1;
	transform: none;
	transition: width .3s ease-in-out, background .3s ease-in-out;
}

#top .ax-team .splide__pagination__page.is-active {
	width: 31px;
	background: var(--ax-purple);
}

/* =====================================================================
 * Modal (moved to <body> — prefixed with `body`)
 * ================================================================== */
body .ax-team__modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s;
}

body .ax-team__modal.is-open {
	opacity: 1;
	visibility: visible;
}

body .ax-team__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.5);
}

body .ax-team__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1092px;
	max-height: 88vh;
	background: #fff;
	border-radius: 25px;
	padding: 44px;
	font-family: "Montserrat", sans-serif;
	transform: translateY(12px);
	transition: transform .25s ease;
}

body .ax-team__modal.is-open .ax-team__dialog {
	transform: translateY(0);
}

body .ax-team__close {
    position: absolute;
    top: -72px;
    left: 50%;
    transform: translateX(-50%);
    width: 52px;
    height: 52px;
    border-radius: 77px;
    background: #fff;
    border: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    padding: 0;
}

body .ax-team__close svg {
	width: 22px;
	height: 22px;
}

body .ax-team__modal-top {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-right: 60px;
	margin: 0 0 24px;
}

body .ax-team__modal-photo {
	flex: none;
	width: 214px;
	height: 304px;
	object-fit: cover;
	border-radius: 25px;
	background: #c6c6c6;
}

body .ax-team__modal-photo[src=""] {
	display: none;
}

body .ax-team__modal-name {
	margin: 0 0 6px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.18;
	color: #444192;
}

body .ax-team__modal-role {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
	color: #000;
	margin-bottom: 24px;
}

body .ax-team__modal-bio p {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.74;
	color: #000;
}

body .ax-team__modal-bio p:last-child {
	margin-bottom: 0;
}

body .ax-team__modal-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    margin: 30px 0 0;
    padding: 0 40px;
    border-radius: 77px;
    background: #444192;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease;
}

body .ax-team__modal-cta:hover {
	background: #00bd87;
}

body.ax-team-lock, html.ax-team-lock {
	overflow: hidden;
}

#top .ax-team__splide .splide__track {
	overflow: visible;
}

#top .ax-team__modal-cont {
	display: grid;
    grid-template-columns: max-content 1fr;
    align-items: start;
}

#top .ax-team__modal-head_mobile {
	display: none;
}

.ax-team__modal-bio_mobile  { display: none; }
.ax-team__modal-bio_desktop { display: block; }

@media (max-width: 989px) {
    .ax-team__modal-bio_mobile  { display: block; }
    .ax-team__modal-bio_desktop { display: none; }
}

/* ---------------------------------------------------------------------
 * Mobile
 * ------------------------------------------------------------------- */
@media (max-width: 989px) {
	#top .ax-team {
		padding: 0 20px;
	}

	body .ax-team__dialog {
		padding: 34px 22px 28px;
	}

	body .ax-team__modal-top {
        flex-direction: row;
        align-items: center;
        gap: 18px;
        padding-right: 0px;
    }

	body .ax-team__modal-photo {
		width: 90px;
		height: 90px;
		border-radius: 100%;
		object-position: top;
	}

	body .ax-team__modal-name {
		font-size: 20px;
		margin-bottom: 0px;
	}

	body .ax-team__modal-role {
		font-size: 14px;
		margin-bottom: 0px;
	}
	
	#top .ax-team__nav {
		display: none !important;
	}
	
	#top .ax-team__card {
		height: 398px;
	}
	
	#top .ax-team__modal-cont {
		grid-template-columns: 100%;
	}
	
	body .ax-team__modal-bio p {
		font-size: 15px;
		line-height: 1.60;
	}
	
	#top .ax-team__modal-head_desktop {
		display: none;
	}
	
	#top .ax-team__modal-head_mobile {
		display: block;
	}
	
	#top .ax-team__modal_inner-cont {
		height: 38vh;
		overflow-y: auto;
		padding-right: 10px;
		scrollbar-gutter: stable;          /* reserve the bar's space */
	}

	#top .ax-team__modal_inner-cont::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 6px;
		overflow: auto;
  -webkit-overflow-scrolling: touch;
	}
	#top .ax-team__modal_inner-cont::-webkit-scrollbar-track {
		background: transparent;
	}
	#top .ax-team__modal_inner-cont::-webkit-scrollbar-thumb {
		background: #444192;
		border-radius: 16px;
	}


	/* Firefox */
	@supports not selector(::-webkit-scrollbar) {
		#top .ax-team__modal_inner-cont {
			scrollbar-width: thin;
			scrollbar-color: #444192 transparent;
		}
	}
	
	body .ax-team__modal-cta {
		height: 50px;
		margin: 20px 0 0;
		font-size: 15px;
	}
}

.ax-team__modal_inner-cont { position: relative; } /* if its parent isn't already positioned, put this on the parent instead */

.ax-team__scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    width: 38px;
    height: 38px;
    display: none;                 /* hidden on desktop */
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    pointer-events: none;          /* never blocks taps/scrolling */
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 3;
}
.ax-team__scroll-hint svg { width: 20px; height: 20px; display: block; }
.ax-team__scroll-hint.is-visible {
    opacity: 1;
    animation: ax-team-bounce 1.4s ease-in-out infinite;
}

@keyframes ax-team-bounce {
    0%, 100% { transform: translate(-50%, 0); }
    50%      { transform: translate(-50%, 6px); }
}

@media (max-width: 767px) {
    .ax-team__scroll-hint { display: flex; }
}