/* NICHO Trabalho · KIT E · Mosaico */

/* Cartões em coluna, com 40px entre eles */
.nx-mo-about {
	padding: 8px 0 20px;
}

.nx-mo-about-sec {
	padding-top: 20px;
	padding-bottom: 20px;
	scroll-margin-top: 16px;
}

.nx-mo-about-sec:first-child {
	padding-top: 0;
}

.nx-mo-about-sec:last-child {
	padding-bottom: 0;
}

/* Topo: cartão na cor do site, texto embaixo */
.nx-mo-about-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 16px;
	min-height: 300px;
	padding: 48px;
	border-radius: 20px;
	background: var(--nx-accent);
	color: var(--nx-on-accent);
}

.nx-mo-about-head__tag {
	font-size: 14px;
	font-weight: 700;
}

.nx-mo-about-head__title {
	max-width: 1000px;
	margin: 0;
	color: inherit;
	font-family: var(--nx-display);
	font-size: 54px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.02;
	text-wrap: balance;
}

.nx-mo-about-head__text {
	max-width: 700px;
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
}

/* Cartão branco de cada seção */
.nx-mo-about-box {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 44px;
	border-radius: 20px;
	background: #fff;
}

.nx-mo-about-box__head {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* Pílula na cor do site ("Quem somos", "Política editorial"...) */
.nx-mo-about-pill {
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--nx-tint-16);
	color: var(--nx-ink);
	font-size: 12px;
	font-weight: 700;
}

.nx-mo-about-h2 {
	margin: 0;
	font-family: var(--nx-display);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.1;
	text-wrap: balance;
}

.nx-mo-about-h2--sm {
	font-size: 38px;
}

/* "Leia a política editorial completa →" / "Conheça a equipe completa →" */
.nx-mo-about-more {
	align-self: flex-start;
	color: var(--nx-ink) !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--nx-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

/* Quem somos + "O que você encontra aqui" */
.nx-mo-about-box.nx-mo-about-who {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 40px;
	align-items: center;
}

.nx-mo-about-who__content {
	grid-column: span 6;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.nx-mo-about-who__lead,
.nx-mo-about-who__note {
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: var(--nx-muted);
}

.nx-mo-about-who__note {
	padding-top: 4px;
	font-size: 16px;
}

.nx-mo-about-topics {
	grid-column: 8 / span 5;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px;
	border: 0;
	box-shadow: var(--float);
	border-radius: 20px;
	background: #fff;
}

.nx-mo-about-topics__list {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.nx-mo-about-topics__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--nx-line);
	color: var(--nx-ink);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.nx-mo-about-topics__list a span:last-child {
	color: var(--nx-accent-ink);
	transition: transform 0.15s ease;
}

.nx-mo-about-topics__list a:hover span:last-child {
	transform: translateX(3px);
}

/* Como produzimos: número num quadradinho inclinado na cor do site */
.nx-mo-about-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.nx-mo-about-step {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px;
	border-radius: 20px;
	background: var(--nx-bg);
}

.nx-mo-about-step__num {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--nx-accent);
	color: var(--nx-on-accent);
	font-family: var(--nx-display);
	font-size: 18px;
	font-weight: 700;
	transform: rotate(-6deg);
}

.nx-mo-about-step h3 {
	margin: 0;
	font-family: var(--nx-display);
	font-size: 20px;
	font-weight: 700;
}

.nx-mo-about-step p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--nx-muted);
}

/* Quem escreve aqui */
.nx-mo-about-people {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.nx-mo-about-person {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	padding: 26px;
	border-radius: 20px;
	background: var(--nx-bg);
}

.nx-mo-about-person__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 60px;
	object-fit: cover;
	background: var(--nx-tint-16);
	color: var(--nx-ink);
	font-family: var(--nx-display);
	font-size: 44px;
	font-weight: 700;
}

.nx-mo-about-person__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.nx-mo-about-person__name {
	font-family: var(--nx-display);
	font-size: 22px;
	font-weight: 700;
}

.nx-mo-about-person__role {
	font-size: 15px;
	font-weight: 600;
}

.nx-mo-about-person__body p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--nx-muted);
}

/* Empresa responsável */
.nx-mo-about-box.nx-mo-about-company {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 40px;
	align-items: start;
}

.nx-mo-about-company__content {
	grid-column: span 5;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Vagas: texto embaixo do título; Como trabalhamos: nota depois dos cartões */
.nx-mo-about-intro,
.nx-mo-about-note {
	max-width: 720px;
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: var(--nx-muted);
}

.nx-mo-about-note {
	max-width: 900px;
	font-size: 17px;
}

/* Outros sites e produtos da empresa (etiquetas .nx-chip do kit) */
.nx-mo-about-company__label {
	font-size: 14px;
	font-weight: 700;
}

.nx-mo-about-site {
	color: var(--nx-ink) !important;
}

.nx-mo-about-company__content p {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--nx-muted);
}

.nx-mo-about-card {
	grid-column: 7 / span 6;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px 32px;
	border: 0;
	box-shadow: var(--float);
	border-radius: 20px;
	background: #fff;
}

.nx-mo-about-card h2 {
	margin: 0 0 6px;
	font-family: var(--nx-display);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.nx-mo-about-card dl {
	margin: 0;
}

.nx-mo-about-card dl div {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 16px;
	padding: 12px 0;
	border-top: 1px solid var(--nx-line);
}

.nx-mo-about-card dt {
	font-size: 14px;
	color: var(--nx-muted);
}

.nx-mo-about-card dd {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.nx-mo-about-card dd a {
	color: inherit;
}

/* Fale com a redação: cartão na cor do site, centralizado */
.nx-mo-about-box.nx-mo-about-talk {
	align-items: center;
	gap: 16px;
	background: var(--nx-tint-14);
	text-align: center;
}

.nx-mo-about-talk p {
	max-width: 760px;
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: var(--nx-muted);
}

.nx-mo-about-talk .nx-btn {
	gap: 10px;
	height: 48px;
	padding: 0 22px;
	font-size: 15px;
}

@media (max-width: 1180px) {
	/* Responsivo · Sobre Nós ------------------------------------------------ */
	.nx-mo-about-box.nx-mo-about-who,
	.nx-mo-about-box.nx-mo-about-company {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}

	.nx-mo-about-head__title {
		font-size: 44px;
	}

	.nx-mo-about-topics {
		max-width: 560px;
	}
}

@media (max-width: 860px) {
	.nx-mo-about {
		padding: 4px 0 12px;
	}

	.nx-mo-about-sec {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.nx-mo-about-head {
		min-height: 0;
		padding: 28px 24px;
	}

	.nx-mo-about-head__title {
		font-size: 34px;
	}

	.nx-mo-about-head__text {
		font-size: 16px;
	}

	.nx-mo-about-box {
		gap: 22px;
		padding: 24px;
	}

	.nx-mo-about-h2,
	.nx-mo-about-h2--sm {
		font-size: 28px;
	}

	.nx-mo-about-who__lead {
		font-size: 17px;
	}

	.nx-mo-about-topics,
	.nx-mo-about-step,
	.nx-mo-about-person,
	.nx-mo-about-card {
		padding: 20px;
	}

	.nx-mo-about-steps,
	.nx-mo-about-people {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.nx-mo-about-card dl div {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
}

@media (max-width: 560px) {
	.nx-mo-about-person {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 16px;
	}

	.nx-mo-about-person__photo {
		width: 80px;
		height: 80px;
		border-radius: 40px;
		font-size: 30px;
	}
}
