@charset "UTF-8";
/* =========================================================================
   Mundiconsult - template "mundi"
   Medidas tiradas do mockup HOME.png (785 px = 1440 px de ecra, k = 1,8344).
   ========================================================================= */

/* ---------- tipo de letra ---------- */
@font-face {
	font-family: 'Jakarta';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/jakarta-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Jakarta';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/jakarta-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- variaveis ---------- */
:root {
	--tinta:      #1f2d3b;
	--tinta-2:    #44576a;
	--texto:      #55697b;
	--teal:       #0a6a89;
	--teal-esc:   #075875;
	--teal-claro: #e7f1f5;
	--navy:       #253b4b;
	--escuro:     #0d1419;
	--linha:      #e3eaef;
	--bg-claro:   #f2f7f9;
	--bg-suave:   #fbfcfd;

	--larg:       1278px;
	--larg-max:   1312px;
	--gutter:     24px;
	--raio:       5px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.mc {
	margin: 0;
	font-family: 'Jakarta', 'Segoe UI', system-ui, -apple-system, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--texto);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; color: var(--tinta); font-weight: 800; letter-spacing: -0.022em; line-height: 1.16; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

.mc-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.mc-i {
	width: 1em; height: 1em; flex: none;
	fill: none; stroke: currentColor; stroke-width: 1.7;
	stroke-linecap: round; stroke-linejoin: round;
}

.mc-oculto {
	position: absolute !important; width: 1px; height: 1px;
	margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.mc-salta { position: absolute; left: -9999px; top: 0; z-index: 999; padding: 12px 20px; background: var(--teal); color: #fff; }
.mc-salta:focus { left: 0; }

.mc-container {
	width: 100%;
	max-width: calc(var(--larg) + var(--gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.mc-container--largo { max-width: calc(var(--larg-max) + var(--gutter) * 2); }

/* =========================================================================
   BARRA SUPERIOR  (22 px no mockup = 40 px)
   ========================================================================= */
.mc-topbar { background: var(--navy); color: rgba(255, 255, 255, .85); }

.mc-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 40px; }

.mc-topbar__tag { font-size: 13px; }

.mc-topbar__dir { display: flex; align-items: center; gap: 26px; }

.mc-topbar__link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; }
.mc-topbar__link .mc-i { width: 15px; height: 15px; opacity: .9; }
.mc-topbar__link:hover { color: #fff; }

.mc-topbar__sociais { display: inline-flex; align-items: center; gap: 15px; margin-left: 6px; }
.mc-topbar__sociais .mc-i { width: 16px; height: 16px; stroke-width: 1.5; }
.mc-topbar__sociais a:hover { color: #fff; }

.mc-topbar__lang { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; letter-spacing: .05em; margin-left: 12px; }
.mc-topbar__lang .mc-i { width: 14px; height: 14px; stroke-width: 2; }

/* =========================================================================
   CABECALHO  (58 px no mockup = 106 px)
   ========================================================================= */
.mc-header { background: #fff; position: relative; z-index: 30; }

.mc-header__in { display: flex; align-items: center; gap: 24px; min-height: 106px; }

.mc-logo { flex: none; }
.mc-logo img { width: 352px; height: auto; }

.mc-nav { margin-left: auto; }
.mc-nav__lista { display: flex; align-items: center; gap: 33px; }

.mc-nav__link { font-size: 17px; font-weight: 600; color: var(--tinta-2); padding: 6px 0; white-space: nowrap; }
.mc-nav__link:hover,
.mc-nav__link.is-activo { color: var(--teal); }

.mc-header__accoes { display: flex; align-items: center; gap: 16px; }

.mc-icone-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: var(--tinta); }
.mc-icone-btn .mc-i { width: 22px; height: 22px; stroke-width: 1.9; }
.mc-icone-btn:hover { background: var(--teal-claro); color: var(--teal); }

.mc-header__cta { padding: 0 22px; height: 55px; min-width: 224px; font-size: 15px; gap: 10px; }
.mc-header__cta .mc-i { width: 19px; height: 19px; }

.mc-burger { display: none; }

.mc-busca { border-top: 1px solid var(--linha); background: #fff; padding: 20px 0; }
.mc-busca form { display: flex; gap: 12px; }
.mc-busca input[type="search"] { flex: 1; padding: 14px 18px; font: inherit; font-size: 16px; border: 1px solid var(--linha); border-radius: var(--raio); color: var(--tinta); }
.mc-busca input[type="search"]:focus { outline: 2px solid var(--teal); outline-offset: 1px; }

/* =========================================================================
   BOTOES / LINKS
   ========================================================================= */
.mc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	height: 60px; padding: 0 28px; border-radius: var(--raio);
	font-size: 16px; font-weight: 600; white-space: nowrap;
	transition: background .18s, color .18s, border-color .18s;
}
.mc-btn .mc-i { width: 18px; height: 18px; stroke-width: 1.9; }

.mc-btn--primario { background: var(--teal); color: #fff; }
.mc-btn--primario:hover { background: var(--teal-esc); }

.mc-btn--linha { background: #fff; color: var(--teal); border: 1px solid #b9d4df; }
.mc-btn--linha:hover { border-color: var(--teal); background: var(--teal-claro); }

.mc-btn--branco { background: #fff; color: var(--teal); }
.mc-btn--branco:hover { background: var(--teal-claro); }

.mc-link { display: inline-flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 600; color: var(--teal); }
.mc-link .mc-i { width: 17px; height: 17px; stroke-width: 1.9; }
.mc-link:hover { color: var(--teal-esc); }

/* =========================================================================
   TEXTO REPETIDO
   ========================================================================= */
.mc-label { font-size: 15px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #8d9dab; }
.mc-label--claro { color: rgba(255, 255, 255, .8); }

.mc-h2 { font-size: 50px; line-height: 0.97; }
.mc-h2--pequeno { font-size: 44px; }
.mc-h2--claro { color: #fff; }
.mc-h2 span { color: var(--teal); }
.mc-h2--claro span { color: #fff; }

.mc-corpo-txt { font-size: 18.5px; line-height: 1.4; color: var(--texto); }

/* texto das "paredes" */
.mc-parede-base { font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: #76899a; }
.mc-parede-base::after { content: ''; display: block; height: 3px; background: var(--teal); opacity: .85; }

/* =========================================================================
   HERO  (81..454 no mockup = 684 px)
   ========================================================================= */
.mc-hero { position: relative; isolation: isolate; padding-top: 26px; min-height: 684px; }

.mc-hero__fundo {
	position: absolute; inset: 0; z-index: -1;
	background-image:
		linear-gradient(90deg, #fafbfc 0%, #fafbfc 26%, rgba(250,251,252,.82) 35%, rgba(250,251,252,.45) 45%, rgba(250,251,252,.12) 55%, rgba(250,251,252,0) 63%),
		var(--foto);
	background-size: auto, cover;
	background-position: center, center right;
	background-repeat: no-repeat;
}

.mc-hero__in { position: relative; }

.mc-hero__texto { max-width: 660px; }

.mc-hero__titulo { margin: 36px 0 0; font-size: 66px; line-height: 0.95; letter-spacing: -0.03em; }
.mc-hero__titulo span { color: var(--teal); }

.mc-hero__lead { margin-top: 22px; max-width: 440px; font-size: 19px; line-height: 1.5; }

.mc-hero__botoes { display: flex; gap: 20px; margin-top: 24px; }
.mc-hero__botoes .mc-btn--primario { min-width: 297px; }
.mc-hero__botoes .mc-btn--linha { min-width: 166px; }

.mc-hero__parede {
	position: absolute; top: 156px; left: 882px;
	font-size: 19px; line-height: 2.1; font-weight: 500;
	letter-spacing: .15em; text-transform: uppercase; color: #76899a;
}
.mc-hero__parede::after { content: ''; display: block; width: 56px; height: 3px; background: var(--teal); margin-top: 20px; opacity: .85; }

.mc-hero__pes { display: flex; padding-top: 48px; padding-bottom: 38px; }
.mc-pe { display: flex; align-items: center; gap: 16px; width: 276px; }
.mc-pe .mc-i { width: 36px; height: 36px; color: var(--teal); stroke-width: 1.6; }
.mc-pe p { font-size: 15px; line-height: 1.5; color: var(--tinta-2); font-weight: 500; }

/* =========================================================================
   SOBRE  (455..681 = 415 px)
   ========================================================================= */
.mc-sobre { background: var(--bg-suave); }

.mc-sobre__in { display: grid; grid-template-columns: 1fr 686px; align-items: center; min-height: 415px; }

.mc-sobre__texto { padding: 6px 70px 6px 0; }
.mc-sobre__texto .mc-h2 { margin-top: 8px; }
.mc-sobre__texto .mc-corpo-txt { margin-top: 16px; max-width: 505px; }
.mc-sobre__texto .mc-btn { margin-top: 19px; }

.mc-sobre__foto { position: relative; align-self: stretch; display: flex; padding-top: 13px; }
.mc-sobre__foto img { width: 100%; height: 100%; object-fit: cover; }

.mc-sobre__parede {
	position: absolute; top: 51px; left: 257px;
	font-size: 17px; line-height: 2; font-weight: 500;
	letter-spacing: .15em; text-transform: uppercase; color: #74879a;
}
.mc-sobre__parede::after { content: ''; display: block; width: 50px; height: 3px; background: var(--teal); margin-top: 18px; opacity: .8; }

/* =========================================================================
   SERVICOS  (681..1077 = 727 px)
   ========================================================================= */
.mc-servicos { background: var(--bg-claro); padding: 38px 0; }

.mc-servicos__topo { display: grid; grid-template-columns: 548px 1fr; gap: 0; align-items: start; padding-bottom: 16px; }
.mc-servicos__topo .mc-h2 { margin-top: 12px; }

.mc-servicos__intro { padding-top: 34px; }
.mc-servicos__intro .mc-corpo-txt { max-width: 560px; }
.mc-servicos__intro .mc-link { display: flex; justify-content: flex-end; margin-top: 16px; }

.mc-servicos__grelha { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

.mc-card {
	position: relative; display: grid; grid-template-columns: 58px 1fr;
	gap: 36px; align-items: start;
	min-height: 154px; padding: 26px 12px 26px 22px;
	background: #fff; border-radius: 4px;
	transition: box-shadow .2s, transform .2s;
}
.mc-card:hover { box-shadow: 0 10px 30px rgba(31, 45, 59, .09); transform: translateY(-2px); }

.mc-card__icone { display: flex; align-items: flex-start; justify-content: center; padding-top: 1px; }
.mc-card__icone .mc-i { width: 48px; height: 48px; color: var(--teal); stroke-width: 1.6; }

.mc-card__txt { display: block; }
.mc-card__titulo { display: block; font-size: 19px; line-height: 1.55; font-weight: 700; color: var(--tinta); letter-spacing: -0.012em; }
.mc-card__desc { display: block; margin-top: 11px; font-size: 18.5px; line-height: 1.4; }

.mc-card__seta { position: absolute; right: 22px; bottom: 20px; color: var(--teal); display: flex; }
.mc-card__seta .mc-i { width: 20px; height: 20px; stroke-width: 1.9; }

/* =========================================================================
   SAGE  (1078..1362 = 521 px)
   ========================================================================= */
.mc-sage { position: relative; background: #fff; min-height: 521px; isolation: isolate; }

.mc-sage__foto { position: absolute; inset: 13px 0 0 734px; z-index: 0; }
.mc-sage__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center left; }

.mc-sage__parede {
	position: absolute; right: 0; bottom: 0;
	width: 303px; min-height: 167px; padding: 26px 0 0 46px;
	background: #fff;
	font-size: 15px; line-height: 2.05; font-weight: 500;
	letter-spacing: .15em; text-transform: uppercase; color: #76899a;
}
.mc-sage__parede::after { content: ''; display: block; width: 46px; height: 3px; background: var(--teal); margin-top: 14px; opacity: .85; }

.mc-sage__in { position: relative; z-index: 1; }
.mc-sage__texto { max-width: 760px; padding: 36px 0 62px; }
.mc-sage__texto .mc-h2 { margin-top: 8px; }
.mc-sage__texto .mc-corpo-txt { margin-top: 14px; max-width: 662px; line-height: 1.4; }
.mc-sage__texto .mc-btn { margin-top: 16px; }

.mc-sage__selo { width: 341px; height: auto; margin-top: 10px; }

/* =========================================================================
   NUMEROS  (1363..1444 = 149 px)
   ========================================================================= */
.mc-numeros { background: #fff; padding: 30px 0 44px; }
.mc-numeros__in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.mc-numero { display: flex; align-items: center; gap: 26px; }
.mc-numero .mc-i { width: 50px; height: 50px; color: var(--teal); stroke-width: 1.6; }
.mc-numero__valor { font-size: 33px; font-weight: 800; color: var(--tinta); letter-spacing: -0.03em; line-height: 1.15; }
.mc-numero__legenda { font-size: 18px; margin-top: 2px; }

/* =========================================================================
   TESTEMUNHOS  (1445..1637 = 352 px)
   ========================================================================= */
.mc-testemunhos { background: var(--bg-claro); padding: 32px 0 46px; }

.mc-testemunhos__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-bottom: 22px; }
.mc-testemunhos__topo .mc-h2 { margin-top: 10px; }

.mc-carrossel__pista { position: relative; background: #fff; border-radius: 4px; min-height: 174px; padding: 32px 38px 32px 35px; }

.mc-testemunho { display: none; margin: 0; grid-template-columns: 84px 629px 1fr; gap: 0; align-items: start; }
.mc-testemunho.is-activo { display: grid; }

.mc-testemunho__aspas { color: var(--teal); display: flex; padding-top: 4px; }
.mc-testemunho__aspas .mc-i { width: 55px; height: 55px; }

.mc-testemunho__txt { font-size: 18px; line-height: 1.5; max-width: 560px; color: var(--tinta-2); }

.mc-testemunho footer { padding-top: 22px; }
.mc-testemunho__nome { font-size: 17px; font-weight: 700; color: var(--tinta); }
.mc-testemunho__papel { font-size: 16px; color: #93a2af; margin-top: 6px; }

.mc-carrossel__nav { position: absolute; right: 38px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 16px; color: var(--teal); }
.mc-carrossel__nav button { display: flex; align-items: center; justify-content: center; padding: 4px; }
.mc-carrossel__nav .mc-i { width: 21px; height: 21px; stroke-width: 1.9; }
.mc-carrossel__nav button:hover { color: var(--teal-esc); }

.mc-carrossel__pontos { display: inline-flex; gap: 7px; }
.mc-carrossel__pontos button { width: 7px; height: 7px; border-radius: 50%; background: #c7d6de; padding: 0; }
.mc-carrossel__pontos button.is-activo { background: var(--teal); }

/* =========================================================================
   CTA  (1638..1816 = 327 px)
   ========================================================================= */
.mc-cta { position: relative; isolation: isolate; min-height: 327px; display: flex; align-items: center; color: #fff; }
.mc-cta::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: var(--foto); background-size: cover; background-position: center; }
.mc-cta::after {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(92deg, rgba(20,78,100,.88) 0%, rgba(22,84,106,.74) 40%, rgba(32,98,120,.42) 66%, rgba(44,112,134,.26) 100%);
}

.mc-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 40px; width: 100%; }

.mc-cta__texto { padding: 20px 0; }
.mc-cta__texto .mc-h2 { margin-top: 8px; }
.mc-cta__texto > p { margin-top: 12px; font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.9); max-width: 560px; }
.mc-cta__texto .mc-btn { margin-top: 18px; min-width: 200px; }

.mc-cta__lema {
	flex: none; width: 292px; padding-left: 18px;
	border-left: 1px solid rgba(255,255,255,.45);
	font-size: 16px; line-height: 1.72; font-weight: 500;
	letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.93);
}

/* =========================================================================
   RODAPE  (1818..1949 = 240 px + barra de 95 px)
   ========================================================================= */
.mc-footer { background: var(--escuro); color: rgba(255,255,255,.72); }

.mc-footer__in { display: grid; grid-template-columns: 2.07fr .98fr 1.56fr 1.8fr; gap: 20px; padding-top: 42px; padding-bottom: 20px; }

.mc-footer__logo { width: 284px; height: auto; }
.mc-footer__marca p { margin-top: 24px; font-size: 16px; line-height: 1.5; color: rgba(255,255,255,.66); }

.mc-footer__col h2 { font-size: 15px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #fff; margin-bottom: 17px; }
.mc-footer__col li { margin-bottom: 4px; font-size: 16px; line-height: 1.45; }
.mc-footer__col a:hover { color: #fff; }

.mc-footer__contactos li > * { display: inline-flex; align-items: center; gap: 12px; }
.mc-footer__contactos .mc-i { width: 17px; height: 17px; color: rgba(255,255,255,.85); }

.mc-footer__baixo { border-top: 1px solid rgba(255,255,255,.12); }
.mc-footer__baixo-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 95px; font-size: 15px; color: rgba(255,255,255,.55); }
.mc-footer__baixo a:hover { color: #fff; }

/* =========================================================================
   PAGINAS GENERICAS
   ========================================================================= */
.mc-pagina { padding: 64px 0 84px; }
.mc-pagina h1, .mc-pagina h2 { margin-bottom: 18px; }
.mc-pagina p { margin-bottom: 16px; }

/* =========================================================================
   MENU MOVEL
   ========================================================================= */
.mc-menu-movel { position: fixed; inset: 0; z-index: 90; background: #fff; padding: 100px 24px 40px; overflow-y: auto; }
.mc-menu-movel ul { margin-bottom: 28px; }
.mc-menu-movel li { border-bottom: 1px solid var(--linha); }
.mc-menu-movel a { display: block; padding: 16px 0; font-size: 19px; font-weight: 600; color: var(--tinta); }
.mc-menu-movel a.is-activo { color: var(--teal); }
.mc-menu-movel .mc-btn { width: 100%; }
.mc-menu-movel__contactos { margin-top: 26px; display: grid; gap: 14px; }
.mc-menu-movel__contactos a { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; color: var(--texto); padding: 0; }
.mc-menu-movel__contactos .mc-i { width: 18px; height: 18px; color: var(--teal); }

body.mc--menu-aberto { overflow: hidden; }

/* =========================================================================
   RESPONSIVO
   ========================================================================= */
@media (max-width: 1400px) {
	.mc-hero__parede { left: auto; right: 2%; }
	.mc-sobre__in { grid-template-columns: 1fr 49%; }
	.mc-sobre__parede { left: 34%; }
	.mc-sage__foto { inset: 13px 0 0 51%; }
	.mc-testemunho { grid-template-columns: 66px minmax(0, 474px) 1fr; }
}

@media (max-width: 1180px) {
	.mc-nav__lista { gap: 24px; }
	.mc-nav__link { font-size: 15px; }
	.mc-logo img { width: 290px; }
	.mc-header__cta { min-width: 0; padding: 0 16px; font-size: 14px; height: 48px; }
	.mc-hero { min-height: 0; }
	.mc-hero__titulo { font-size: 46px; }
	.mc-h2 { font-size: 36px; }
	.mc-h2--pequeno { font-size: 32px; }
	.mc-corpo-txt { font-size: 17px; }
	.mc-hero__parede { font-size: 16px; top: 130px; }
	.mc-sobre__parede { left: 22%; font-size: 15px; }
	.mc-servicos__grelha { grid-template-columns: repeat(2, 1fr); }
	.mc-testemunho { grid-template-columns: 56px minmax(0, 1fr) 280px; }
	.mc-carrossel__nav { right: 24px; }
	.mc-footer__in { grid-template-columns: 1.6fr 1fr 1.3fr 1.5fr; }
}

@media (max-width: 1024px) {
	.mc-topbar__tag { display: none; }
	.mc-topbar__in { justify-content: center; }
	.mc-nav, .mc-header__cta { display: none; }
	.mc-burger { display: inline-flex; }
	.mc-header__accoes { margin-left: auto; }
	.mc-header__in { min-height: 84px; }
	.mc-logo img { width: 250px; }

	.mc-hero { padding-top: 0; }
	.mc-hero__fundo {
		background-image: linear-gradient(170deg, #fafbfc 0%, rgba(250,251,252,.95) 40%, rgba(250,251,252,.62) 66%, rgba(250,251,252,.28) 100%), var(--foto);
	}
	.mc-hero__in { padding-top: 34px; }
	.mc-hero__texto { max-width: none; }
	.mc-hero__titulo { font-size: 38px; }
	.mc-hero__lead { font-size: 17px; max-width: none; }
	.mc-hero__parede { position: static; margin-top: 34px; }
	.mc-hero__pes { flex-wrap: wrap; gap: 22px 40px; padding-top: 34px; }
	.mc-pe { width: auto; min-width: 240px; }

	.mc-sobre__in { grid-template-columns: 1fr; min-height: 0; }
	.mc-sobre__texto { padding: 46px 0 34px; }
	.mc-sobre__foto { height: 320px; padding-top: 0; }
	.mc-sobre__parede { left: 8%; top: 46px; }

	.mc-servicos { padding: 52px 0; }
	.mc-servicos__topo { grid-template-columns: 1fr; gap: 22px; }
	.mc-servicos__intro { padding-top: 0; }
	.mc-servicos__intro .mc-link { justify-content: flex-start; margin-top: 18px; }

	.mc-sage { min-height: 0; }
	.mc-sage__foto { position: relative; inset: auto; height: auto; display: block; }
	.mc-sage__foto img { height: 300px; }
	.mc-sage__parede { position: static; width: auto; min-height: 0; padding: 22px var(--gutter) 0; background: none; max-width: calc(var(--larg) + var(--gutter) * 2); margin-inline: auto; }
	.mc-sage__texto { padding: 42px 0; max-width: none; }
	.mc-sage__texto .mc-corpo-txt { max-width: none; }

	.mc-numeros { padding: 44px 0; }
	.mc-numeros__in { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; }

	.mc-testemunhos { padding: 52px 0; }
	.mc-testemunhos__topo { flex-direction: column; align-items: flex-start; gap: 16px; }
	.mc-testemunho { grid-template-columns: 1fr; gap: 16px; }
	.mc-testemunho footer { padding-top: 0; }
	.mc-carrossel__pista { padding: 28px 24px 70px; }
	.mc-carrossel__nav { right: 24px; top: auto; bottom: 20px; transform: none; }

	.mc-cta__in { flex-direction: column; align-items: flex-start; gap: 26px; }
	.mc-cta__texto { padding: 48px 0 0; }
	.mc-cta__lema { width: auto; padding: 0 0 48px 20px; }

	.mc-footer__in { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
}

@media (max-width: 680px) {
	:root { --gutter: 20px; }
	.mc-topbar__link span { display: none; }
	.mc-topbar__dir { gap: 18px; }
	.mc-logo img { width: 200px; }
	.mc-hero__titulo { font-size: 31px; }
	.mc-h2 { font-size: 28px; }
	.mc-h2--pequeno { font-size: 26px; }
	.mc-hero__botoes { flex-direction: column; align-items: stretch; }
	.mc-hero__botoes .mc-btn { min-width: 0; width: 100%; }
	.mc-servicos__grelha { grid-template-columns: 1fr; }
	.mc-card { min-height: 0; }
	.mc-numeros__in { grid-template-columns: 1fr; gap: 22px; }
	.mc-footer__in { grid-template-columns: 1fr; }
	.mc-footer__baixo-in { flex-direction: column; align-items: flex-start; gap: 8px; min-height: 0; padding-block: 24px; }
	.mc-sage__selo { width: 260px; }
}

/* ---- tamanhos de titulo medidos seccao a seccao no mockup ---- */
.mc-servicos .mc-h2 { font-size: 48.8px; }
.mc-sage .mc-h2 { font-size: 43.5px; line-height: 1.12; }
.mc-sage .mc-h2 .mc-sage__l1 { font-size: 49.5px; color: var(--tinta); }
.mc-sage .mc-h2 .mc-sage__l1 i { font-style: normal; color: var(--teal); }
.mc-cta .mc-h2 { font-size: 41px; line-height: 1.12; }
@media (max-width: 1180px) {
	.mc-servicos .mc-h2, .mc-sage .mc-h2 { font-size: 36px; }
	.mc-cta .mc-h2 { font-size: 32px; }
}
@media (max-width: 680px) {
	.mc-servicos .mc-h2, .mc-sage .mc-h2 { font-size: 28px; }
	.mc-cta .mc-h2 { font-size: 26px; }
}

/* =========================================================================
   PAGINAS INTERIORES
   ========================================================================= */
.mc-pagina-topo { background: var(--bg-claro); padding: 56px 0 52px; }
.mc-pagina-topo .mc-h2 { margin-top: 14px; }

.mc-pagina { padding: 56px 0 72px; font-size: 18.5px; line-height: 1.6; }
.mc-pagina .mc-container > * { max-width: 860px; }
.mc-pagina h2 { font-size: 32px; margin: 36px 0 14px; }
.mc-pagina h3 { font-size: 23px; margin: 28px 0 10px; }
.mc-pagina p { margin-bottom: 16px; }
.mc-pagina ul { margin: 0 0 18px; padding-left: 22px; list-style: disc; }
.mc-pagina li { margin-bottom: 8px; }
.mc-pagina a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }

.mc-cta--curto { min-height: 280px; }

body.mc--joomla .mc-pagina .page-header,
body.mc--joomla .mc-pagina .item-page > h1,
body.mc--joomla .mc-pagina .item-page > h2,
body.mc--joomla .mc-pagina .article-info,
body.mc--joomla .mc-pagina .icons,
body.mc--joomla .mc-pagina .pagination { display: none; }

@media (max-width: 1024px) {
	.mc-pagina-topo { padding: 42px 0 38px; }
	.mc-pagina { padding: 42px 0 56px; }
}
