.mestre-method-orbit {
	margin: clamp(1.5rem, 3vw, 2.5rem) 0;
	width: 100%;
}

.mestre-method-orbit__heading {
	margin: 0 auto 1rem;
	max-width: 54rem;
	text-align: center;
}

.mestre-method-orbit__heading h2 {
	margin: 0.35rem 0 0.75rem;
}

.mestre-method-orbit__heading p:last-child {
	margin-bottom: 0;
}

.mestre-method-orbit__visual {
	height: min(31.25rem, 83vw);
	margin: 0 auto;
	max-width: 37.5rem;
	position: relative;
}

.mestre-method-orbit__ring {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.mestre-method-orbit__segment {
	transform-box: fill-box;
	transform-origin: center;
	transition: filter 280ms ease, transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mestre-method-orbit__segment path {
	stroke: none;
}

.mestre-method-orbit__segment text {
	fill: var(--mestre-brand-charcoal);
	opacity: 0;
	pointer-events: none;
	text-anchor: middle;
	transition: opacity 180ms ease;
}

.mestre-method-orbit__segment:hover text,
.mestre-method-orbit__segment:focus text,
.mestre-method-orbit__segment.is-active text {
	opacity: 1;
}

.mestre-method-orbit__label {
	font-family: "Bungee", sans-serif;
	font-size: 18px;
	font-weight: 400;
}

.mestre-method-orbit__copy {
	font-family: "DM Sans", sans-serif;
	font-size: 11px;
	font-weight: 400;
}

.mestre-method-orbit__segment--agenda path {
	fill: var(--mestre-orbit-agenda);
}

.mestre-method-orbit__segment--teacher path {
	fill: var(--mestre-orbit-teacher);
}

.mestre-method-orbit__segment--pom path {
	fill: var(--mestre-orbit-pom);
}

.mestre-method-orbit__segment--agenda:hover,
.mestre-method-orbit__segment--agenda:focus,
.mestre-method-orbit__segment--agenda.is-active {
	filter: drop-shadow(0 14px 13px rgb(48 56 61 / 18%));
	transform: translate(-10px, -7px);
}

.mestre-method-orbit__segment--teacher:hover,
.mestre-method-orbit__segment--teacher:focus,
.mestre-method-orbit__segment--teacher.is-active {
	filter: drop-shadow(0 14px 13px rgb(48 56 61 / 18%));
	transform: translate(0, 12px);
}

.mestre-method-orbit__segment--pom:hover,
.mestre-method-orbit__segment--pom:focus,
.mestre-method-orbit__segment--pom.is-active {
	filter: drop-shadow(0 14px 13px rgb(48 56 61 / 18%));
	transform: translate(10px, -7px);
}

.mestre-method-orbit__segment:focus {
	outline: none;
}

.mestre-method-orbit__segment:focus-visible path {
	stroke: var(--mestre-brand-charcoal);
	stroke-width: 5;
}

.mestre-method-orbit__student {
	border-radius: 50%;
	box-shadow: 0 18px 40px rgb(48 56 61 / 20%);
	height: 264px;
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 264px;
}

.mestre-method-orbit__student img {
	display: block;
	height: 100%;
	object-fit: cover;
	transform: translateX(10px) scale(1.07);
	width: 100%;
}

.mestre-method-orbit__photo-zone {
	background: transparent;
	border: 0;
	cursor: pointer;
	inset: 0;
	padding: 0;
	position: absolute;
	z-index: 2;
}

.mestre-method-orbit__photo-zone--agenda {
	clip-path: polygon(50% 50%, 0 79%, 0 0, 50% 0);
}

.mestre-method-orbit__photo-zone--pom {
	clip-path: polygon(50% 50%, 50% 0, 100% 0, 100% 79%);
}

.mestre-method-orbit__photo-zone--teacher {
	clip-path: polygon(50% 50%, 100% 79%, 100% 100%, 0 100%, 0 79%);
}

.mestre-method-orbit__photo-zone:focus {
	outline: none;
}

.mestre-method-orbit__photo-zone:focus-visible {
	box-shadow: inset 0 0 0 4px var(--mestre-brand-softwhite);
}

@media (max-width: 590px) {
	.mestre-method-orbit__label {
		font-size: 17px;
	}

	.mestre-method-orbit__copy {
		font-size: 11px;
	}

	.mestre-method-orbit__student {
		height: clamp(132px, 44vw, 238px);
		width: clamp(132px, 44vw, 238px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mestre-method-orbit__segment {
		transition: none;
	}
}
