/*
 * Responsividade transversal do MASTER EXPORT 2.0.
 *
 * Este ficheiro fica depois dos estilos específicos de cada página para que
 * as regras de largura, grelha e altura sejam consistentes em todos os ecrãs.
 */

html {
	overflow-x: hidden;
}

.master-export-project-page .mep-project-card-toggle {
	display: none;
}

.master-export-project-page .mep-project-details-toggle {
	display: none;
}

/* Projeto: reduzir a altura das secções sem alterar a composição desktop. */
@media (max-width: 980px) {
	.master-export-project-page .mep-project-section {
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.master-export-project-page .mep-project-section-heading {
		gap: 2rem;
	}
}

@media (max-width: 760px) {
	.master-export-project-page .mep-project-section {
		padding-top: 3.75rem;
		padding-bottom: 3.75rem;
	}

	/* Os cartões continuam completos quando o JavaScript está desligado. */
	.master-export-project-page .mep-project-concepts > article,
	.master-export-project-page .mep-project-objectives-list > article {
		position: relative;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article {
		cursor: pointer;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		display: none;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article.is-open > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		transition: opacity 180ms ease;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article.is-open > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article.is-open .mep-project-objective-content > p {
		display: block;
	}

	.master-export-project-page .mep-project-card-toggle {
		display: none;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-card-toggle {
		display: grid;
		position: absolute;
		width: 1.45rem;
		height: 1.45rem;
		place-items: center;
		border: 1px solid currentColor;
		border-radius: 50%;
		color: var(--mep-project-muted);
		font-size: 1rem;
		font-weight: 400;
		line-height: 1;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts .mep-project-card-toggle {
		top: 4.05rem;
		right: 1.05rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-card-toggle {
		top: .95rem;
		right: 1rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-card-toggle::before {
		content: '+';
	}

	.master-export-project-page.mep-project-enhanced .mep-project-card-toggle {
		font-size: 0;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-card-toggle::before {
		font-size: 1rem;
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-accordion].is-open .mep-project-card-toggle::before {
		content: '−';
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article.is-open > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article.is-open .mep-project-objective-content > p {
		margin-top: .8rem;
		padding-top: .8rem;
		border-top: 1px solid rgba(36, 36, 37, .1);
	}

	/* Evita que o estado :hover fique preso ao tocar num cartão. */
	.master-export-project-page .mep-project-concepts:hover > article:not(:hover),
	.master-export-project-page .mep-project-objectives-list:hover > article:not(:hover) {
		opacity: 1;
	}

	.master-export-project-page .mep-project-concepts > article:hover,
	.master-export-project-page .mep-project-objectives-list > article:hover {
		transform: none;
	}
}

body,
#page,
#content,
#primary,
#main {
	max-width: 100%;
}

.master-export-home,
.master-export-home__hero,
.master-export-page-sections,
.acf-hero-slideshow {
	width: 100%;
	max-width: none;
	min-width: 0;
}

img,
svg,
video,
canvas {
	max-width: 100%;
}

.mep-sectors-container,
.mep-project-container,
.mep-markets-container,
.mep-library-container,
.me-inner-container,
.mee-container,
.master-export-news-page .mep-sectors-container {
	width: min(90%, 112rem);
	max-width: 112rem;
}

.mep-sectors-container > *,
.mep-project-container > *,
.mep-markets-container > *,
.mep-library-container > *,
.me-inner-container > *,
.mee-container > * {
	min-width: 0;
}

.mep-sectors-hero,
.mep-project-hero,
.me-inner-hero,
.mep-markets-hero {
	max-width: 100%;
}

/* Hero da página inicial: adapta a altura ao viewport sem ficar gigante em 4K. */
.acf-hero-slideshow {
	height: clamp(38rem, 84svh, 58rem);
	min-height: clamp(38rem, 84svh, 58rem);
	max-height: none;
}

/* Heróis internos: a altura passa a acompanhar o conteúdo e o viewport. */
.mep-sectors-hero {
	height: auto;
	min-height: clamp(36rem, 76svh, 50rem);
	max-height: none;
}

.mep-sectors-hero__grid {
	height: auto;
	min-height: clamp(22rem, 52svh, 30rem);
}

.mep-project-hero,
.me-inner-hero,
.mep-markets-hero {
	min-height: clamp(36rem, 76svh, 50rem);
}

/* Evita que uma coluna estreita force uma página mais larga do que o ecrã. */
.mep-sectors-hero__grid,
.mep-project-hero__grid,
.me-inner-hero .me-inner-container,
.mep-markets-hero__grid,
.mep-sectors-intro__grid,
.mep-sectors-fileline__grid,
.mep-project-split,
.mep-project-section-heading,
.mep-project-territories__grid,
.me-contact-main__grid,
.mee-heading,
.me-news-heading {
	min-width: 0;
}

@media (max-width: 1240px) {
	.mep-sectors-hero__grid,
	.mep-project-hero__grid,
	.me-inner-hero .me-inner-container,
	.mep-markets-hero__grid {
		gap: clamp(2.25rem, 5vw, 4rem);
	}

	.mep-markets-section-heading,
	.mee-heading {
		gap: clamp(2rem, 5vw, 4rem);
	}

	.mep-project-container,
	.mep-markets-container,
	.mep-library-container,
	.me-inner-container,
	.mee-container {
		width: calc(100% - 4rem);
	}
}

/* Portáteis e tablets em paisagem. */
@media (max-width: 980px) {
	.mep-sectors-container,
	.mep-project-container,
	.mep-markets-container,
	.mep-library-container,
	.me-inner-container,
	.mee-container,
	.master-export-news-page .mep-sectors-container {
		width: calc(100% - 3rem);
	}

	.mep-sectors-hero {
		min-height: 39rem;
		padding-top: clamp(6rem, 10vh, 8rem);
		padding-bottom: clamp(3.5rem, 7vh, 5rem);
	}

	.mep-sectors-hero__grid {
		min-height: 25rem;
	}

	.mep-project-hero,
	.me-inner-hero,
	.mep-markets-hero {
		min-height: 0;
	}

	.mep-project-hero,
	.me-inner-hero {
		padding-top: 8rem;
		padding-bottom: 5rem;
	}

	.mep-markets-hero {
		padding-top: 8rem;
		padding-bottom: 5rem;
	}

	.mep-project-hero__image,
	.me-inner-hero__image {
		min-height: clamp(22rem, 44vw, 29rem);
	}

	.mep-project-hero__image img,
	.me-inner-hero__image img {
		min-height: clamp(22rem, 44vw, 29rem);
	}

	.mep-markets-grid,
	.mep-project-market-grid,
	.mep-project-results-grid,
	.mep-project-library-grid,
	.me-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mep-markets-section-heading,
	.mee-heading,
	.me-news-heading {
		align-items: start;
	}
}

@media (min-width: 701px) and (max-width: 1300px) {
	/* O offset usado em monitores largos cortava a seta esquerda em portáteis. */
	.acf-hero-slideshow.has-two-actions .acf-hero-slideshow__arrows {
		transform: none;
	}
}

/* Telemóveis: uma coluna, alturas baseadas no conteúdo e imagens proporcionais. */
@media (max-width: 760px) {
	.mep-sectors-container,
	.mep-project-container,
	.mep-markets-container,
	.mep-library-container,
	.me-inner-container,
	.mee-container,
	.master-export-news-page .mep-sectors-container {
		width: calc(100% - 2rem);
	}

	.acf-hero-slideshow {
		height: auto;
		min-height: clamp(34rem, 88svh, 46rem);
	}

	.acf-hero-slideshow__inner {
		width: calc(100% - 2rem);
		padding-top: 5.5rem;
		padding-bottom: 5rem;
	}

	.mep-sectors-hero {
		min-height: 0;
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

	.mep-sectors-hero__grid {
		min-height: 0;
	}

	.mep-project-hero,
	.me-inner-hero {
		padding-top: 6.5rem;
		padding-bottom: 4rem;
	}

	.mep-markets-hero {
		padding-top: 6.5rem;
		padding-bottom: 4rem;
	}

	.mep-project-hero__image,
	.me-inner-hero__image {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.mep-project-hero__image img,
	.me-inner-hero__image img {
		min-height: 0;
		height: 100%;
	}

	.mep-sectors-hero h1,
	.mep-project-hero h1,
	.me-inner-hero h1,
	.mep-markets-hero h1 {
		max-width: 14ch;
		font-size: clamp(2.1rem, 9vw, 3.6rem);
	}

	.mep-sectors-section,
	.mep-project-section,
	.me-contact-main,
	.me-contact-process,
	.me-contact-closing {
		padding-top: clamp(4rem, 10vw, 5.5rem);
		padding-bottom: clamp(4rem, 10vw, 5.5rem);
	}

	.mep-markets-section {
		padding-top: clamp(4rem, 10vw, 6rem);
		padding-bottom: clamp(4rem, 10vw, 6rem);
	}

	.mep-markets-grid,
	.mep-project-market-grid,
	.mep-project-results-grid,
	.mep-project-library-grid,
	.me-news-grid {
		grid-template-columns: 1fr;
	}

	.mep-markets-section-heading,
	.mee-heading,
	.me-news-heading {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.mep-markets-section-heading h2,
	.mee-heading h2,
	.me-news-heading h2 {
		max-width: 18ch;
		font-size: clamp(2rem, 9vw, 3.25rem);
	}

	.mep-project-actions,
	.master-export-contact-page .me-inner-hero__actions,
	.me-news-featured__actions {
		align-items: stretch;
	}

	.me-news-featured {
		grid-template-columns: 1fr;
	}

	.me-news-featured__media {
		min-height: 16rem;
		aspect-ratio: 16 / 10;
	}
}

/* Página Mercados: cartões horizontais em ecrãs pequenos, sem uma coluna interminável. */
.master-export-markets-page .mep-markets-carousel__controls {
	display: none;
}

@media (max-width: 900px) {
	.master-export-markets-page .mep-markets-container {
		width: min(90%, 68rem);
	}

	.master-export-markets-page .mep-markets-hero {
		min-height: 31rem;
		padding: 7rem 0 4rem;
	}

	.master-export-markets-page .mep-markets-hero__grid {
		min-height: 20rem;
	}

	.master-export-markets-page .mep-markets-hero__copy {
		max-width: 36rem;
	}

	.master-export-markets-page .mep-markets-section {
		padding: 5.5rem 0;
	}

	.master-export-markets-page .mep-markets-section-heading {
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}

	.master-export-markets-page .mep-markets-section-heading h2 {
		max-width: 16ch;
		font-size: clamp(2.25rem, 6vw, 3.5rem);
	}

	.master-export-markets-page .mep-markets-grid {
		display: flex;
		grid-template-columns: none;
		gap: .85rem;
		overflow-x: auto;
		margin-right: -5.5%;
		padding: .2rem 5.5% .9rem .1rem;
		scroll-padding-left: .1rem;
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.master-export-markets-page .mep-markets-grid::-webkit-scrollbar {
		display: none;
	}

	.master-export-markets-page .mep-markets-carousel__controls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .8rem;
		margin-top: .9rem;
	}

	.master-export-markets-page .mep-markets-carousel__position {
		min-width: 3.5rem;
		color: var(--mep-markets-muted, #657286);
		font-size: .68rem;
		font-weight: 800;
		letter-spacing: .08em;
		text-align: center;
	}

	.master-export-markets-page .mep-markets-carousel__button {
		display: grid;
		width: 2.65rem;
		height: 2.65rem;
		padding: 0;
		place-items: center;
		border: 1px solid rgba(32, 45, 66, .22);
		border-radius: 50%;
		background: #fff;
		color: var(--mep-markets-ink, #202d42);
		cursor: pointer;
		transition: background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease;
	}

	.master-export-markets-page .mep-markets-carousel__button:hover:not(:disabled),
	.master-export-markets-page .mep-markets-carousel__button:focus-visible:not(:disabled) {
		border-color: var(--mep-markets-yellow, #c28a00);
		background: var(--mep-markets-yellow, #c28a00);
		transform: translateY(-2px);
	}

	.master-export-markets-page .mep-markets-carousel__button:disabled {
		cursor: default;
		opacity: .35;
	}

	.master-export-markets-page .mep-markets-carousel__button .material-symbols-outlined {
		font-size: 1.1rem;
	}

	.master-export-markets-page .mep-market-card {
		flex: 0 0 min(42vw, 22rem);
		min-height: 15rem;
		scroll-snap-align: start;
	}

	.master-export-markets-page .mep-markets-approach-grid,
	.master-export-markets-page .mep-markets-actions-grid {
		gap: 1rem;
	}

	.master-export-markets-page .mep-markets-approach-grid article,
	.master-export-markets-page .mep-markets-actions-grid article {
		min-height: 0;
	}

	.master-export-markets-page .mep-markets-approach-grid article {
		padding: 1.25rem 0 1.5rem;
	}

	.master-export-markets-page .mep-markets-actions-grid article {
		padding: 1.35rem;
	}
}

@media (max-width: 560px) {
	.master-export-markets-page .mep-markets-container {
		width: 86%;
	}

	.master-export-markets-page .mep-markets-hero {
		min-height: 30rem;
		padding: 6.25rem 0 3.5rem;
	}

	.master-export-markets-page .mep-markets-hero__grid {
		min-height: 22rem;
	}

	.master-export-markets-page .mep-markets-hero h1 {
		max-width: 11ch;
		font-size: clamp(2.45rem, 12vw, 3.2rem);
	}

	.master-export-markets-page .mep-markets-hero p {
		font-size: .88rem;
		line-height: 1.65;
	}

	.master-export-markets-page .mep-markets-section {
		padding: 4.25rem 0;
	}

	.master-export-markets-page .mep-markets-section-heading {
		margin-bottom: 2rem;
	}

	.master-export-markets-page .mep-markets-section-heading h2 {
		max-width: 13ch;
		font-size: clamp(2.15rem, 10vw, 3rem);
	}

	.master-export-markets-page .mep-markets-section-heading p {
		font-size: .84rem;
		line-height: 1.7;
	}

	.master-export-markets-page .mep-markets-grid {
		margin-right: -7%;
		padding-right: 7%;
	}

	.master-export-markets-page .mep-market-card {
		flex-basis: min(82vw, 22rem);
		min-height: 16rem;
		padding: 1.2rem;
	}

	.master-export-markets-page .mep-market-card__top h3 {
		font-size: 1.3rem;
	}

	.master-export-markets-page .mep-market-card p {
		min-height: 0;
		font-size: .76rem;
		line-height: 1.6;
	}

	.master-export-markets-page .mep-markets-approach-grid strong {
		margin-bottom: 1rem;
		font-size: 1.45rem;
	}

	.master-export-markets-page .mep-markets-approach-grid h3,
	.master-export-markets-page .mep-markets-actions-grid h3 {
		font-size: 1rem;
	}

	.master-export-markets-page .mep-markets-approach-grid p,
	.master-export-markets-page .mep-markets-actions-grid p,
	.master-export-markets-page .mep-markets-focus-grid p {
		font-size: .78rem;
		line-height: 1.6;
	}

	.master-export-markets-page .mep-markets-actions-grid article {
		padding: 1.2rem;
	}

	.master-export-markets-page .mep-markets-carousel__controls {
		margin-top: .75rem;
	}

	.master-export-markets-page .mep-markets-actions-grid strong {
		margin-bottom: 1.25rem;
	}

	.master-export-markets-page .mep-markets-focus-grid article {
		grid-template-columns: 2.25rem minmax(0, 1fr);
		gap: .75rem;
		min-height: 0;
		padding: 1.15rem 0;
	}
}

@media (hover: none) {
	/* Nos dispositivos de toque, o hover não deve ficar preso depois do toque. */
	.master-export-markets-page .mep-market-card:hover {
		transform: none;
		box-shadow: 0 1rem 2.5rem rgba(32, 45, 66, .12);
	}

	.master-export-markets-page .mep-markets-approach-grid article:hover,
	.master-export-markets-page .mep-markets-actions-grid article:hover {
		transform: none;
		box-shadow: none;
	}

	.master-export-markets-page .mep-markets-actions-grid article:hover {
		border-color: rgba(255, 255, 255, .16);
		background: rgba(255, 255, 255, .06);
	}

	.master-export-markets-page .mep-markets-actions-grid article:hover::before {
		opacity: 0;
		transform: translateX(-34%) rotate(-8deg);
	}

	.master-export-markets-page .mep-markets-approach-grid article:hover strong {
		color: var(--mep-markets-muted);
		transform: none;
	}

	.master-export-markets-page .mep-markets-actions-grid article:hover strong {
		color: var(--mep-action-accent);
		letter-spacing: .12em;
		transform: none;
	}

	.master-export-markets-page .mep-markets-approach-grid article:hover h3 {
		color: var(--mep-markets-ink);
	}

	.master-export-markets-page .mep-markets-actions-grid article:hover h3 {
		color: #fff;
	}

	.master-export-markets-page .mep-markets-approach-grid article:hover p {
		color: var(--mep-markets-muted);
	}

	.master-export-markets-page .mep-markets-actions-grid article:hover p {
		color: #d8d8d4;
	}

	.master-export-markets-page .mep-markets-actions-grid h3::after {
		width: 0;
	}
}

/* Página Metalomecânica: reduzir a altura e substituir interações de hover
 * por conteúdo imediatamente legível em dispositivos de toque. */
.master-export-metalomecanica-page {
	overflow: clip;
}

@media (max-width: 980px) {
	.master-export-metalomecanica-page .mep-metal-section {
		padding: 5.75rem 0;
	}

	.master-export-metalomecanica-page .mep-metal-segment-grid,
	.master-export-metalomecanica-page .mep-metal-challenge-grid {
		gap: .85rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment {
		min-height: 10.5rem;
		padding: 1.15rem 1.1rem 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment h3 {
		font-size: 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment p {
		font-size: .78rem !important;
	}

	.master-export-metalomecanica-page .mep-metal-image {
		height: clamp(20rem, 48vw, 28rem);
	}

	.master-export-metalomecanica-page .mep-metal-capability-list {
		gap: 0 1rem;
		margin-top: 1.75rem;
	}

	.master-export-metalomecanica-page .mep-metal-markets-list {
		gap: .65rem;
	}
}

@media (max-width: 760px) {
	.master-export-metalomecanica-page .mep-metal-section {
		padding: 4.25rem 0;
	}

	.master-export-metalomecanica-page .mep-metal-closing {
		padding: 3.25rem 0;
	}

	.master-export-metalomecanica-page .mep-metal-section h2,
	.master-export-metalomecanica-page .mep-metal-challenges .mep-metal-section-heading h2 {
		max-width: 13ch;
		font-size: clamp(2.05rem, 9vw, 3.15rem);
	}

	.master-export-metalomecanica-page .mep-metal-section-heading {
		gap: 1.25rem;
	}

	.master-export-metalomecanica-page .mep-metal-section-heading > p,
	.master-export-metalomecanica-page .mep-metal-copy > p,
	.master-export-metalomecanica-page .mep-metal-potential__inner > p {
		font-size: .86rem;
		line-height: 1.65;
	}

	.master-export-metalomecanica-page .mep-metal-segment-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .65rem;
		margin-top: 2rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment {
		min-height: 9.25rem;
		padding: .85rem .8rem .8rem;
		border-top-width: 2px;
		border-radius: 0 0 .65rem .65rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment .mep-metal-index {
		width: 1.75rem;
		height: 1.75rem;
		font-size: .6rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment h3 {
		margin-top: .7rem;
		font-size: .82rem;
		line-height: 1.2;
	}

	.master-export-metalomecanica-page .mep-metal-segment p {
		margin-top: .45rem;
		font-size: .65rem !important;
		line-height: 1.45 !important;
	}

	.master-export-metalomecanica-page .mep-metal-segment::after {
		right: .8rem;
		bottom: .75rem;
		width: 1.5rem;
	}

	.master-export-metalomecanica-page .mep-metal-split {
		gap: 2rem;
	}

	.master-export-metalomecanica-page .mep-metal-image,
	.master-export-metalomecanica-page .mep-metal-closing .mep-metal-image {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list {
		grid-template-columns: 1fr;
		margin-top: 1.5rem;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list > div {
		grid-template-columns: 1.65rem minmax(0, 1fr);
		gap: .5rem;
		padding: .8rem .2rem .8rem .55rem;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list h3 {
		font-size: .82rem;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list p {
		font-size: .68rem !important;
		line-height: 1.45 !important;
	}

	.master-export-metalomecanica-page .mep-metal-potential__inner {
		gap: 1.25rem;
	}

	.master-export-metalomecanica-page .mep-metal-formula {
		margin-top: 1.5rem;
		padding-top: 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term {
		min-height: 2.75rem;
		padding: .6rem .7rem;
		font-size: .78rem;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-grid {
		grid-template-columns: 1fr;
		gap: .65rem;
		margin-top: 2rem;
	}

	/* Em toque, o verso é apresentado diretamente; não fica dependente de hover. */
	.master-export-metalomecanica-page .mep-metal-challenge-grid article,
	.master-export-metalomecanica-page .mep-metal-challenge-card__inner {
		min-height: 0;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:hover .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:focus .mep-metal-challenge-card__inner {
		transform: none;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__front {
		display: none;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back {
		position: relative;
		min-height: 9.5rem;
		padding: 1rem;
		transform: none;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back h3 {
		font-size: .92rem;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back p {
		font-size: .72rem !important;
		line-height: 1.5 !important;
	}

	.master-export-metalomecanica-page .mep-metal-markets-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .55rem;
		margin-top: 2rem;
	}

	.master-export-metalomecanica-page .mep-metal-markets-list a {
		min-height: 3rem;
		padding: .65rem .7rem;
		font-size: .7rem;
	}

	.master-export-metalomecanica-page .mep-metal-markets-list .mep-country-flag {
		font-size: 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.4rem .65rem;
		margin-top: 2.5rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline article {
		padding: 1.65rem .85rem 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline h3 {
		font-size: .82rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline p {
		font-size: .68rem !important;
		line-height: 1.5 !important;
	}

	.master-export-metalomecanica-page .mep-metal-timeline-dot {
		left: .7rem;
		width: 2.35rem;
		height: 2.35rem;
		font-size: .58rem;
	}

	.master-export-metalomecanica-page .mep-metal-library-heading {
		gap: 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-library-heading > .mep-sectors-button {
		width: 100%;
		justify-content: center;
	}

	.master-export-metalomecanica-page .mep-metal-resource__image {
		height: 9rem;
	}

	.master-export-metalomecanica-page .mep-metal-resource__body {
		padding: 1rem;
	}
}

@media (max-width: 520px) {
	.master-export-metalomecanica-page .mep-metal-timeline {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding-top: 0;
	}

	.master-export-metalomecanica-page .mep-metal-timeline article {
		padding: 1.2rem 1rem 1rem 3.7rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline-dot {
		top: .85rem;
		left: .05rem;
	}
}

@media (max-width: 520px) {
	.mep-sectors-container,
	.mep-project-container,
	.mep-markets-container,
	.mep-library-container,
	.me-inner-container,
	.mee-container,
	.master-export-news-page .mep-sectors-container {
		width: calc(100% - 2rem);
	}

	.acf-hero-slideshow__inner {
		width: calc(100% - 1.5rem);
		padding-top: 5rem;
		padding-bottom: 4rem;
	}

	.acf-hero-slideshow__content,
	.mep-sectors-hero__copy,
	.mep-project-hero__copy,
	.me-inner-hero__copy,
	.mep-markets-hero__copy {
		max-width: 100%;
	}

	.mep-sectors-actions,
	.mep-project-actions,
	.master-export-contact-page .me-inner-hero__actions,
	.me-news-featured__actions {
		flex-direction: column;
	}

	.mep-sectors-actions > *,
	.mep-project-actions > *,
	.master-export-contact-page .me-inner-hero__actions > *,
	.me-news-featured__actions > * {
		width: 100%;
	}

	.mep-sectors-button,
	.mep-project-button,
	.master-export-contact-page .me-inner-button,
	.me-news-featured__actions .me-inner-button {
		width: 100%;
		justify-content: center;
	}

	.mep-sectors-hero h1,
	.mep-project-hero h1,
	.me-inner-hero h1,
	.mep-markets-hero h1 {
		font-size: clamp(1.9rem, 10vw, 2.8rem);
	}

	.mep-sectors-line-card__body,
	.mep-project-concepts article,
	.mep-project-partners-grid article {
		min-height: 0;
	}

	.me-contact-main__grid {
		gap: 2rem;
	}

	.me-contact-form-card {
		padding: 1.25rem;
	}
}

@media (max-height: 760px) and (min-width: 761px) {
	.acf-hero-slideshow {
		height: clamp(35rem, 90svh, 48rem);
		min-height: clamp(35rem, 90svh, 48rem);
	}

	.mep-sectors-hero {
		min-height: 35rem;
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

	.mep-sectors-hero__grid {
		min-height: 23rem;
	}

	.mep-project-hero,
	.me-inner-hero,
	.mep-markets-hero {
		padding-top: 7rem;
		padding-bottom: 4rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/*
 * Superfícies editoriais partilhadas.
 * Mantém a linguagem da página Projeto nas restantes páginas: branco,
 * branco ligeiramente quente e escuro uniforme. As transições são aplicadas
 * apenas às superfícies claras; os heróis e blocos escuros continuam lisos.
 */
.master-export-home--reframed,
.master-export-markets-page,
.master-export-sectors-page,
.master-export-metalomecanica-page,
.master-export-habitat-page,
.master-export-events-page,
.master-export-market-detail-page,
.master-export-library-page,
.master-export-news-page,
.master-export-inner-page,
.master-export-contact-page {
	--mep-surface-white: #ffffff;
	--mep-surface-light: #f8f8f6;
	--mep-surface-dark: #242425;
}

/* Início */
.master-export-home--reframed .mep-home-overview {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-home--reframed .mep-home-sectors,
.master-export-home--reframed .mep-home-resources {
	background: linear-gradient(180deg, var(--mep-surface-light) 0, var(--mep-surface-light) calc(100% - 3rem), var(--mep-surface-white) 100%);
}

.master-export-home--reframed .mep-home-final {
	background: linear-gradient(180deg, var(--mep-surface-light) 0%, #fafaf9 58%, var(--mep-surface-white) 100%);
}

/* Mercados */
.master-export-markets-page .mep-markets-intro,
.master-export-markets-page .mep-markets-focus {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-markets-page .mep-markets-approach {
	background: var(--mep-surface-light);
}

.master-export-markets-page .mep-markets-actions {
	background: var(--mep-surface-dark);
}

/* Página geral Setores */
.master-export-sectors-page > .mep-sectors-intro {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

/* Metalomecânica e Habitat */
.master-export-metalomecanica-page .mep-metal-overview,
.master-export-habitat-page .mep-metal-overview {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-metalomecanica-page .mep-metal-characteristics,
.master-export-metalomecanica-page .mep-metal-challenges,
.master-export-metalomecanica-page .mep-metal-days,
.master-export-habitat-page .mep-metal-characteristics,
.master-export-habitat-page .mep-metal-challenges,
.master-export-habitat-page .mep-metal-days {
	background: linear-gradient(180deg, var(--mep-surface-light) 0, var(--mep-surface-light) calc(100% - 3rem), var(--mep-surface-white) 100%);
}

.master-export-metalomecanica-page .mep-metal-potential,
.master-export-metalomecanica-page .mep-metal-roadmap,
.master-export-metalomecanica-page .mep-metal-library,
.master-export-habitat-page .mep-metal-potential,
.master-export-habitat-page .mep-metal-roadmap,
.master-export-habitat-page .mep-metal-library {
	background: var(--mep-surface-white);
}

.master-export-metalomecanica-page .mep-metal-closing,
.master-export-habitat-page .mep-metal-closing {
	background: var(--mep-surface-dark);
}

/* Agenda */
.master-export-events-page .mee-overview,
.master-export-events-page .mee-dissemination,
.master-export-events-page .mee-closing {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-events-page .mee-institutional,
.master-export-events-page .mee-other-events {
	background: linear-gradient(180deg, var(--mep-surface-light) 0, var(--mep-surface-light) calc(100% - 3rem), var(--mep-surface-white) 100%);
}

.master-export-events-page .mee-master-days {
	background: var(--mep-surface-dark);
}

/* Detalhe de mercado */
.master-export-market-detail-page .mep-market-detail-overview,
.master-export-market-detail-page .mep-market-detail-sector-reading,
.master-export-market-detail-page .mep-market-detail-opportunities,
.master-export-market-detail-page .mep-market-detail-library {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-market-detail-page .mep-market-detail-profile,
.master-export-market-detail-page .mep-market-detail-adaptation,
.master-export-market-detail-page .mep-market-detail-actions {
	background: linear-gradient(180deg, var(--mep-surface-light) 0, var(--mep-surface-light) calc(100% - 3rem), var(--mep-surface-white) 100%);
}

/* Notícias */
.master-export-news-page .me-news-content,
.master-export-news-single {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

/* Contactos */
.master-export-contact-page .me-contact-main,
.master-export-contact-page .me-contact-closing {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

.master-export-contact-page .me-contact-process {
	background: linear-gradient(180deg, var(--mep-surface-light) 0, var(--mep-surface-light) calc(100% - 3rem), var(--mep-surface-white) 100%);
}

/* Páginas interiores antigas: o hero mantém-se escuro, o conteúdo ganha a mesma base clara. */
.master-export-inner-page:not(.master-export-project-page) {
	background: var(--mep-surface-white);
}

.master-export-inner-page:not(.master-export-project-page) .me-inner-content {
	background: linear-gradient(180deg, var(--mep-surface-white) 0, var(--mep-surface-white) calc(100% - 3rem), var(--mep-surface-light) 100%);
}

/* Sem linhas coloridas entre secções — a separação passa a ser feita pelo fundo. */
.master-export-home--reframed .mep-home-overview::after,
.master-export-home--reframed .mep-home-reframed-section::after,
.master-export-home .mep-home-market-preview::after,
.master-export-markets-page .mep-markets-section::after,
.master-export-sectors-page .mep-sectors-section::after,
.master-export-metalomecanica-page .mep-metal-section::after,
.master-export-habitat-page .mep-metal-section::after,
.master-export-events-page .mee-section::after,
.master-export-events-page .mee-closing::before,
.master-export-market-detail-page .mep-market-detail-section::after {
	display: none;
}

/* O hero mantém apenas a sua linha inferior de identidade. */
.master-export-home .acf-hero-slideshow::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	height: 3px;
	background: linear-gradient(90deg, #6fba3c, #ffc52f, #e12726);
	content: '';
	z-index: 5;
}

.master-export-project-page .mep-sectors-hero::after {
	display: block;
}

/* Homepage: responsive composition for tablet and mobile. */
@media (max-width: 1024px) {
	.master-export-home--compact .mep-container {
		width: calc(100% - 3rem);
	}

	.master-export-home--compact .mep-home-overview__top,
	.master-export-home--compact .mep-home-section-head {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 1.1rem;
	}

	.master-export-home--compact .mep-home-overview__actions {
		justify-content: flex-start;
	}

	.master-export-home--compact .mep-home-section-head > .mep-home-text-link {
		align-self: start;
		padding-bottom: 0;
	}

	.master-export-home--compact .mep-home-overview__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.master-export-home--compact .mep-home-overview__stat {
		min-height: 5.7rem;
	}

	.master-export-home--compact .mep-home-overview__stat + .mep-home-overview__stat {
		border-left: 0;
	}

	.master-export-home--compact .mep-home-overview__stat:nth-child(even) {
		border-left: 1px solid rgba(32, 45, 66, .15);
	}

	.master-export-home--compact .mep-home-overview__stat:nth-child(n + 3) {
		border-top: 1px solid rgba(32, 45, 66, .15);
	}

	.master-export-home--compact .mep-home-market-preview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.master-export-home--compact .mep-home-closing-card {
		grid-template-columns: 1fr;
	}

	.master-export-home--compact .mep-home-closing-card figure {
		min-height: 19rem;
		order: -1;
	}

	.master-export-home--compact .mep-home-closing-card figure::after {
		background: linear-gradient(0deg, #242425 0%, rgba(36, 36, 37, .16) 45%, transparent 75%);
	}
}

@media (min-width: 761px) and (max-width: 980px) {
	.master-export-home--compact .acf-hero-slideshow {
		height: clamp(36rem, 78svh, 46rem);
		min-height: clamp(36rem, 78svh, 46rem);
	}

	.master-export-home--compact .acf-hero-slideshow__title {
		max-width: 14ch;
		font-size: clamp(3rem, 6.5vw, 4.5rem);
	}

	.master-export-home--compact .acf-hero-slideshow__content {
		max-width: 35rem;
	}
}

@media (max-width: 760px) {
	.master-export-home--compact .mep-container {
		width: calc(100% - 2rem);
	}

	.master-export-home--compact .acf-hero-slideshow {
		height: clamp(36rem, 92svh, 44rem);
		min-height: clamp(36rem, 92svh, 44rem);
		max-height: none;
	}

	.master-export-home--compact .acf-hero-slideshow__inner {
		width: calc(100% - 2rem);
		padding-top: 6rem;
		padding-bottom: 6.5rem;
	}

	.master-export-home--compact .acf-hero-slideshow__content {
		max-width: 32rem;
	}

	.master-export-home--compact .acf-hero-slideshow__title {
		max-width: 11ch;
		font-size: clamp(2.35rem, 10.5vw, 3.65rem);
		line-height: 1.02;
	}

	.master-export-home--compact .acf-hero-slideshow__description {
		max-width: 28rem;
		margin-top: 1.2rem;
		font-size: .9rem;
		line-height: 1.58;
	}

	.master-export-home--compact .acf-hero-slideshow__actions {
		width: min(100%, 20rem);
		gap: .55rem;
		margin-top: 1.25rem;
	}

	.master-export-home--compact .acf-hero-slideshow__button {
		width: 100%;
		min-height: 2.85rem;
	}

	.master-export-home--compact .mep-home-overview {
		padding: 3rem 0 2.8rem;
	}

	.master-export-home--compact .mep-home-overview h2 {
		max-width: 13ch;
		font-size: clamp(2.15rem, 9.5vw, 3.35rem);
	}

	.master-export-home--compact .mep-home-overview__top p,
	.master-export-home--compact .mep-home-section-head p {
		font-size: .82rem;
		line-height: 1.65;
	}

	.master-export-home--compact .mep-home-overview__actions {
		align-items: stretch;
		flex-direction: column;
		width: min(100%, 20rem);
	}

	.master-export-home--compact .mep-home-button {
		justify-content: space-between;
		width: 100%;
	}

	.master-export-home--compact .mep-home-overview__stat {
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 5.3rem;
		gap: .6rem;
		padding: .8rem 1.8rem .8rem .65rem;
	}

	.master-export-home--compact .mep-home-overview__stat-icon {
		width: 2.1rem;
		height: 2.1rem;
		border-radius: .6rem;
	}

	.master-export-home--compact .mep-home-overview__stat strong {
		font-size: 1.25rem;
	}

	.master-export-home--compact .mep-home-overview__stat span {
		font-size: .62rem;
		line-height: 1.25;
	}

	.master-export-home--compact .mep-home-overview__stat small {
		font-size: .56rem;
	}

	.master-export-home--compact .mep-home-overview__stat-arrow {
		right: .5rem;
		font-size: .85rem;
	}

	.master-export-home--compact .mep-home-reframed-section {
		padding: 3.6rem 0;
	}

	.master-export-home--compact .mep-home-section-head {
		margin-bottom: 1.65rem;
	}

	.master-export-home--compact .mep-home-section-head h2 {
		max-width: 14ch;
		font-size: clamp(2rem, 9vw, 3.1rem);
	}

	.master-export-home--compact .mep-home-sector-grid,
	.master-export-home--compact .mep-home-resources-grid {
		grid-template-columns: 1fr;
	}

	.master-export-home--compact .mep-home-sector-card {
		display: flex;
		min-height: 0;
		flex-direction: column;
	}

	.master-export-home--compact .mep-home-sector-card__image {
		aspect-ratio: 16 / 8.5;
		min-height: 0;
	}

	.master-export-home--compact .mep-home-sector-card__body {
		min-height: 13rem;
		padding: 1.15rem;
	}

	.master-export-home--compact .mep-home-sector-card h3 {
		font-size: 1.25rem;
	}

	.master-export-home--compact .mep-home-sector-card p {
		font-size: .7rem;
	}

	.master-export-home--compact .mep-home-process {
		grid-template-columns: 1fr;
		margin-top: 1.4rem;
	}

	.master-export-home--compact .mep-home-process > div,
	.master-export-home--compact .mep-home-process > div + div {
		grid-template-columns: 2rem minmax(0, 1fr);
		padding: .9rem 0;
		border-left: 0;
		border-bottom: 1px solid rgba(32, 45, 66, .14);
	}

	.master-export-home--compact .mep-home-process > div:last-child {
		border-bottom: 0;
	}

	.master-export-home--compact .mep-home-process small {
		font-size: .62rem;
	}

	.master-export-home--compact .mep-home-resource-block,
	.master-export-home--compact .mep-home-event-block {
		min-height: 0;
		padding: 1.15rem;
	}

	.master-export-home--compact .mep-home-resource-block h3,
	.master-export-home--compact .mep-home-event-block h3 {
		font-size: 1.45rem;
	}

	.master-export-home--compact .mep-home-market-preview {
		padding: 3.6rem 0;
	}

	.master-export-home--compact .mep-home-market-preview__grid {
		display: flex;
		width: calc(100% + 1rem);
		margin-right: -1rem;
		padding: 0 1rem 1rem 0;
	}

	.master-export-home--compact .mep-home-market-preview__card {
		flex: 0 0 min(84vw, 22rem);
		min-height: 14rem;
	}

	.master-export-home--compact .mep-home-next-event {
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: .8rem;
	}

	.master-export-home--compact .mep-home-next-event__date {
		min-height: 4.5rem;
	}

	.master-export-home--compact .mep-home-closing-card__content {
		padding: 1.4rem;
	}

	.master-export-home--compact .mep-home-closing-card h2 {
		font-size: clamp(1.9rem, 8vw, 2.7rem);
	}

	.master-export-home--compact .mep-home-closing-card figure {
		min-height: 13rem;
	}
}

@media (max-width: 520px) {
	.master-export-home--compact .mep-home-sector-card__image {
		aspect-ratio: 16 / 9;
	}

	.master-export-home--compact .mep-home-sector-card__body {
		min-height: 14rem;
	}
}

/* A grelha de mercados transforma-se num carrossel orientado por setas em
 * tablet e telemóvel. No desktop mantém-se a apresentação em três colunas. */
.master-export-home--compact .mep-home-market-preview__carousel {
	position: relative;
}

.master-export-home--compact .mep-home-market-preview__carousel-controls {
	display: none;
}

@media (max-width: 1024px) {
	.master-export-home--compact .mep-home-market-preview__grid {
		display: flex;
		grid-template-columns: none;
		gap: 1rem;
		overflow-x: auto;
		padding-bottom: .75rem;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.master-export-home--compact .mep-home-market-preview__grid::-webkit-scrollbar {
		display: none;
	}

	.master-export-home--compact .mep-home-market-preview__card {
		flex: 0 0 min(68vw, 28rem);
		scroll-snap-align: start;
	}

	.master-export-home--compact .mep-home-market-preview__carousel-controls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .8rem;
		margin-top: .9rem;
	}

	.master-export-home--compact .mep-home-market-preview__carousel-button {
		display: grid;
		width: 2.65rem;
		height: 2.65rem;
		padding: 0;
		place-items: center;
		border: 1px solid rgba(255, 255, 255, .32);
		border-radius: 50%;
		background: rgba(255, 255, 255, .1);
		color: #ffffff;
		cursor: pointer;
		transition: background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease;
	}

	.master-export-home--compact .mep-home-market-preview__carousel-button:hover:not(:disabled),
	.master-export-home--compact .mep-home-market-preview__carousel-button:focus-visible:not(:disabled) {
		border-color: #ffc52f;
		background: #ffc52f;
		color: #242425;
		transform: translateY(-2px);
	}

	.master-export-home--compact .mep-home-market-preview__carousel-button:disabled {
		cursor: default;
		opacity: .3;
	}

	.master-export-home--compact .mep-home-market-preview__carousel-button .material-symbols-outlined {
		font-size: 1.1rem;
	}

	.master-export-home--compact .mep-home-market-preview__carousel-position {
		min-width: 3.5rem;
		color: rgba(255, 255, 255, .72);
		font-size: .68rem;
		font-weight: 800;
		letter-spacing: .08em;
		text-align: center;
	}
}

@media (max-width: 760px) {
	.master-export-home--compact .mep-home-market-preview__grid {
		width: calc(100% + 1rem);
		margin-right: -1rem;
		padding-right: 1rem;
	}

	.master-export-home--compact .mep-home-market-preview__card {
		flex-basis: 84vw;
	}
}

/* Página Projeto: composição dedicada para tablet e telemóvel.
 * O conteúdo é extenso e deve ganhar ritmo vertical sem criar colunas
 * estreitas, texto comprimido ou cartões com overflow horizontal. */
.master-export-project-page {
	overflow-x: clip;
}

@media (max-width: 1100px) {
	.master-export-project-page .mep-sectors-container,
	.master-export-project-page .mep-project-container {
		width: calc(100% - 3rem);
	}

	.master-export-project-page .mep-sectors-hero {
		height: auto;
		min-height: 0;
		max-height: none;
		padding-top: 8rem;
		padding-bottom: 5rem;
	}

	.master-export-project-page .mep-sectors-hero__grid {
		height: auto;
		min-height: 29rem;
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.master-export-project-page .mep-sectors-hero__copy {
		max-width: 42rem;
	}

	.master-export-project-page .mep-project-split,
	.master-export-project-page .mep-project-territories__grid,
	.master-export-project-page .mep-project-technical__grid {
		grid-template-columns: 1fr;
		gap: 2.75rem;
	}

	.master-export-project-page .mep-project-what__visual {
		padding-left: 0;
	}

	.master-export-project-page .mep-project-section-heading,
	.master-export-project-page .mep-project-library-heading,
	.master-export-project-page .mep-project-funding__heading {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 1.5rem;
	}

	.master-export-project-page .mep-project-section-heading > p,
	.master-export-project-page .mep-project-funding__heading > p {
		padding-bottom: 0;
	}

	.master-export-project-page .mep-project-concepts,
	.master-export-project-page .mep-project-objectives-list,
	.master-export-project-page .mep-project-timeline,
	.master-export-project-page .mep-project-market-grid,
	.master-export-project-page .mep-project-results-grid,
	.master-export-project-page .mep-project-partners-grid,
	.master-export-project-page .mep-project-library-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.master-export-project-page .mep-project-funding__grid {
		grid-template-columns: 1fr;
	}

	.master-export-project-page .mep-project-technical h2 {
		max-width: none;
	}

	.master-export-project-page .mep-project-market-card,
	.master-export-project-page .mep-project-market-card__content {
		min-height: 16rem;
	}

	.master-export-project-page .mep-project-closing {
		min-height: 25rem;
	}
}

@media (max-width: 760px) {
	.master-export-project-page .mep-sectors-container,
	.master-export-project-page .mep-project-container {
		width: calc(100% - 2rem);
	}

	.master-export-project-page .mep-sectors-hero {
		padding-top: 6.25rem;
		padding-bottom: 4rem;
	}

	.master-export-project-page .mep-sectors-hero__grid {
		min-height: 0;
	}

	.master-export-project-page .mep-sectors-hero h1 {
		max-width: 11ch;
		font-size: clamp(2.35rem, 10vw, 3.65rem);
		line-height: 1.02;
	}

	.master-export-project-page .mep-sectors-hero p {
		max-width: 31rem;
		font-size: .88rem;
		line-height: 1.6;
	}

	.master-export-project-page .mep-sectors-actions {
		width: min(100%, 21rem);
		flex-direction: column;
		align-items: stretch;
		gap: .55rem;
		margin-top: 1.35rem;
	}

	.master-export-project-page .mep-sectors-actions > * {
		width: 100%;
	}

	.master-export-project-page .mep-project-section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.master-export-project-page .mep-project-split,
	.master-export-project-page .mep-project-territories__grid,
	.master-export-project-page .mep-project-technical__grid {
		gap: 2rem;
	}

	.master-export-project-page .mep-project-copy h2,
	.master-export-project-page .mep-project-section-heading h2,
	.master-export-project-page .mep-project-technical h2,
	.master-export-project-page .mep-project-closing h2,
	.master-export-project-page .mep-project-library-heading h2 {
		max-width: 16ch;
		font-size: clamp(1.95rem, 8.5vw, 3rem);
		line-height: 1.08;
	}

	.master-export-project-page .mep-project-copy > p,
	.master-export-project-page .mep-project-section-heading > p,
	.master-export-project-page .mep-project-library-heading p,
	.master-export-project-page .mep-project-funding__heading > p {
		font-size: .84rem;
		line-height: 1.7;
	}

	.master-export-project-page .mep-project-what__image-frame {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.master-export-project-page .mep-project-what__image-frame img {
		height: 100%;
	}

	.master-export-project-page .mep-project-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .7rem;
	}

	.master-export-project-page .mep-project-facts > div {
		min-height: 5.5rem;
		padding: .95rem;
	}

	.master-export-project-page .mep-project-facts strong {
		font-size: 1rem;
	}

	.master-export-project-page .mep-project-what__path,
	.master-export-project-page .mep-project-concepts,
	.master-export-project-page .mep-project-objectives-list,
	.master-export-project-page .mep-project-timeline,
	.master-export-project-page .mep-project-sector-links,
	.master-export-project-page .mep-project-market-grid,
	.master-export-project-page .mep-project-results-grid,
	.master-export-project-page .mep-project-partners-grid,
	.master-export-project-page .mep-project-library-grid {
		grid-template-columns: 1fr;
	}

	.master-export-project-page .mep-project-what__path {
		gap: .5rem;
		margin-top: .5rem;
	}

	.master-export-project-page .mep-project-what__path article {
		min-height: 0;
		padding: .8rem 0;
		border-bottom: 1px solid rgba(36, 36, 37, .1);
	}

	.master-export-project-page .mep-project-what__path article:last-child {
		border-bottom: 0;
	}

	.master-export-project-page .mep-project-concepts,
	.master-export-project-page .mep-project-objectives-list,
	.master-export-project-page .mep-project-timeline,
	.master-export-project-page .mep-project-impact-grid,
	.master-export-project-page .mep-project-partners-grid {
		margin-top: 2rem;
	}

	.master-export-project-page .mep-project-concepts article,
	.master-export-project-page .mep-project-partners-grid > article,
	.master-export-project-page .mep-project-partners-grid > a {
		min-height: 0;
		padding: 1.15rem;
	}

	.master-export-project-page .mep-project-objectives-list article {
		grid-template-columns: 3.2rem minmax(0, 1fr);
		min-height: 0;
		padding: 1rem;
	}

	.master-export-project-page .mep-project-timeline article,
	.master-export-project-page .mep-project-results-grid article,
	.master-export-project-page .mep-project-library-grid article {
		min-height: 0;
	}

	.master-export-project-page .mep-project-territories__visual,
	.master-export-project-page .mep-project-territories__visual img {
		min-height: 0;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.master-export-project-page .mep-project-sector-links a {
		min-height: 0;
	}

	.master-export-project-page .mep-project-market-card,
	.master-export-project-page .mep-project-market-card__content {
		min-height: 14rem;
	}

	.master-export-project-page .mep-project-market-card__content {
		padding: 1.1rem;
	}

	.master-export-project-page .mep-project-technical dl {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.master-export-project-page .mep-project-technical dl > div:first-child {
		grid-column: auto;
	}

	.master-export-project-page .mep-project-library-heading {
		gap: 1.25rem;
	}

	.master-export-project-page .mep-project-library-button {
		justify-self: stretch;
		width: 100%;
		justify-content: space-between;
	}

	.master-export-project-page .mep-project-closing {
		min-height: 0;
		padding-top: 4rem;
		padding-bottom: 4rem;
		background-position: 62% center;
	}

	.master-export-project-page .mep-project-closing::before {
		background: linear-gradient(180deg, rgba(36, 36, 37, .9) 0%, rgba(36, 36, 37, .78) 62%, rgba(36, 36, 37, .94) 100%);
	}

	.master-export-project-page .mep-project-closing .mep-project-button {
		width: 100%;
	}

	.master-export-project-page .mep-project-funding__signature {
		margin-bottom: 1.75rem;
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.master-export-project-page .mep-project-funding__signature img {
		max-height: 4rem;
	}

	.master-export-project-page .mep-project-funding__document {
		width: 100%;
	}
}

@media (max-width: 520px) {
	.master-export-project-page .mep-project-container,
	.master-export-project-page .mep-sectors-container {
		width: calc(100% - 1.5rem);
	}

	.master-export-project-page .mep-project-facts {
		grid-template-columns: 1fr;
	}

	.master-export-project-page .mep-project-facts > div {
		min-height: 0;
	}

	.master-export-project-page .mep-project-funding__metrics {
		grid-template-columns: 1fr;
	}

	.master-export-project-page .mep-project-partner-head {
		gap: .75rem;
	}

	.master-export-project-page .mep-project-partner-head strong {
		font-size: 1.05rem;
	}

	.master-export-project-page .mep-project-partner-logo-link,
	.master-export-project-page .mep-project-partner-logo {
		width: 4.4rem;
		max-width: 4.4rem;
	}
}

/* Mercados de destino: carrossel compacto em tablet e telemóvel. */
.master-export-project-page .mep-project-market-carousel__controls {
	display: none;
}

@media (max-width: 1024px) {
	.master-export-project-page .mep-project-market-grid {
		display: flex;
		grid-template-columns: none;
		gap: 1rem;
		overflow-x: auto;
		padding: 0 0 1rem;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.master-export-project-page .mep-project-market-grid::-webkit-scrollbar {
		display: none;
	}

	.master-export-project-page .mep-project-market-card {
		flex: 0 0 min(68vw, 24rem);
		scroll-snap-align: start;
	}

	.master-export-project-page .mep-project-market-carousel__controls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .8rem;
		margin-top: .9rem;
	}

	.master-export-project-page .mep-project-market-carousel__button {
		display: grid;
		width: 2.65rem;
		height: 2.65rem;
		padding: 0;
		place-items: center;
		border: 1px solid rgba(32, 45, 66, .22);
		border-radius: 50%;
		background: #ffffff;
		color: var(--mep-project-ink);
		cursor: pointer;
		transition: background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease;
	}

	.master-export-project-page .mep-project-market-carousel__button:hover:not(:disabled),
	.master-export-project-page .mep-project-market-carousel__button:focus-visible:not(:disabled) {
		border-color: var(--mep-project-yellow);
		background: var(--mep-project-yellow);
		transform: translateY(-2px);
	}

	.master-export-project-page .mep-project-market-carousel__button:disabled {
		cursor: default;
		opacity: .35;
	}

	.master-export-project-page .mep-project-market-carousel__button .material-symbols-outlined {
		font-size: 1.1rem;
	}

	.master-export-project-page .mep-project-market-carousel__position {
		min-width: 3.5rem;
		color: var(--mep-project-muted);
		font-size: .68rem;
		font-weight: 800;
		letter-spacing: .08em;
		text-align: center;
	}
}

@media (max-width: 760px) {
	.master-export-project-page .mep-project-market-grid {
		width: calc(100% + 1rem);
		margin-right: -1rem;
		padding-right: 1rem;
	}

	.master-export-project-page .mep-project-market-card {
		flex-basis: 84vw;
	}
}

/* Timeline responsiva: cartões completos no desktop e acordeão compacto no
 * telemóvel, para manter as descrições disponíveis sem alongar a página. */
.master-export-project-page .mep-project-timeline__item {
		position: relative;
		display: block;
		min-height: 12.5rem;
		padding: 1.1rem 1.25rem 1.2rem;
		border: 1px solid rgba(36, 36, 37, .11);
		border-top: 2px solid var(--mep-project-yellow);
		border-radius: .85rem;
		background: rgba(255, 255, 255, .78);
		box-shadow: 0 .65rem 1.6rem rgba(36, 36, 37, .04);
		transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n + 2) {
		border-top-color: var(--mep-project-green-official);
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n) {
		border-top-color: var(--mep-project-red);
}

.master-export-project-page .mep-project-timeline__item::before {
		position: absolute;
		top: -.34rem;
		left: 1.25rem;
		width: .6rem;
		height: .6rem;
		border: 2px solid var(--mep-project-yellow);
		border-radius: 50%;
		background: #fbfaf8;
		content: '';
		transition: transform 180ms ease, background-color 180ms ease;
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n + 2)::before {
		border-color: var(--mep-project-green-official);
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n)::before {
		border-color: var(--mep-project-red);
}

.master-export-project-page .mep-project-timeline__summary {
		display: block;
		position: relative;
		cursor: pointer;
		list-style: none;
	}

@media (min-width: 761px) {
	.master-export-project-page .mep-project-timeline__summary {
		cursor: default;
	}
}

.master-export-project-page .mep-project-timeline__summary::-webkit-details-marker {
		display: none;
}

.master-export-project-page .mep-project-timeline__summary:focus-visible {
		outline: 2px solid var(--mep-project-yellow);
		outline-offset: .3rem;
		border-radius: .25rem;
}

.master-export-project-page .mep-project-timeline__summary h3 {
		margin: .95rem 0 .6rem;
		font-size: 1.08rem;
		font-weight: 800;
		line-height: 1.25;
}

.master-export-project-page .mep-project-timeline__summary small {
	display: inline-flex;
	align-items: center;
	margin-top: 1rem;
	padding: .38rem .55rem;
	border-radius: .35rem;
	background: rgba(255, 197, 47, .12);
	color: #8a6500;
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n + 2) .mep-project-timeline__summary small {
	background: rgba(129, 189, 65, .11);
	color: #579126;
}

.master-export-project-page .mep-project-timeline__item:nth-child(3n) .mep-project-timeline__summary small {
	background: rgba(225, 39, 38, .08);
	color: var(--mep-project-red);
}

.master-export-project-page .mep-project-timeline__body p {
		margin: 0;
		color: var(--mep-project-muted);
		font-size: .86rem;
		line-height: 1.65;
}

.master-export-project-page .mep-project-timeline__toggle {
	display: none;
}

@media (hover: hover) {
	.master-export-project-page .mep-project-timeline:hover .mep-project-timeline__item:not(:hover) {
		opacity: .58;
	}

	.master-export-project-page .mep-project-timeline__item:hover {
		transform: translateY(-4px);
		background: #ffffff;
		box-shadow: 0 1rem 2rem rgba(36, 36, 37, .1);
	}

	.master-export-project-page .mep-project-timeline__item:hover::before {
		transform: scale(1.35);
		background: var(--mep-project-yellow);
	}

	.master-export-project-page .mep-project-timeline__item:nth-child(3n + 2):hover::before {
		background: var(--mep-project-green-official);
	}

	.master-export-project-page .mep-project-timeline__item:nth-child(3n):hover::before {
		background: var(--mep-project-red);
	}
}

@media (max-width: 760px) {
	.master-export-project-page .mep-project-timeline {
		grid-template-columns: 1fr;
		gap: .65rem;
		margin-top: 2rem;
	}

	.master-export-project-page .mep-project-timeline__item {
		min-height: 0;
		padding: .9rem 1rem;
		border-top-width: 2px;
		border-radius: .75rem;
	}

	.master-export-project-page .mep-project-timeline__item::before {
		top: -.28rem;
		left: 1rem;
		width: .5rem;
		height: .5rem;
	}

	.master-export-project-page .mep-project-timeline__summary {
		padding-right: 1.7rem;
	}

	.master-export-project-page .mep-project-timeline__summary h3 {
		margin: .7rem 0 .1rem;
		font-size: .98rem;
		line-height: 1.3;
	}

	.master-export-project-page .mep-project-timeline__summary small {
		margin-top: .65rem;
		font-size: .56rem;
	}

	.master-export-project-page .mep-project-timeline__toggle {
		display: block;
		position: absolute;
		top: .15rem;
		right: 0;
		color: var(--mep-project-muted);
		font-family: 'Material Symbols Outlined';
		font-size: 1.15rem;
		font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
		transition: transform 180ms ease, color 180ms ease;
	}

	.master-export-project-page .mep-project-timeline__item[open] .mep-project-timeline__toggle {
		color: var(--mep-project-yellow);
		transform: rotate(180deg);
	}

	.master-export-project-page .mep-project-timeline__body {
		margin-top: .8rem;
		padding-top: .8rem;
		border-top: 1px solid rgba(36, 36, 37, .1);
	}

	.master-export-project-page .mep-project-timeline__body p {
		font-size: .8rem;
		line-height: 1.6;
	}
}

/* Fileiras: usar o cartão com imagem de fundo e conteúdo sobreposto também no telemóvel. */
@media (max-width: 760px) {
	.master-export-project-page .mep-project-sector-links {
		grid-template-columns: minmax(0, 1fr);
		gap: .85rem;
	}

	.master-export-project-page .mep-project-sector-links a {
		display: block;
		min-height: 15rem;
		padding: 0;
	}

	.master-export-project-page .mep-project-sector-card .mep-project-market-card__content {
		width: 100%;
		height: auto;
		min-height: 15rem;
		padding: 1.1rem;
	}

	.master-export-project-page .mep-project-sector-card h3 {
		max-width: 100%;
		font-size: 1.2rem;
		line-height: 1.2;
	}

	.master-export-project-page .mep-project-sector-card p {
		min-height: 0;
		font-size: .78rem;
		line-height: 1.55;
	}

	.master-export-project-page .mep-project-sector-card .mep-project-market-card__link {
		margin-top: .85rem;
		font-size: .72rem;
	}
}

/* Resultados e entregáveis: cartões completos no desktop e acordeão compacto
 * no telemóvel, mantendo os entregáveis acessíveis por atividade. */
.master-export-project-page .mep-project-results__item {
		--mep-results-accent: var(--mep-project-yellow);
		min-height: 17rem;
		height: auto;
		display: flex;
		flex-direction: column;
		padding: 1.15rem 1.3rem 1.1rem;
		border: 1px solid var(--mep-project-line);
		border-top: 3px solid var(--mep-results-accent);
		border-radius: .8rem;
		background: var(--mep-project-stone);
		box-shadow: 0 .45rem 1rem rgba(36, 36, 37, .035);
		transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.master-export-project-page .mep-project-results__item:nth-child(3n + 2) {
		--mep-results-accent: var(--mep-project-green-official);
}

.master-export-project-page .mep-project-results__item:nth-child(3n + 3) {
		--mep-results-accent: var(--mep-project-red);
}

.master-export-project-page .mep-project-results__summary {
	display: block;
	position: relative;
	cursor: pointer;
	list-style: none;
}

.master-export-project-page .mep-project-results__summary::-webkit-details-marker {
	display: none;
}

.master-export-project-page .mep-project-results__summary:focus-visible {
	outline: 2px solid var(--mep-results-accent);
	outline-offset: .3rem;
	border-radius: .25rem;
}

.master-export-project-page .mep-project-results__body {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.master-export-project-page .mep-project-results__toggle {
	display: none;
}

@media (hover: hover) {
	.master-export-project-page .mep-project-results__item:hover,
	.master-export-project-page .mep-project-results__item:focus-within {
		border-top-color: var(--mep-results-accent);
		box-shadow: 0 .8rem 1.5rem rgba(36, 36, 37, .08);
		transform: translateY(-3px);
	}
}

@media (max-width: 760px) {
	.master-export-project-page .mep-project-partners-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .65rem;
		margin-top: 2rem;
	}

	.master-export-project-page .mep-project-partners-grid > article,
	.master-export-project-page .mep-project-partners-grid > a {
		min-height: 9.5rem;
		padding: .85rem;
		border-top-width: 2px;
	}

	.master-export-project-page .mep-project-partner-head {
		gap: .4rem;
		min-height: 2.7rem;
		margin-bottom: .85rem;
	}

	.master-export-project-page .mep-project-partner-head strong {
		font-size: .82rem;
		line-height: 1.15;
	}

	.master-export-project-page .mep-project-partner-logo-link,
	.master-export-project-page .mep-project-partner-logo {
		width: 3.7rem;
		height: 2.45rem;
	}

	.master-export-project-page .mep-project-partner-logo {
		max-width: 3.7rem;
		max-height: 2.45rem;
	}

	.master-export-project-page .mep-project-partners-grid p {
		padding-right: .1rem;
		font-size: .58rem;
		line-height: 1.4;
	}

	.master-export-project-page .mep-project-partner-card__arrow {
		right: .7rem;
		bottom: .65rem;
		font-size: .9rem;
	}

	.master-export-project-page .mep-project-results-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: .65rem;
		margin-top: 2rem;
		align-items: start;
	}

	.master-export-project-page .mep-project-results__item {
		min-height: 0;
		height: auto;
		padding: .9rem 1rem;
		border-top-width: 2px;
		border-radius: .75rem;
	}

	.master-export-project-page .mep-project-results__item:not([open]) {
		align-self: start;
	}

	.master-export-project-page .mep-project-results__summary {
		padding-right: 1.7rem;
	}

	.master-export-project-page .mep-project-results__summary h3 {
		margin: .65rem 0 0;
		font-size: .98rem;
		line-height: 1.3;
	}

	.master-export-project-page .mep-project-results__toggle {
		display: block;
		position: absolute;
		top: .1rem;
		right: 0;
		color: var(--mep-project-muted);
		font-family: 'Material Symbols Outlined';
		font-size: 1.15rem;
		font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
		transition: transform 180ms ease, color 180ms ease;
	}

	.master-export-project-page .mep-project-results__item[open] .mep-project-results__toggle {
		color: var(--mep-results-accent);
		transform: rotate(180deg);
	}

	.master-export-project-page .mep-project-results__body {
		margin-top: .8rem;
		padding-top: .8rem;
		border-top: 1px solid rgba(36, 36, 37, .1);
	}

	.master-export-project-page .mep-project-results__body ul {
		gap: .35rem;
	}

	.master-export-project-page .mep-project-results__body li {
		font-size: .72rem;
		line-height: 1.5;
	}

	.master-export-project-page .mep-project-results__body .mep-project-results-card__period {
		margin-top: .8rem;
		padding-top: .7rem;
	}
}

/* Página Setores: composição mais curta e legível em tablet e telemóvel. */
.master-export-sectors-page {
	overflow: clip;
}

@media (max-width: 980px) {
	.master-export-sectors-page .mep-sectors-hero {
		min-height: 35rem;
	}

	.master-export-sectors-page .mep-sectors-hero__grid {
		min-height: 22rem;
	}

	.master-export-sectors-page .mep-sectors-line-cards {
		gap: 1rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__image {
		height: clamp(12rem, 30vw, 16rem);
	}

	.master-export-sectors-page .mep-sectors-line-card__body {
		min-height: 0;
		padding: 1.35rem 1.4rem 1.25rem;
	}

	.master-export-sectors-page .mep-sectors-line-card p {
		font-size: .88rem;
		line-height: 1.6;
	}
}

@media (max-width: 760px) {
	.master-export-sectors-page .mep-sectors-hero {
		min-height: 0;
		padding-top: 5.75rem;
		padding-bottom: 3.5rem;
	}

	.master-export-sectors-page .mep-sectors-hero__grid {
		min-height: 0;
	}

	.master-export-sectors-page .mep-sectors-hero h1 {
		max-width: 12ch;
		font-size: clamp(2rem, 9vw, 3.2rem);
	}

	.master-export-sectors-page .mep-sectors-hero p {
		font-size: .86rem;
		line-height: 1.6;
	}

	.master-export-sectors-page .mep-sectors-intro {
		padding-top: 4rem;
		padding-bottom: 4.5rem;
	}

	.master-export-sectors-page .mep-sectors-intro__top {
		margin-bottom: 2rem;
	}

	.master-export-sectors-page .mep-sectors-intro__heading h2 {
		max-width: 13ch;
		font-size: clamp(2.2rem, 10vw, 3.25rem);
	}

	.master-export-sectors-page .mep-sectors-intro__heading p {
		margin-top: 1.15rem;
		font-size: .88rem;
		line-height: 1.65;
	}

	.master-export-sectors-page .mep-sectors-line-cards {
		gap: .85rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__image {
		height: 12rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__title {
		top: .9rem;
		left: .9rem;
		font-size: 1.1rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__body {
		padding: 1.1rem 1rem 1rem;
	}

	.master-export-sectors-page .mep-sectors-line-card p {
		font-size: .78rem;
		line-height: 1.55;
	}

	.master-export-sectors-page .mep-sectors-line-card__footer {
		margin-top: 1.25rem;
		padding-top: .85rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__concepts {
		gap: .3rem .6rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__concepts span {
		font-size: .65rem;
	}

	.master-export-sectors-page .mep-sectors-line-card__link {
		margin-top: .9rem;
		font-size: .75rem;
	}
}

/* Ajuste final da experiência tátil da Metalomecânica. */
@media (max-width: 760px) {
	.master-export-metalomecanica-page .mep-metal-section-heading > p,
	.master-export-metalomecanica-page .mep-metal-copy > p,
	.master-export-metalomecanica-page .mep-metal-potential__inner > p {
		font-size: .94rem;
		line-height: 1.7;
	}

	.master-export-metalomecanica-page .mep-metal-segment p {
		font-size: .74rem !important;
		line-height: 1.5 !important;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list h3 {
		font-size: .92rem;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list p,
	.master-export-metalomecanica-page .mep-metal-challenge-card__back p {
		font-size: .76rem !important;
		line-height: 1.55 !important;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:hover .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:focus .mep-metal-challenge-card__inner {
		transform: none !important;
	}

	/* Em ecrãs táteis os desafios ficam como cartões claros, sem estado hover. */
	.master-export-metalomecanica-page .mep-metal-challenge-card__back {
		border-color: rgba(32, 45, 66, .12);
		border-top-color: var(--mep-metal-red);
		background: #fff;
		color: var(--mep-metal-ink);
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back .mep-metal-index,
	.master-export-metalomecanica-page .mep-metal-challenge-card__back h3 {
		color: var(--mep-metal-ink);
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back p {
		color: var(--mep-metal-muted) !important;
	}

	.master-export-metalomecanica-page .mep-metal-markets-list a {
		font-size: .76rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline h3 {
		font-size: .9rem;
	}

	.master-export-metalomecanica-page .mep-metal-timeline p {
		font-size: .76rem !important;
		line-height: 1.55 !important;
	}
}

@media (max-width: 520px) {
	.master-export-metalomecanica-page .mep-metal-segment-grid {
		grid-template-columns: 1fr;
	}

	.master-export-metalomecanica-page .mep-metal-segment {
		min-height: 0;
		padding: 1rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment h3 {
		font-size: .95rem;
	}

	.master-export-metalomecanica-page .mep-metal-segment p {
		max-width: 32rem;
		font-size: .78rem !important;
	}
}

/* Nos dispositivos táteis, a fórmula abre a explicação dentro do próprio cartão. */
@media (hover: none), (pointer: coarse) {
	.master-export-metalomecanica-page .mep-metal-formula__term::after {
		position: static;
		display: block;
		flex: 0 0 100%;
		width: auto;
		max-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		color: var(--mep-metal-muted);
		font-size: .72rem;
		font-weight: 600;
		line-height: 1.45;
		opacity: 0;
		pointer-events: none;
		transform: none;
		transition: opacity 180ms ease, max-height 180ms ease, margin 180ms ease, padding 180ms ease;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		overflow: hidden;
		word-break: normal;
		overflow-wrap: normal;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term-text {
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal;
		word-break: normal;
		overflow-wrap: normal;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term:focus::after {
		max-height: 5rem;
		margin-top: .45rem;
		padding-top: .45rem;
		border-top: 1px solid rgba(32, 45, 66, .12);
		opacity: 1;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term:hover,
	.master-export-metalomecanica-page .mep-metal-formula__term:focus-visible {
		border-color: rgba(225, 39, 38, .4);
		box-shadow: 0 .45rem 1rem rgba(32, 45, 66, .09);
		transform: none;
		outline: none;
		-webkit-tap-highlight-color: transparent;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term.is-result:focus,
	.master-export-metalomecanica-page .mep-metal-formula__term.is-result:focus-visible {
		border-color: transparent;
		background: var(--mep-metal-ink);
		color: #fff;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:hover .mep-metal-challenge-card__inner,
	.master-export-metalomecanica-page .mep-metal-challenge-card:focus .mep-metal-challenge-card__inner {
		transform: none !important;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__front {
		display: none;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back {
		position: relative;
		min-height: 9.5rem;
		border-color: rgba(32, 45, 66, .12);
		border-top-color: var(--mep-metal-red);
		background: #fff;
		color: var(--mep-metal-ink);
		transform: none;
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back .mep-metal-index,
	.master-export-metalomecanica-page .mep-metal-challenge-card__back h3 {
		color: var(--mep-metal-ink);
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back p {
		color: var(--mep-metal-muted) !important;
	}
}

@media (max-width: 760px) {
	.master-export-metalomecanica-page .mep-metal-segment p {
		font-size: clamp(.8rem, 2.25vw, .9rem) !important;
		line-height: 1.55 !important;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list p,
	.master-export-metalomecanica-page .mep-metal-challenge-card__back p,
	.master-export-metalomecanica-page .mep-metal-timeline p,
	.master-export-metalomecanica-page .mep-metal-resource p {
		font-size: clamp(.78rem, 2.15vw, .88rem) !important;
		line-height: 1.55 !important;
	}

	.master-export-metalomecanica-page .mep-metal-capability-list h3,
	.master-export-metalomecanica-page .mep-metal-timeline h3 {
		font-size: clamp(.9rem, 2.5vw, 1rem);
	}

	.master-export-metalomecanica-page .mep-metal-challenge-card__back h3 {
		font-size: clamp(.95rem, 2.7vw, 1.1rem);
	}

	.master-export-metalomecanica-page .mep-metal-formula__term {
		font-size: clamp(.82rem, 2.4vw, .95rem);
	}

	.master-export-metalomecanica-page .mep-metal-markets-list a {
		font-size: clamp(.74rem, 2.1vw, .84rem);
	}
}

@media (max-width: 760px) {
	/* Fórmula: fluxo vertical com operadores centrados e resultado destacado. */
	.master-export-metalomecanica-page .mep-metal-formula__flow {
		display: grid;
		grid-template-columns: 1fr;
		gap: .35rem;
		align-items: center;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term {
		width: 100%;
		min-height: 2.85rem;
		justify-content: flex-start;
		padding: .7rem .9rem;
		border-left: 3px solid var(--mep-metal-red);
		border-radius: .65rem;
		background: #fff;
		box-shadow: 0 .3rem .8rem rgba(32, 45, 66, .06);
		font-size: clamp(.82rem, 2.4vw, .95rem);
		text-align: left;
	}

	.master-export-metalomecanica-page .mep-metal-formula__operator {
		width: 1.45rem;
		height: 1.45rem;
		justify-self: center;
		border: 1px solid rgba(225, 39, 38, .2);
		background: rgba(225, 39, 38, .08);
		font-size: .95rem;
	}

	.master-export-metalomecanica-page .mep-metal-formula__term.is-result {
		min-height: 3.2rem;
		justify-content: center;
		border: 0;
		background: var(--mep-metal-ink);
		box-shadow: 0 .6rem 1.2rem rgba(32, 45, 66, .16);
		color: #fff;
		font-weight: 800;
		text-align: center;
	}
}

/* Páginas individuais dos mercados: leitura confortável em tablet e telemóvel. */
@media (max-width: 980px) {
	.master-export-market-detail-page .mep-market-detail-container {
		width: min(90%, 68rem);
	}

	.master-export-market-detail-page .mep-market-detail-section {
		padding: 5.5rem 0;
	}

	.master-export-market-detail-page .mep-market-detail-heading {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}

	.master-export-market-detail-page .mep-market-detail-heading h2 {
		max-width: 16ch;
		font-size: clamp(2.25rem, 6vw, 3.6rem);
	}

	.master-export-market-detail-page .mep-market-detail-heading p {
		font-size: .9rem;
		line-height: 1.7;
	}

	.master-export-market-detail-page .mep-market-detail-sector-grid,
	.master-export-market-detail-page .mep-market-detail-profile-grid,
	.master-export-market-detail-page .mep-market-detail-adaptation-grid,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid,
	.master-export-market-detail-page .mep-market-detail-action-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid article,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article {
		min-height: 0;
		padding: 1.4rem 1rem 1.4rem 0;
		border-right: 0;
		border-bottom: 1px solid rgba(32, 45, 66, .16);
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid article:nth-child(even),
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article:nth-child(even) {
		padding-left: 1rem;
		border-left: 1px solid rgba(32, 45, 66, .16);
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid article:nth-last-child(-n + 2),
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card {
		grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr);
		padding: 1.5rem;
	}

	.master-export-market-detail-page .mep-market-detail-adaptation-grid article,
	.master-export-market-detail-page .mep-market-detail-action-grid article {
		min-height: 0;
	}

	.master-export-market-detail-page .mep-market-detail-action-grid article {
		padding: 1.35rem;
	}
}

@media (max-width: 760px) {
	.master-export-market-detail-page .mep-market-detail-container {
		width: calc(100% - 2rem);
	}

	.master-export-market-detail-page .mep-sectors-hero {
		height: clamp(29rem, 78vh, 35rem);
		min-height: 0;
		max-height: 35rem;
		padding-top: 5.75rem;
		padding-bottom: 3.25rem;
	}

	.master-export-market-detail-page .mep-sectors-hero__grid {
		height: clamp(20rem, 55vh, 23rem);
		min-height: 0;
	}

	.master-export-market-detail-page .mep-sectors-hero h1 {
		max-width: 12ch;
		font-size: clamp(2.3rem, 11vw, 3.4rem);
	}

	.master-export-market-detail-page .mep-sectors-hero p {
		font-size: .86rem;
		line-height: 1.6;
	}

	.master-export-market-detail-page .mep-market-detail-section {
		padding: 4.25rem 0;
	}

	.master-export-market-detail-page .mep-market-detail-heading {
		grid-template-columns: 1fr;
		gap: 1.15rem;
		margin-bottom: 2rem;
	}

	.master-export-market-detail-page .mep-market-detail-profile .mep-market-detail-heading p {
		padding: 1rem 0 0;
		border-top: 3px solid var(--mep-market-detail-yellow, #ffc52f);
		border-left: 0;
	}

	.master-export-market-detail-page .mep-market-detail-heading h2 {
		max-width: 14ch;
		font-size: clamp(2.1rem, 9.5vw, 3.05rem);
		line-height: 1.04;
	}

	.master-export-market-detail-page .mep-market-detail-heading p {
		font-size: .84rem;
		line-height: 1.68;
	}

	.master-export-market-detail-page .mep-market-detail-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.master-export-market-detail-page .mep-market-detail-stats div,
	.master-export-market-detail-page .mep-market-detail-stats div:not(:first-child) {
		min-height: 6.5rem;
		padding: 1rem .75rem 1rem 0;
		border-right: 1px solid rgba(32, 45, 66, .14);
		border-top: 1px solid rgba(32, 45, 66, .14);
	}

	.master-export-market-detail-page .mep-market-detail-stats div:nth-child(even) {
		padding-left: .75rem;
		border-right: 0;
	}

	.master-export-market-detail-page .mep-market-detail-stats div:nth-child(-n + 2) {
		border-top: 0;
	}

	.master-export-market-detail-page .mep-market-detail-stats strong {
		margin-bottom: .45rem;
		font-size: 1.35rem;
	}

	.master-export-market-detail-page .mep-market-detail-stats span {
		font-size: .68rem;
		line-height: 1.4;
	}

	.master-export-market-detail-page .mep-market-detail-source {
		font-size: .65rem;
	}

	.master-export-market-detail-page .mep-market-detail-sector-grid,
	.master-export-market-detail-page .mep-market-detail-profile-grid,
	.master-export-market-detail-page .mep-market-detail-adaptation-grid,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid,
	.master-export-market-detail-page .mep-market-detail-action-grid {
		grid-template-columns: 1fr;
		gap: .85rem;
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid article,
	.master-export-market-detail-page .mep-market-detail-profile-grid article:nth-child(even),
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article:nth-child(even) {
		padding: 1.15rem 0;
		border-right: 0;
		border-left: 0;
		border-bottom: 1px solid rgba(32, 45, 66, .16);
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid article:last-child,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid article:last-child {
		border-bottom: 0;
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid h3 {
		font-size: 1.3rem;
	}

	.master-export-market-detail-page .mep-market-detail-profile-grid p,
	.master-export-market-detail-page .mep-market-detail-adaptation-grid p,
	.master-export-market-detail-page .mep-market-detail-opportunity-grid p,
	.master-export-market-detail-page .mep-market-detail-action-grid p {
		font-size: .8rem;
		line-height: 1.65;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card {
		display: block;
		padding: 1.25rem;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__summary {
		position: relative;
		padding-right: 2rem;
		border-right: 0;
		cursor: pointer;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__summary:focus-visible {
		outline: 3px solid rgba(32, 45, 66, .35);
		outline-offset: .35rem;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__toggle {
		position: absolute;
		top: .1rem;
		right: 0;
		display: grid;
		width: 2rem;
		height: 2rem;
		place-items: center;
		border: 1px solid rgba(32, 45, 66, .16);
		border-radius: 50%;
		background: var(--mep-market-detail-paper);
		color: var(--mep-market-detail-ink);
		font-family: 'Material Symbols Outlined';
		font-size: 1.2rem;
		line-height: 1;
		transition: transform .2s ease, background-color .2s ease;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card[open] .mep-market-detail-sector-reading-card__toggle {
		transform: rotate(180deg);
		background: var(--mep-market-detail-ink);
		color: #fff;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__intro {
		padding-right: 0;
		border-right: 0;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__content {
		padding-top: 1.15rem;
		margin-top: 1.15rem;
		border-top: 1px solid rgba(32, 45, 66, .12);
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card h3 {
		font-size: 1.3rem;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card p,
	.master-export-market-detail-page .mep-market-detail-sector-reading-card li {
		font-size: .8rem;
		line-height: 1.65;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card ul {
		margin: 1.25rem 0 0;
		padding: 1.15rem 0 0 1rem;
		border-top: 1px solid rgba(32, 45, 66, .12);
		border-bottom: 0;
	}

	.master-export-market-detail-page .mep-market-detail-sector-reading-card__criteria {
		margin: 1.15rem 0 0;
		padding-top: 1.15rem;
		border-top: 1px solid rgba(32, 45, 66, .12);
	}

	.master-export-market-detail-page .mep-market-detail-adaptation-grid article {
		position: relative;
		padding: 0 0 1.25rem 3.65rem;
		border-left: 0;
		border-bottom: 1px solid rgba(32, 45, 66, .16);
	}

	.master-export-market-detail-page .mep-market-detail-adaptation-grid article:last-child {
		border-bottom: 0;
	}

	.master-export-market-detail-page .mep-market-detail-adaptation-grid strong {
		position: absolute;
		left: 0;
		width: 2.65rem;
		height: 2.65rem;
		margin: 0;
	}

	.master-export-market-detail-page .mep-market-detail-action-grid article {
		padding: 1.2rem;
	}

	.master-export-market-detail-page .mep-market-detail-action-grid strong {
		margin-bottom: 1.2rem;
	}
}

/* Acordeões do projeto: resumo mobile com hierarquia visual própria. */
@media (max-width: 760px) {
	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article {
		display: grid;
		grid-template-columns: 2.7rem minmax(0, 1fr);
		align-items: center;
		column-gap: .75rem;
		min-height: 4.65rem;
		padding: .8rem 3.15rem .8rem 1rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concept-meta {
		justify-content: center;
		gap: .3rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concept-number {
		width: 2.1rem;
		height: 2.1rem;
		font-size: .66rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concept-icon {
		font-size: 1rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts h3 {
		margin: 0;
		font-size: .95rem;
		line-height: 1.25;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p {
		grid-column: 1 / -1;
		margin-top: .8rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article {
		grid-template-columns: 4.75rem minmax(0, 1fr);
		align-items: center;
		min-height: 4.45rem;
		padding: .85rem 3.1rem .85rem 1rem;
		column-gap: .7rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objective-meta {
		align-items: center;
		gap: .35rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list strong {
		font-size: 1.45rem;
		letter-spacing: -.06em;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objective-icon {
		font-size: 1.05rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objective-content {
		min-width: 0;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list h3 {
		margin: 0;
		padding: 0;
		font-size: .92rem;
		line-height: 1.25;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		margin-top: .8rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts .mep-project-card-toggle,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-card-toggle {
		top: 50%;
		right: .9rem;
		transform: translateY(-50%);
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-accordion].is-open .mep-project-card-toggle {
		transform: translateY(-50%);
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-accordion].is-open {
		align-items: start;
		background: #ffffff;
		box-shadow: 0 .7rem 1.4rem rgba(36, 36, 37, .08);
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-accordion].is-open .mep-project-card-toggle {
		background: rgba(36, 36, 37, .04);
		color: var(--mep-project-ink);
	}
}

/* Resumos visíveis: os cartões fechados continuam informativos. */
@media (max-width: 760px) {
	/* Conhecimento e objetivos mantêm o texto integral, como no desktop. */
	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-card-toggle {
		display: none;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article {
		cursor: default;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article {
		min-height: 6.25rem;
		align-content: center;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p {
		margin-top: .55rem;
		padding-top: 0;
		border-top: 0;
		font-size: .68rem;
		line-height: 1.5;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article {
		min-height: 5.55rem;
		align-items: start;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objective-content {
		padding-top: .1rem;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		margin-top: .4rem;
		padding-top: 0;
		border-top: 0;
		font-size: .68rem;
		line-height: 1.5;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article.is-open > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article.is-open .mep-project-objective-content > p {
		display: block;
		-webkit-line-clamp: unset;
		margin-top: .8rem;
		padding-top: .8rem;
		border-top: 1px solid rgba(36, 36, 37, .1);
	}
}

@media (max-width: 760px) {
	/* O texto continua a ser o mesmo do desktop, mas abre-se apenas quando necessário. */
	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article,
	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list > article {
		cursor: default;
		transition: box-shadow 180ms ease, background-color 180ms ease;
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-details] > p,
	.master-export-project-page.mep-project-enhanced .mep-project-objective-content > p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-details-toggle {
		display: inline-flex;
		align-items: center;
		gap: .3rem;
		margin-top: .45rem;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--mep-project-muted);
		font: inherit;
		font-size: .66rem;
		font-weight: 700;
		line-height: 1.2;
		cursor: pointer;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-details-toggle::after {
		content: '↗';
		font-size: .8rem;
		transition: transform 180ms ease;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-details-toggle:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: .2rem;
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-details].is-open {
		align-items: start;
		background: #ffffff;
		box-shadow: 0 .7rem 1.4rem rgba(36, 36, 37, .08);
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-details].is-open > p,
	.master-export-project-page.mep-project-enhanced [data-mep-project-details].is-open .mep-project-objective-content > p {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible;
		margin-top: .55rem;
		padding-top: .55rem;
		border-top: 1px solid rgba(36, 36, 37, .1);
	}

	.master-export-project-page.mep-project-enhanced [data-mep-project-details].is-open .mep-project-details-toggle::after {
		transform: rotate(90deg);
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article > p {
		grid-column: 1 / -1;
		margin-top: .45rem;
		font-size: .68rem;
		line-height: 1.5;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-concepts > article .mep-project-details-toggle {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.master-export-project-page.mep-project-enhanced .mep-project-objectives-list .mep-project-objective-content > p {
		margin-top: .4rem;
		font-size: .68rem;
		line-height: 1.5;
	}
}

/* Títulos dos heroes: manter linhas equilibradas em todas as páginas públicas. */
.mep-sectors-hero__copy,
.master-export-events-page .mep-sectors-hero__copy,
.mep-project-hero__copy,
.me-inner-hero__copy,
.mep-markets-hero__copy,
.acf-hero-slideshow__content,
.mee-event-single__hero-copy {
	max-width: 56rem;
}

.mep-sectors-hero h1,
.master-export-sectors-page .mep-sectors-hero h1,
.master-export-events-page .mep-sectors-hero h1,
.master-export-market-detail-page .mep-sectors-hero h1,
.master-export-project-page .mep-sectors-hero--project h1,
.mep-project-hero h1,
.mep-markets-hero h1,
.master-export-markets-page .mep-markets-hero h1,
.me-inner-hero h1,
.mee-event-single__hero h1,
.mep-library-resource-single .mee-event-single__hero h1,
.me-search-hero h1,
.acf-hero-slideshow__title,
.master-export-home--compact .acf-hero-slideshow__title,
.master-export-news-single h1 {
	max-width: 24ch;
	text-wrap: balance;
}

@media (min-width: 1400px) {
	.master-export-events-page .mep-sectors-hero__copy,
	.master-export-news-page .me-news-hero .mep-sectors-hero__copy {
		max-width: none;
	}

	.master-export-events-page .mep-sectors-hero h1,
	.master-export-news-page .me-news-hero h1 {
		max-width: none;
		font-size: clamp(2.3rem, 3.3vw, 4rem);
		text-wrap: nowrap;
	}
}

/* Elemento gráfico comum aos heros públicos com imagem. */
.mep-sectors-hero__image::before,
.mep-markets-hero__image::before,
.mep-project-hero__image::before,
.mee-event-single__hero-media::before,
.acf-hero-slideshow__slide::after,
.me-inner-hero__mark-layer span,
.me-search-hero__mark-layer span {
	position: absolute;
	right: -5.25rem;
	bottom: clamp(.5rem, 1vw, 1rem);
	width: clamp(12rem, 26vw, 26rem);
	aspect-ratio: 172 / 160;
	background: url('mercados/M-haste-esquerdadefyelo.svg') center / contain no-repeat;
	opacity: .56;
	pointer-events: none;
	transform: rotate(-90deg);
}

.mep-sectors-hero__image::before,
.mep-markets-hero__image::before,
.mep-project-hero__image::before,
.mee-event-single__hero-media::before {
	z-index: 2;
	content: '';
}

.acf-hero-slideshow__slide::after {
	z-index: -1;
	content: '';
}

.me-search-hero__mark-layer {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.me-inner-hero__mark-layer {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.me-inner-hero__mark-layer span {
	height: auto;
}

.me-inner-hero__copy {
	position: relative;
	z-index: 2;
}

.me-inner-hero__image {
	z-index: 0;
}

.me-search-hero__mark-layer span {
	height: auto;
}

.me-search-hero .me-search-container {
	z-index: 2;
}

@media (max-width: 900px) {
	.mep-sectors-hero__image::before,
	.mep-markets-hero__image::before,
	.mep-project-hero__image::before,
	.mee-event-single__hero-media::before,
	.acf-hero-slideshow__slide::after,
	.me-inner-hero__mark-layer span,
	.me-search-hero__mark-layer span {
		right: -3.75rem;
		bottom: .5rem;
		width: 11rem;
		opacity: .35;
	}
}

/* Habitat e Metalomecânica: ajustar a tipografia à largura de cada cartão. */
.master-export-habitat-page .mep-habitat-number {
	container-type: inline-size;
}

.master-export-habitat-page .mep-habitat-number strong {
	font-size: clamp(1.6rem, 24cqi, 4.5rem);
}

.master-export-habitat-page .mep-habitat-number__value {
	white-space: nowrap;
}

/* Títulos e descrições ajustados ao espaço disponível dentro de cada cartão. */
.master-export-habitat-page .mep-habitat-sector-card {
	container-type: inline-size;
}

.master-export-habitat-page .mep-habitat-sector-card .mep-project-market-card__content h3 {
	font-size: clamp(1rem, 6cqi, 1.35rem);
	line-height: 1.2;
}

.master-export-habitat-page .mep-habitat-sector-card .mep-project-market-card__content p {
	font-size: clamp(.75rem, 5cqi, 1rem);
	line-height: 1.45;
	overflow-wrap: break-word;
}

/* Marcos do projeto: usar a mesma escala responsiva dos números das fileiras. */
.master-export-project-page .mep-project-milestone {
	container-type: inline-size;
}

.master-export-project-page .mep-project-milestone__number {
	font-size: clamp(1.6rem, 24cqi, 4.5rem);
	white-space: nowrap;
}

/* Ritmo vertical comum às secções principais de todas as páginas públicas. */
:root {
	--me-page-section-spacing: clamp(3rem, 4vw, 4rem);
}

:is(main[class*="master-export-"], main.me-search-page) > section:not([class*="hero"]) {
	padding-top: var(--me-page-section-spacing);
	padding-bottom: var(--me-page-section-spacing);
}

/* Hero de Mercados: seguir a mesma altura e o mesmo respiro dos heróis internos. */
.master-export-markets-page .mep-markets-hero {
	height: auto;
	min-height: clamp(36rem, 76svh, 50rem);
	padding: clamp(6.5rem, 11vh, 9.5rem) 0 clamp(3.5rem, 7vh, 6.5rem);
}

.master-export-markets-page .mep-markets-hero__grid {
	min-height: clamp(22rem, 52svh, 30rem);
}

@media (max-width: 980px) {
	.master-export-markets-page .mep-markets-hero {
		min-height: 39rem;
		padding-top: clamp(6rem, 10vh, 8rem);
		padding-bottom: clamp(3.5rem, 7vh, 5rem);
	}

	.master-export-markets-page .mep-markets-hero__grid {
		min-height: 25rem;
	}
}

@media (max-height: 760px) and (min-width: 761px) {
	.master-export-markets-page .mep-markets-hero {
		min-height: 35rem;
		padding: 6rem 0 4rem;
	}

	.master-export-markets-page .mep-markets-hero__grid {
		min-height: 23rem;
	}
}

@media (max-width: 760px) {
	.master-export-markets-page .mep-markets-hero {
		min-height: 0;
		padding: 5.75rem 0 3.5rem;
	}

	.master-export-markets-page .mep-markets-hero__grid {
		min-height: 0;
	}
}

/* Uniformizar a cor dos nomes/rótulos de secção em todas as páginas públicas. */
.mep-home-overview__kicker,
.mep-home-section-kicker,
.mep-sectors-kicker:not(.mep-sectors-hero .mep-sectors-kicker),
.mep-project-kicker:not(.mep-project-hero .mep-project-kicker),
.mep-markets-kicker:not(.mep-markets-hero .mep-markets-kicker),
.mep-market-detail-kicker,
.mep-market-analysis-kicker,
.mep-project-funding__eyebrow,
.me-inner-kicker:not(.me-inner-hero .me-inner-kicker),
.me-search-kicker:not(.me-search-hero .me-search-kicker),
.mee-kicker:not(.mee-event-single__hero .mee-kicker) {
	color: #FEC52E !important;
}

/* Usar nos heróis de detalhe a escala tipográfica das páginas principais. */
.master-export-event-single .mee-event-single__hero h1,
.mep-library-resource-single .mee-event-single__hero h1 {
	font-size: clamp(2.45rem, 5vw, 4.8rem);
	line-height: 1.1;
}

@media (max-width: 980px) {
	.master-export-event-single .mee-event-single__hero h1,
	.mep-library-resource-single .mee-event-single__hero h1 {
		font-size: clamp(2.1rem, 9vw, 3.6rem);
	}
}

@media (max-width: 760px) {
	.master-export-event-single .mee-event-single__hero h1,
	.mep-library-resource-single .mee-event-single__hero h1 {
		font-size: clamp(2.35rem, 10vw, 4rem);
	}
}

@media (max-height: 820px) and (min-width: 761px) {
	.master-export-event-single .mee-event-single__hero h1,
	.mep-library-resource-single .mee-event-single__hero h1 {
		font-size: clamp(2.15rem, min(4.2vw, 6.8vh), 4rem);
	}
}

/* Dar mais espaço acima do link e dos rótulos no herói do recurso. */
.master-export-library-resource-single .mee-event-single__hero-copy {
	transform: translateY(clamp(-1.5rem, -2vw, -1rem));
}

/* Os heróis públicos usam a mesma altura responsiva. A página inicial mantém o carrossel próprio. */
body:not(.master-export-page-sections-active) .acf-hero-slideshow,
body:not(.master-export-page-sections-active) .mep-sectors-hero,
body:not(.master-export-page-sections-active) .mep-markets-hero,
body:not(.master-export-page-sections-active) .mep-project-hero,
body:not(.master-export-page-sections-active) .me-inner-hero,
body:not(.master-export-page-sections-active) .me-search-hero,
body:not(.master-export-page-sections-active) .mee-event-single__hero {
	box-sizing: border-box !important;
	height: clamp(34rem, 72vh, 46rem) !important;
	min-height: clamp(34rem, 72vh, 46rem) !important;
	max-height: 46rem !important;
}

body:not(.master-export-page-sections-active) .mep-sectors-hero__grid,
body:not(.master-export-page-sections-active) .mep-markets-hero__grid {
	height: 100% !important;
	min-height: 0 !important;
}

/* O título do evento pode usar toda a largura disponível sem aumentar o herói. */
.master-export-event-single .mee-event-single__hero-copy,
.mep-library-resource-single .mee-event-single__hero-copy {
	width: 100%;
	max-width: none !important;
}

.master-export-event-single .mee-event-single__hero h1,
.mep-library-resource-single .mee-event-single__hero h1 {
	max-width: none !important;
}

@media (max-width: 980px) {
	body:not(.master-export-page-sections-active) .acf-hero-slideshow,
	body:not(.master-export-page-sections-active) .mep-sectors-hero,
	body:not(.master-export-page-sections-active) .mep-markets-hero,
	body:not(.master-export-page-sections-active) .mep-project-hero,
	body:not(.master-export-page-sections-active) .me-inner-hero,
	body:not(.master-export-page-sections-active) .me-search-hero,
	body:not(.master-export-page-sections-active) .mee-event-single__hero {
		height: clamp(32rem, 72vh, 42rem) !important;
		min-height: clamp(32rem, 72vh, 42rem) !important;
		max-height: 42rem !important;
	}
}

@media (max-width: 760px) {
	body:not(.master-export-page-sections-active) .acf-hero-slideshow,
	body:not(.master-export-page-sections-active) .mep-sectors-hero,
	body:not(.master-export-page-sections-active) .mep-markets-hero,
	body:not(.master-export-page-sections-active) .mep-project-hero,
	body:not(.master-export-page-sections-active) .me-inner-hero,
	body:not(.master-export-page-sections-active) .me-search-hero,
	body:not(.master-export-page-sections-active) .mee-event-single__hero {
		height: clamp(30rem, 78vh, 36rem) !important;
		min-height: clamp(30rem, 78vh, 36rem) !important;
		max-height: 36rem !important;
	}
}

@media (max-width: 520px) {
	body:not(.master-export-page-sections-active) .acf-hero-slideshow,
	body:not(.master-export-page-sections-active) .mep-sectors-hero,
	body:not(.master-export-page-sections-active) .mep-markets-hero,
	body:not(.master-export-page-sections-active) .mep-project-hero,
	body:not(.master-export-page-sections-active) .me-inner-hero,
	body:not(.master-export-page-sections-active) .me-search-hero,
	body:not(.master-export-page-sections-active) .mee-event-single__hero {
		height: clamp(29rem, 78vh, 34rem) !important;
		min-height: clamp(29rem, 78vh, 34rem) !important;
		max-height: 34rem !important;
	}
}

