/*
 * Board Module Frontend
 * Fully isolated from the rest of the theme.
 */

html body .nsv-board-module,
html body .nsv-board-module *{
	box-sizing:border-box;
}

html body .nsv-board-module{
	width:100%;
	min-height:70vh;
	margin:0;
	padding:0 0 88px;
	background:
		radial-gradient(circle at 88% 8%, rgba(245,158,11,.14), transparent 26%),
		radial-gradient(circle at 12% 22%, rgba(15,118,110,.10), transparent 28%),
		linear-gradient(180deg,#f8fafc 0%,#ffffff 48%,#f8fafc 100%);
	overflow:hidden;
}

html body .nsv-board-module-container{
	width:min(1120px,calc(100% - 32px));
	margin-inline:auto;
}

html body .nsv-board-module-hero{
	padding:66px 0 38px;
	text-align:center;
}

html body .nsv-board-module-kicker{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:9px 18px;
	margin:0 0 18px;
	border-radius:999px;
	background:rgba(15,118,110,.10);
	color:#0f766e;
	font-size:14px;
	line-height:1;
	font-weight:900;
}

html body .nsv-board-module-hero h1{
	margin:0 0 14px!important;
	padding:0!important;
	color:#0f172a!important;
	font-size:clamp(34px,5vw,56px)!important;
	line-height:1.22!important;
	font-weight:950!important;
	letter-spacing:-.02em;
	text-align:center;
}

html body .nsv-board-module-hero p{
	max-width:760px;
	margin:0 auto!important;
	padding:0!important;
	color:#64748b!important;
	font-size:18px!important;
	line-height:2!important;
	text-align:center;
}

html body .nsv-board-module-section{
	padding:18px 0 78px;
}

html body .nsv-board-module-grid{
	display:grid!important;
	grid-template-columns:repeat(3,minmax(0,1fr))!important;
	gap:28px!important;
	align-items:stretch!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
}

html body .nsv-board-module-card{
	position:relative!important;
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:flex-start!important;
	width:100%!important;
	min-width:0!important;
	min-height:360px!important;
	margin:0!important;
	padding:34px 24px 28px!important;
	text-align:center!important;
	background:rgba(255,255,255,.96)!important;
	border:1px solid rgba(15,23,42,.08)!important;
	border-radius:30px!important;
	box-shadow:0 18px 52px rgba(15,23,42,.09)!important;
	overflow:hidden!important;
	isolation:isolate!important;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}

html body .nsv-board-module-card::before{
	content:"";
	position:absolute;
	inset:0 0 auto;
	height:112px;
	background:linear-gradient(135deg,rgba(15,118,110,.15),rgba(245,158,11,.14));
	z-index:-1;
}

html body .nsv-board-module-card:hover{
	transform:translateY(-6px)!important;
	border-color:rgba(15,118,110,.22)!important;
	box-shadow:0 26px 74px rgba(15,23,42,.14)!important;
}

html body .nsv-board-module-icon{
	position:absolute;
	top:24px;
	inset-inline-start:24px;
	width:42px;
	height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:rgba(255,255,255,.82);
	color:#0f766e;
	box-shadow:0 10px 24px rgba(15,23,42,.06);
}

html body .nsv-board-module-photo-wrap{
	width:124px!important;
	height:124px!important;
	margin:24px auto 18px!important;
	padding:7px!important;
	border-radius:50%!important;
	background:#fff!important;
	box-shadow:0 18px 38px rgba(15,23,42,.13)!important;
	flex:0 0 auto!important;
}

html body img.nsv-board-module-photo,
html body .nsv-board-module-photo{
	width:110px!important;
	height:110px!important;
	min-width:110px!important;
	min-height:110px!important;
	max-width:110px!important;
	max-height:110px!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:50%!important;
	box-shadow:none!important;
	object-fit:cover!important;
	object-position:center!important;
	background:#ecfdf5!important;
	color:#0f766e!important;
	font-size:42px!important;
	font-weight:950!important;
	line-height:1!important;
}

html body .nsv-board-module-content{
	width:100%!important;
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	gap:0!important;
}

html body .nsv-board-module-card h2{
	width:100%!important;
	margin:0 0 12px!important;
	padding:0!important;
	color:#0f172a!important;
	font-size:25px!important;
	line-height:1.4!important;
	font-weight:950!important;
	text-align:center!important;
	letter-spacing:-.01em!important;
}

html body .nsv-board-module-role{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	max-width:100%!important;
	margin:0 0 16px!important;
	padding:8px 16px!important;
	border-radius:999px!important;
	background:linear-gradient(135deg,#0f766e,#115e59)!important;
	color:#fff!important;
	font-size:14px!important;
	line-height:1.4!important;
	font-weight:900!important;
	box-shadow:0 12px 26px rgba(15,118,110,.20)!important;
	text-align:center!important;
}

html body .nsv-board-module-card p{
	width:100%!important;
	max-width:30em!important;
	margin:0 auto!important;
	padding:0!important;
	color:#475569!important;
	font-size:15.5px!important;
	line-height:2!important;
	text-align:center!important;
}

html body .nsv-board-module-empty{
	max-width:760px;
	margin:0 auto;
	padding:38px 24px;
	background:#fff;
	border:1px dashed rgba(15,23,42,.20);
	border-radius:28px;
	box-shadow:0 16px 44px rgba(15,23,42,.06);
	text-align:center;
}

html body .nsv-board-module-empty h2{
	margin:0 0 10px!important;
	color:#0f172a!important;
	font-size:28px!important;
	font-weight:900!important;
}

html body .nsv-board-module-empty p{
	margin:0!important;
	color:#64748b!important;
	line-height:1.9!important;
}

@media (max-width:980px){
	html body .nsv-board-module-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
}

@media (max-width:640px){
	html body .nsv-board-module{
		padding-bottom:72px;
	}

	html body .nsv-board-module-hero{
		padding:42px 0 28px;
	}

	html body .nsv-board-module-hero h1{
		font-size:34px!important;
	}

	html body .nsv-board-module-hero p{
		font-size:16px!important;
		line-height:1.9!important;
	}

	html body .nsv-board-module-grid{
		grid-template-columns:1fr!important;
		gap:22px!important;
	}

	html body .nsv-board-module-card{
		min-height:auto!important;
		padding:30px 20px 26px!important;
		border-radius:28px!important;
	}

	html body .nsv-board-module-photo-wrap{
		width:116px!important;
		height:116px!important;
	}

	html body img.nsv-board-module-photo,
	html body .nsv-board-module-photo{
		width:102px!important;
		height:102px!important;
		min-width:102px!important;
		min-height:102px!important;
		max-width:102px!important;
		max-height:102px!important;
	}

	html body .nsv-board-module-card h2{
		font-size:24px!important;
	}
}
