/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root {
	--vn-blue: #0a3a68;
	--vn-navy: #222e3b;
	--vn-coral: #d76860;
	--vn-muted: #5c6470;
	--vn-soft: #f6f8fb;
	--vn-border: #e7ebf0;
}

.vn-page-wrap {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.vn-page-hero {
	background: linear-gradient(90deg, rgba(10, 58, 104, 0.96), rgba(34, 46, 59, 0.9)), url('../../../arquivos/imagens/banner.jpg') center/cover no-repeat;
	color: #fff;
	padding: clamp(52px, 8vw, 96px) 0;
}

.vn-page-hero h1,
.vn-section-title,
.vn-card-title {
	letter-spacing: 0;
}

.vn-page-hero h1 {
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.08;
	margin-bottom: 18px;
	max-width: 820px;
	color: white;
}

.vn-page-hero p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 18px;
	line-height: 1.75;
	margin-bottom: 0;
	max-width: 760px;
}

.vn-eyebrow {
	color: var(--vn-coral);
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.vn-section {
	padding: clamp(46px, 6vw, 82px) 0;
}

.vn-section-soft {
	background-color: var(--vn-soft);
}

.vn-section-title {
	color: var(--vn-blue);
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.14;
	margin-bottom: 18px;
}

.vn-section-lead {
	color: var(--vn-muted);
	font-size: 17px;
	line-height: 1.78;
	max-width: 760px;
}

.vn-info-card {
	background: #fff;
	border: 1px solid var(--vn-border);
	border-radius: 8px;
	height: 100%;
	padding: 28px;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vn-info-card:hover {
	border-color: rgba(215, 104, 96, 0.45);
	box-shadow: 0 12px 32px rgba(10, 58, 104, 0.08);
	transform: translateY(-3px);
}

.vn-card-icon {
	align-items: center;
	background-color: rgba(215, 104, 96, 0.12);
	border-radius: 50%;
	color: var(--vn-coral);
	display: inline-flex;
	font-size: 24px;
	height: 54px;
	justify-content: center;
	margin-bottom: 18px;
	width: 54px;
}

.vn-card-title {
	color: var(--vn-blue);
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 10px;
}

.vn-text {
	color: #4a4f58;
	font-size: 16px;
	line-height: 1.78;
}

.vn-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vn-list li {
	color: #4a4f58;
	line-height: 1.65;
	margin-bottom: 12px;
	padding-left: 30px;
	position: relative;
}

.vn-list li::before {
	color: var(--vn-coral);
	content: "\f26e";
	font-family: "bootstrap-icons";
	font-size: 18px;
	left: 0;
	position: absolute;
	top: 0;
}

.vn-side-box {
	background-color: var(--vn-navy);
	border-radius: 8px;
	color: #fff;
	padding: 34px;
	position: sticky;
	top: 105px;
}

.vn-side-box p,
.vn-side-box li {
	color: rgba(255, 255, 255, 0.78);
}

.vn-image-frame {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	width: 100%;
}

.vn-image-frame img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vn-cta-band {
	background: linear-gradient(90deg, rgba(34, 46, 59, .97), rgba(10, 58, 104, .93)), url('../../../arquivos/imagens/background.jpg') center/cover no-repeat;
	color: #fff;
	padding: clamp(44px, 6vw, 74px) 0;
}

.vn-cta-band h2 {
	color: #fff;
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.16;
	margin-bottom: 14px;
}

.vn-cta-band p {
	color: rgba(255, 255, 255, .8);
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 0;
}

.vn-service-mini {
	align-items: flex-start;
	border-bottom: 1px solid var(--vn-border);
	display: flex;
	gap: 16px;
	padding: 18px 0;
}

.vn-service-mini:last-child {
	border-bottom: 0;
}

.vn-service-mini i {
	color: var(--vn-coral);
	font-size: 24px;
	line-height: 1;
	margin-top: 3px;
}

.vn-service-mini h3 {
	color: var(--vn-blue);
	font-size: 19px;
	font-weight: 700;
	margin-bottom: 6px;
}

.vn-service-mini p {
	color: var(--vn-muted);
	line-height: 1.6;
	margin-bottom: 0;
}

.vn-contact-item {
	align-items: flex-start;
	display: flex;
	gap: 14px;
	margin-bottom: 18px;
}

.vn-contact-item i {
	color: var(--vn-coral);
	font-size: 22px;
	line-height: 1;
	margin-top: 4px;
}

.vn-contact-item strong {
	color: var(--vn-blue);
	display: block;
	margin-bottom: 4px;
}

.vn-faq .accordion-item {
	border: 1px solid var(--vn-border);
	border-radius: 8px !important;
	margin-bottom: 14px;
	overflow: hidden;
}

.vn-faq .accordion-button {
	color: var(--vn-blue);
	font-weight: 700;
	letter-spacing: 0;
}

.vn-faq .accordion-button:not(.collapsed) {
	background-color: rgba(215, 104, 96, 0.08);
	color: var(--vn-blue);
}

.vn-footer-links {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 18px 34px;
	justify-content: center;
}

/* ---------------- Cards de Equipe ---------------- */
.vn-member-card {
	background: #fff;
	border: 1px solid var(--vn-border);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.vn-member-card:hover {
	border-color: rgba(215, 104, 96, 0.45);
	box-shadow: 0 14px 36px rgba(10, 58, 104, 0.10);
	transform: translateY(-4px);
}

.vn-member-photo {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, var(--vn-blue), var(--vn-navy));
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.vn-member-photo img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vn-member-initials {
	color: rgba(255, 255, 255, 0.92);
	font-family: "Source Serif 4", serif;
	font-size: clamp(40px, 9vw, 56px);
	font-weight: 600;
	letter-spacing: 1px;
}

.vn-member-body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 24px;
}

.vn-member-name {
	color: var(--vn-blue);
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 4px;
}

.vn-member-role {
	color: var(--vn-coral);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px;
}

.vn-member-oab {
	background-color: var(--vn-soft);
	border-radius: 50rem;
	color: var(--vn-muted);
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .3px;
	margin-bottom: 14px;
	padding: 4px 12px;
	width: fit-content;
}

.vn-member-bio {
	color: #4a4f58;
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 18px;
}

.vn-member-links {
	display: flex;
	gap: 10px;
	margin-top: auto;
	padding-top: 4px;
}

.vn-member-links a {
	align-items: center;
	background-color: var(--vn-soft);
	border-radius: 50%;
	color: var(--vn-blue);
	display: inline-flex;
	font-size: 16px;
	height: 38px;
	justify-content: center;
	transition: background-color .2s ease, color .2s ease;
	width: 38px;
}

.vn-member-links a:hover {
	background-color: var(--vn-coral);
	color: #fff;
}

.vn-team-empty {
	background: #fff;
	border: 1px dashed var(--vn-border);
	border-radius: 12px;
	max-width: 640px;
	padding: clamp(28px, 5vw, 48px);
}

.vn-team-empty .vn-card-icon {
	display: flex;
}

@media (max-width: 991.98px) {
	.vn-side-box {
		position: static;
	}
}

@media (max-width: 767.98px) {
	.vn-page-hero {
		padding: 46px 0;
	}

	.vn-page-hero h1 {
		font-size: 34px;
	}

	.vn-page-hero p,
	.vn-section-lead,
	.vn-cta-band p {
		font-size: 16px;
	}

	.vn-info-card,
	.vn-side-box {
		padding: 24px;
	}

	.vn-member-body {
		padding: 20px;
	}
}

