/* ==========================================================================
   GoMalta Intercâmbio — Estilos principais
   Índice: 1 Fontes · 2 Tokens · 3 Base · 4 Utilitários · 5 Botões · 6 Cabeçalho
   7 Hero · 8 Formulário · 9 Seções da home · 10 Rodapé · 11 Páginas internas
   12 Blog · 13 Consentimento e WhatsApp · 14 Movimento reduzido
   ========================================================================== */

/* 1 · Fontes (hospedadas no tema, sem chamadas a terceiros) ------------------ */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-wght-normal.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;
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/poppins-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/poppins-latin-700-normal.woff2") format("woff2");
}
/* Fallbacks com métricas aproximadas (reduzem o CLS na troca de fonte). */
@font-face {
	font-family: "Inter Fallback";
	src: local("Arial"), local("Helvetica");
	size-adjust: 107%;
	ascent-override: 90%;
	descent-override: 22%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Poppins Fallback";
	src: local("Arial"), local("Helvetica");
	size-adjust: 112%;
	ascent-override: 93%;
	descent-override: 31%;
	line-gap-override: 0%;
}

/* 2 · Tokens ----------------------------------------------------------------- */
:root {
	--gm-red: #dc1024; /* vermelho do logotipo */
	--gm-red-dark: #b80d1e;
	--gm-red-soft: #fdecef;
	--gm-navy: #0b1f3a;
	--gm-navy-2: #1b3358;
	--gm-navy-3: #2a4772;
	--gm-sand: #f7f4ef;
	--gm-gray: #f3f5f8;
	--gm-border: #dfe4ec;
	--gm-input: #c3ccd8;
	--gm-text: #2a2e36; /* grafite do logotipo */
	--gm-muted: #5a6678;
	--gm-white: #fff;
	--gm-green: #128c4a;
	--gm-font: "Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--gm-font-head: "Poppins", "Poppins Fallback", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--gm-radius: 16px;
	--gm-radius-lg: 22px;
	--gm-shadow-sm: 0 2px 8px rgba(11, 31, 58, .06);
	--gm-shadow: 0 10px 30px rgba(11, 31, 58, .10);
	--gm-shadow-lg: 0 24px 60px rgba(11, 31, 58, .28);
	--gm-header-h: 86px;
	--gm-container: 1200px;
	--gm-gutter: 20px;
	--gm-section: clamp(56px, 8vw, 96px);
}
@media (max-width: 400px) {
	:root { --gm-gutter: 16px; }
}

/* 3 · Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--gm-header-h) + 16px);
}
body {
	margin: 0;
	font-family: var(--gm-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--gm-text);
	background: var(--gm-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
.gm-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--gm-font-head);
	font-weight: 700;
	line-height: 1.2;
	color: var(--gm-navy);
	margin: 0 0 .6em;
	letter-spacing: -.01em;
	text-wrap: balance;
}
p { margin: 0 0 1em; }
a { color: var(--gm-red); text-underline-offset: .18em; }
a:hover { color: var(--gm-red-dark); }
ul, ol { padding-left: 1.25em; }
address { font-style: normal; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible {
	outline: 3px solid var(--gm-red);
	outline-offset: 3px;
	border-radius: 4px;
}
.gm-main:focus { outline: none; }

/* 4 · Utilitários ------------------------------------------------------------ */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.gm-skip-link:focus {
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	margin: 0;
	z-index: 1000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	background: var(--gm-navy);
	color: var(--gm-white);
	border-radius: 8px;
	text-decoration: none;
}
.gm-container {
	width: 100%;
	max-width: calc(var(--gm-container) + var(--gm-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gm-gutter);
}
.gm-center { text-align: center; }
.gm-eyebrow {
	display: inline-block;
	margin: 0 0 .75rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gm-red);
}
.gm-section { padding-block: var(--gm-section); }
.gm-section--tight { padding-block: clamp(40px, 6vw, 72px); }
.gm-section-head { max-width: 720px; margin: 0 auto clamp(32px, 5vw, 56px); }
.gm-section-head--center { text-align: center; }
.gm-section-title { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); }
.gm-section-subtitle { color: var(--gm-muted); font-size: 1.125rem; margin: 0; }
.gm-checklist { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .65rem; }
.gm-checklist li { position: relative; padding-left: 2rem; }
.gm-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 50%;
	background: var(--gm-red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc1024' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.gm-admin-hint {
	padding: .75rem 1rem;
	border: 1px dashed #d9a400;
	background: #fff8e1;
	color: #5c4400;
	border-radius: 10px;
	font-size: .875rem;
}

/* 5 · Botões ----------------------------------------------------------------- */
.gm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 48px;
	padding: .8rem 1.5rem;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--gm-font);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.gm-btn:hover { transform: translateY(-1px); }
.gm-btn--primary { background: var(--gm-red); color: var(--gm-white); box-shadow: 0 8px 20px rgba(220, 16, 36, .28); }
.gm-btn--primary:hover { background: var(--gm-red-dark); color: var(--gm-white); }
.gm-btn--navy { background: var(--gm-navy); color: var(--gm-white); }
.gm-btn--navy:hover { background: var(--gm-navy-2); color: var(--gm-white); }
.gm-btn--whatsapp { background: var(--gm-green); color: var(--gm-white); }
.gm-btn--whatsapp:hover { background: #0e7a3f; color: var(--gm-white); }
.gm-btn--ghost { background: transparent; color: var(--gm-navy); border-color: var(--gm-border); }
.gm-btn--ghost:hover { border-color: var(--gm-navy); color: var(--gm-navy); }
.gm-btn--outline-light { background: transparent; color: var(--gm-white); border-color: rgba(255, 255, 255, .45); }
.gm-btn--outline-light:hover { border-color: var(--gm-white); color: var(--gm-white); }
.gm-btn--sm { min-height: 44px; padding: .55rem 1.1rem; font-size: .9375rem; }
.gm-btn--lg { min-height: 54px; padding: .95rem 1.9rem; font-size: 1.0625rem; }
.gm-btn--block { width: 100%; }
.gm-btn[disabled], .gm-btn[aria-busy="true"] { opacity: .75; cursor: progress; transform: none; }
.gm-linklike {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .18em;
	cursor: pointer;
	font-size: inherit;
}

/* 6 · Cabeçalho -------------------------------------------------------------- */
.gm-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid transparent;
	transition: box-shadow .25s, border-color .25s;
}
@supports (backdrop-filter: blur(8px)) {
	.gm-header { background: rgba(255, 255, 255, .9); backdrop-filter: saturate(160%) blur(10px); }
}
.admin-bar .gm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gm-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .gm-header { top: 0; } }
.gm-header.is-scrolled { box-shadow: var(--gm-shadow-sm); border-bottom-color: var(--gm-border); }
.gm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--gm-header-h);
}
.gm-logo { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.gm-logo__img { width: auto; height: 68px; max-height: 68px; }
@media (max-width: 479px) { :root { --gm-header-h: 76px; } .gm-logo__img { height: 58px; } }
/* Rodapé escuro: o logotipo original fica sobre um selo branco (sem alterar as cores da marca). */
.gm-logo--footer { background: var(--gm-white); padding: 10px 16px; border-radius: 14px; }
.gm-logo--footer .gm-logo__img { height: 84px; max-height: 84px; }
.gm-logo--footer .gm-logo__text { color: var(--gm-navy); }
.gm-logo__text {
	font-family: var(--gm-font-head);
	font-weight: 700;
	font-size: 1.35rem;
	color: var(--gm-navy);
	letter-spacing: -.02em;
}
.gm-logo--footer .gm-logo__text { color: var(--gm-white); }
.gm-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 12px;
	background: var(--gm-gray);
	color: var(--gm-navy);
	cursor: pointer;
}
.gm-nav-toggle__close { display: none; }
.gm-nav-toggle[aria-expanded="true"] .gm-nav-toggle__open { display: none; }
.gm-nav-toggle[aria-expanded="true"] .gm-nav-toggle__close { display: inline-flex; }
.gm-nav { display: flex; align-items: center; gap: 1.75rem; }
.gm-nav__list { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.gm-nav__list a {
	display: block;
	padding: .55rem .75rem;
	border-radius: 8px;
	color: var(--gm-navy);
	font-weight: 600;
	font-size: .9375rem;
	text-decoration: none;
	white-space: nowrap;
}
.gm-nav__list a:hover { color: var(--gm-red); background: var(--gm-red-soft); }
.gm-nav__list .current-menu-item > a { color: var(--gm-red); }
@media (max-width: 1320px) and (min-width: 1200px) {
	.gm-nav { gap: 1rem; }
	.gm-nav__list a { padding-inline: .55rem; font-size: .9rem; }
}
.gm-nav__cta .gm-btn, .gm-header__cta .gm-btn { white-space: nowrap; }
.gm-header__cta { display: none; margin-left: auto; }
@media (min-width: 640px) and (max-width: 1199px) { .gm-header__cta { display: block; } }
@media (max-width: 1199px) {
	.gm-nav-toggle { display: inline-flex; }
	.gm-nav {
		position: fixed;
		inset: var(--gm-header-h) 0 auto 0;
		max-height: calc(100dvh - var(--gm-header-h));
		overflow-y: auto;
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
		padding: 1rem var(--gm-gutter) 1.5rem;
		background: var(--gm-white);
		border-top: 1px solid var(--gm-border);
		box-shadow: var(--gm-shadow);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity .2s, transform .2s, visibility 0s .2s;
	}
	.admin-bar .gm-nav { top: calc(var(--gm-header-h) + 46px); }
	.gm-nav.is-open { visibility: visible; opacity: 1; transform: none; transition: opacity .2s, transform .2s; }
	.gm-nav__list { flex-direction: column; align-items: stretch; }
	.gm-nav__list a { padding: .85rem .75rem; font-size: 1.0625rem; border-bottom: 1px solid var(--gm-gray); border-radius: 0; }
	.gm-nav__cta .gm-btn { width: 100%; min-height: 50px; }
	body.gm-nav-open { overflow: hidden; }
}
@media (max-width: 600px) { .admin-bar .gm-nav { top: var(--gm-header-h); } }

/* 7 · Hero ------------------------------------------------------------------- */
.gm-hero {
	position: relative;
	isolation: isolate;
	color: var(--gm-white);
	background: var(--gm-navy);
	overflow: hidden;
}
.gm-hero__media { position: absolute; inset: 0; z-index: -1; }
.gm-hero__media picture, .gm-hero__img { width: 100%; height: 100%; }
.gm-hero__img { object-fit: cover; object-position: center; }
.gm-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(11, 31, 58, .92) 0%, rgba(11, 31, 58, .78) 38%, rgba(11, 31, 58, .35) 68%, rgba(11, 31, 58, .25) 100%),
		linear-gradient(0deg, rgba(11, 31, 58, .55) 0%, rgba(11, 31, 58, 0) 35%);
}
.gm-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 440px);
	grid-template-areas: "content form" "benefits form";
	grid-template-rows: auto 1fr;
	column-gap: clamp(32px, 5vw, 72px);
	row-gap: 1.75rem;
	align-items: start;
	min-height: min(calc(100svh - var(--gm-header-h)), 860px);
	padding-block: clamp(28px, 4vh, 56px);
}
.gm-hero__content { grid-area: content; align-self: end; max-width: 620px; padding-top: clamp(8px, 5vh, 64px); }
.gm-hero__form { grid-area: form; align-self: center; }
.gm-hero__benefits { grid-area: benefits; align-self: start; }
.gm-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 1.25rem;
	padding: .4rem .85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .02em;
}
.gm-hero__title {
	font-size: clamp(2.1rem, 1.3rem + 3.2vw, 3.6rem);
	line-height: 1.08;
	color: var(--gm-white);
	margin-bottom: 1.1rem;
}
.gm-hero__subtitle { font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem); color: rgba(255, 255, 255, .9); max-width: 560px; margin: 0; }
.gm-hero__benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; max-width: 560px; }
.gm-hero__benefits li { display: flex; align-items: center; gap: .8rem; font-weight: 600; }
.gm-hero__benefit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--gm-red);
	color: var(--gm-white);
	box-shadow: 0 6px 16px rgba(220, 16, 36, .35);
}
@media (max-width: 1023px) {
	.gm-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "content" "form" "benefits";
		grid-template-rows: auto;
		min-height: 0;
		padding-block: 28px 40px;
		row-gap: 1.5rem;
	}
	.gm-hero__content { padding-top: 8px; max-width: 680px; }
	.gm-hero__form { max-width: 560px; width: 100%; justify-self: center; }
	.gm-hero__benefits { justify-self: center; width: 100%; max-width: 560px; }
	.gm-hero__media::after { background: linear-gradient(180deg, rgba(11, 31, 58, .82) 0%, rgba(11, 31, 58, .88) 45%, rgba(11, 31, 58, .95) 100%); }
}
@media (max-width: 767px) {
	.gm-hero__media { bottom: auto; height: 560px; }
	.gm-hero__media::after { background: linear-gradient(180deg, rgba(11, 31, 58, .7) 0%, rgba(11, 31, 58, .85) 60%, var(--gm-navy) 100%); }
	.gm-hero__badge { margin-bottom: .9rem; }
}

/* 8 · Formulário ------------------------------------------------------------- */
.gm-form-card {
	position: relative;
	background: var(--gm-white);
	color: var(--gm-text);
	border-radius: var(--gm-radius-lg);
	box-shadow: var(--gm-shadow-lg);
	padding: clamp(20px, 2.4vw, 28px);
	scroll-margin-top: calc(var(--gm-header-h) + 16px);
}
.gm-form-card__title { font-size: 1.375rem; margin: 0 0 .25rem; }
.gm-form-card__subtitle { color: var(--gm-muted); font-size: .9375rem; margin: 0 0 1rem; }
.gm-lead-form { display: grid; gap: .8rem; }
.gm-field { display: grid; gap: .3rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.gm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; align-items: end; }
@media (max-width: 479px) { .gm-field-row { grid-template-columns: 1fr; } }
.gm-field label, .gm-field legend {
	font-size: .8125rem;
	font-weight: 600;
	color: var(--gm-navy);
	line-height: 1.3;
	padding: 0;
}
.gm-req { color: var(--gm-red); }
.gm-field input[type="text"],
.gm-field input[type="email"],
.gm-field input[type="tel"],
.gm-field select {
	width: 100%;
	height: 46px;
	padding: 0 .85rem;
	border: 1.5px solid var(--gm-input);
	border-radius: 10px;
	background: var(--gm-white);
	font-size: 1rem; /* 16px evita zoom automático no iOS */
	transition: border-color .15s, box-shadow .15s;
}
.gm-field select {
	appearance: none;
	padding-right: 2.25rem;
	background: var(--gm-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .7rem center / 18px no-repeat;
	text-overflow: ellipsis;
}
.gm-field input:focus, .gm-field select:focus {
	outline: none;
	border-color: var(--gm-navy);
	box-shadow: 0 0 0 3px rgba(11, 31, 58, .14);
}
.gm-field.has-error input, .gm-field.has-error select { border-color: var(--gm-red); background-color: #fffafa; }
.gm-field__error { margin: 0; font-size: .8125rem; color: var(--gm-red-dark); font-weight: 600; }
.gm-field--choices legend { margin-bottom: .3rem; }
.gm-choices { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.gm-choice { position: relative; cursor: pointer; }
.gm-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gm-choice span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	height: 46px;
	border: 1.5px solid var(--gm-input);
	border-radius: 10px;
	font-weight: 600;
	font-size: .9375rem;
	color: var(--gm-navy);
	transition: border-color .15s, background-color .15s, color .15s;
}
.gm-choice:hover span { border-color: var(--gm-navy); }
.gm-choice input:checked + span { border-color: var(--gm-red); background: var(--gm-red-soft); color: var(--gm-red-dark); }
.gm-choice input:focus-visible + span { outline: 3px solid var(--gm-red); outline-offset: 2px; }
.gm-field.has-error .gm-choice span { border-color: var(--gm-red); }
.gm-check { display: flex; gap: .6rem; align-items: flex-start; font-size: .78rem; line-height: 1.45; color: var(--gm-muted); cursor: pointer; font-weight: 400 !important; }
.gm-check input { width: 20px; height: 20px; margin: 0; flex-shrink: 0; accent-color: var(--gm-red); }
.gm-field--consent.has-error .gm-check { color: var(--gm-red-dark); }
.gm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gm-form__status {
	margin: 0;
	padding: .65rem .85rem;
	border-radius: 10px;
	background: #fff1f3;
	color: var(--gm-red-dark);
	font-size: .875rem;
	font-weight: 600;
}
.gm-form__note { display: flex; align-items: center; justify-content: center; gap: .35rem; margin: 0; font-size: .75rem; color: var(--gm-muted); text-align: center; }
.gm-form__note .gm-icon { color: var(--gm-green); }
.cf-turnstile { min-height: 0; }
.gm-form-success { text-align: center; padding: 1.5rem .5rem; }
.gm-form-success:focus { outline: none; }
.gm-form-success__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: #e7f6ee;
	color: var(--gm-green);
}
.gm-form-success__title { font-family: var(--gm-font-head); font-weight: 700; font-size: 1.375rem; color: var(--gm-navy); margin-bottom: .5rem; }
.gm-form-success p { color: var(--gm-muted); }
.gm-spinner {
	width: 18px;
	height: 18px;
	border: 2.5px solid rgba(255, 255, 255, .45);
	border-top-color: var(--gm-white);
	border-radius: 50%;
	animation: gm-spin .8s linear infinite;
}
@keyframes gm-spin { to { transform: rotate(360deg); } }

/* 9 · Seções da home --------------------------------------------------------- */
/* Faixa de credibilidade */
.gm-stats { background: var(--gm-red); color: var(--gm-white); }
.gm-stats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.gm-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	padding: clamp(22px, 3vw, 34px) 1rem;
}
.gm-stats__item + .gm-stats__item { border-left: 1px solid rgba(255, 255, 255, .25); }
.gm-stats__value { font-family: var(--gm-font-head); font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); line-height: 1.1; }
.gm-stats__label { font-size: .9375rem; opacity: .95; max-width: 260px; }
@media (max-width: 639px) {
	.gm-stats__list { grid-template-columns: 1fr; }
	.gm-stats__item { padding: 18px 1rem; }
	.gm-stats__item + .gm-stats__item { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
}

/* Programas */
.gm-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
.gm-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .gm-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .gm-cards--4 { grid-template-columns: 1fr; } }
.gm-card {
	display: flex;
	flex-direction: column;
	padding: 28px 24px;
	background: var(--gm-white);
	border: 1px solid var(--gm-border);
	border-radius: var(--gm-radius);
	box-shadow: var(--gm-shadow-sm);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.gm-card:hover { transform: translateY(-4px); box-shadow: var(--gm-shadow); border-color: transparent; }
.gm-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 1.1rem;
	border-radius: 16px;
	background: var(--gm-red-soft);
	color: var(--gm-red);
}
.gm-card__title { font-size: 1.1875rem; margin-bottom: .45rem; }
.gm-card__text { color: var(--gm-muted); font-size: .975rem; flex: 1; }
.gm-card__link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-top: .25rem;
	font-weight: 700;
	text-decoration: none;
	min-height: 44px;
}
.gm-card__link .gm-icon { transition: transform .2s; }
.gm-card__link:hover .gm-icon { transform: translateX(3px); }

/* Por que Malta */
.gm-why { background: var(--gm-sand); }
.gm-why__panorama {
	margin: 0 0 clamp(32px, 5vw, 56px);
	border-radius: var(--gm-radius-lg);
	overflow: hidden;
	aspect-ratio: 12 / 5;
	background: var(--gm-navy-2);
	box-shadow: var(--gm-shadow);
}
.gm-why__img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 639px) { .gm-why__panorama { aspect-ratio: 16 / 10; } }
.gm-why__grid { list-style: none; margin: 0 0 clamp(32px, 5vw, 48px); padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; }
@media (max-width: 1023px) { .gm-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .gm-why__grid { grid-template-columns: 1fr; } }
.gm-why__item { display: flex; gap: 1rem; align-items: flex-start; }
.gm-why__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--gm-white);
	color: var(--gm-red);
	box-shadow: var(--gm-shadow-sm);
	flex-shrink: 0;
}
.gm-why__title { font-size: 1.0625rem; margin: .2rem 0 .25rem; }
.gm-why__item p { color: var(--gm-muted); font-size: .95rem; margin: 0; }

/* Sobre */
.gm-about__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.gm-about__media { margin: 0; border-radius: var(--gm-radius-lg); overflow: hidden; box-shadow: var(--gm-shadow); }
.gm-about__img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.gm-about__text { color: var(--gm-muted); font-size: 1.0625rem; }
.gm-about--no-image .gm-about__grid { grid-template-columns: 1fr; }
.gm-about--no-image .gm-about__content { max-width: 900px; margin-inline: auto; }
.gm-about--no-image .gm-about__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 899px) {
	.gm-about__grid { grid-template-columns: 1fr; }
	.gm-about--no-image .gm-about__list { grid-template-columns: 1fr; }
}
.gm-about__list li { font-weight: 600; color: var(--gm-navy); }

/* Como funciona */
.gm-steps { background: var(--gm-gray); }
.gm-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; counter-reset: step; position: relative; }
.gm-steps__item {
	position: relative;
	padding: 28px 22px 24px;
	background: var(--gm-white);
	border-radius: var(--gm-radius);
	box-shadow: var(--gm-shadow-sm);
}
.gm-steps__num {
	position: absolute;
	top: 18px;
	right: 18px;
	font-family: var(--gm-font-head);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1;
	color: var(--gm-red-soft);
	-webkit-text-stroke: 1px #f3b9c3;
}
.gm-steps__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--gm-navy);
	color: var(--gm-white);
}
.gm-steps__title { font-size: 1.0625rem; margin-bottom: .35rem; }
.gm-steps__item p { color: var(--gm-muted); font-size: .95rem; margin: 0; }
@media (max-width: 1023px) { .gm-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .gm-steps__list { grid-template-columns: 1fr; } }

/* Depoimentos */
.gm-testimonials__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 1023px) { .gm-testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .gm-testimonials__grid { grid-template-columns: 1fr; } }
.gm-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 24px;
	background: var(--gm-white);
	border: 1px solid var(--gm-border);
	border-radius: var(--gm-radius);
}
.gm-testimonial--demo { border-style: dashed; background: #fffdf6; }
.gm-demo-badge {
	align-self: flex-start;
	padding: .2rem .6rem;
	border-radius: 999px;
	background: #fff1c2;
	color: #6b4f00;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.gm-testimonial__quote { margin: 0; flex: 1; color: var(--gm-text); font-size: 1rem; }
.gm-testimonial__quote p:last-child { margin: 0; }
.gm-testimonial__person { display: flex; align-items: center; gap: .75rem; }
.gm-testimonial__person strong { display: block; color: var(--gm-navy); }
.gm-testimonial__person small { display: block; color: var(--gm-muted); }
.gm-testimonial__avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.gm-testimonial__avatar--empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gm-gray);
	color: var(--gm-navy);
	font-weight: 700;
	font-size: 1.25rem;
}
.gm-video { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; background: #000; }
.gm-video__play { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.gm-video__play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.gm-video__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--gm-red);
	color: var(--gm-white);
	transform: translate(-50%, -50%);
}
.gm-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Chamada final */
.gm-cta {
	position: relative;
	background: var(--gm-navy) radial-gradient(circle at 85% 20%, rgba(220, 16, 36, .35), transparent 45%);
	color: var(--gm-white);
	padding-block: clamp(48px, 7vw, 88px);
}
.gm-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.gm-cta__title { color: var(--gm-white); font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); margin-bottom: .5rem; }
.gm-cta__text { color: rgba(255, 255, 255, .85); font-size: 1.125rem; max-width: 640px; margin: 0; }
.gm-cta__actions { flex-shrink: 0; }
@media (max-width: 767px) {
	.gm-cta__inner { flex-direction: column; align-items: flex-start; }
	.gm-cta__actions, .gm-cta__actions .gm-btn { width: 100%; }
}

/* Conteúdo adicional da home */
.gm-home-content { background: var(--gm-white); }

/* 10 · Rodapé ---------------------------------------------------------------- */
.gm-footer { background: var(--gm-navy); color: rgba(255, 255, 255, .78); font-size: .95rem; }
.gm-footer a { color: rgba(255, 255, 255, .88); text-decoration: none; }
.gm-footer a:hover { color: var(--gm-white); text-decoration: underline; }
.gm-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.2fr 1fr;
	gap: 2.5rem;
	padding-block: clamp(48px, 6vw, 72px);
}
@media (max-width: 1023px) { .gm-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .gm-footer__grid { grid-template-columns: 1fr; gap: 2rem; } }
.gm-footer__brand .gm-logo { margin-bottom: 1rem; }
.gm-footer__slogan { color: var(--gm-white); font-weight: 600; }
.gm-footer__title {
	font-family: var(--gm-font);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gm-white);
	margin-bottom: 1rem;
}
.gm-footer__list, .gm-footer__contact, .gm-footer__legal, .gm-social { list-style: none; margin: 0; padding: 0; }
.gm-footer__list li + li { margin-top: .35rem; }
.gm-footer__list a { display: inline-block; padding-block: .25rem; }
.gm-footer__contact { display: grid; gap: .8rem; }
.gm-footer__contact li { display: flex; gap: .65rem; align-items: flex-start; }
.gm-footer__contact .gm-icon { margin-top: .2rem; color: #ff6b81; }
.gm-social { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.25rem; }
.gm-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .08);
	color: var(--gm-white);
	transition: background-color .2s;
}
.gm-social a:hover { background: var(--gm-red); text-decoration: none; }
.gm-footer .gm-admin-hint { background: rgba(255, 248, 225, .1); color: #ffe7a3; border-color: rgba(255, 231, 163, .5); }
.gm-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; }
.gm-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; padding-block: 1.25rem; }
.gm-footer__bottom p { margin: 0; }
.gm-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.gm-footer__legal .gm-linklike { color: rgba(255, 255, 255, .88); text-decoration: none; }
.gm-footer__legal .gm-linklike:hover { color: var(--gm-white); text-decoration: underline; }

/* 11 · Páginas internas ------------------------------------------------------ */
.gm-page-hero {
	background: var(--gm-navy) radial-gradient(circle at 90% 0%, rgba(220, 16, 36, .3), transparent 50%);
	color: var(--gm-white);
	padding-block: clamp(32px, 5vw, 56px);
}
.gm-page-hero__title { color: var(--gm-white); font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); margin: 0; max-width: 900px; }
.gm-page-hero__title span { color: #ffb3bf; }
.gm-page-hero__subtitle { margin-top: .75rem; color: rgba(255, 255, 255, .85); max-width: 760px; }
.gm-page-hero__subtitle p { margin: 0; }
.gm-page-hero .gm-post-meta { color: rgba(255, 255, 255, .8); }
.gm-breadcrumbs { margin-bottom: 1rem; font-size: .875rem; color: rgba(255, 255, 255, .75); }
.gm-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.gm-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: .35rem; opacity: .7; }
.gm-breadcrumbs a { color: rgba(255, 255, 255, .9); }
.gm-breadcrumbs a:hover { color: var(--gm-white); }

.gm-prose { max-width: 760px; }
.gm-prose > * + * { margin-top: 1.1em; }
.gm-prose h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 1.875rem); margin-top: 2em; }
.gm-prose h3 { font-size: 1.25rem; margin-top: 1.6em; }
.gm-prose ul, .gm-prose ol { padding-left: 1.3em; }
.gm-prose li + li { margin-top: .35em; }
.gm-prose img { border-radius: 12px; }
.gm-prose blockquote { margin-inline: 0; padding: .5rem 0 .5rem 1.25rem; border-left: 4px solid var(--gm-red); color: var(--gm-navy); font-size: 1.125rem; }
.gm-prose table { width: 100%; border-collapse: collapse; }
.gm-prose th, .gm-prose td { padding: .65rem .8rem; border-bottom: 1px solid var(--gm-border); text-align: left; }
.gm-featured { width: 100%; height: auto; border-radius: var(--gm-radius); margin-bottom: 1.75rem; }
.gm-prose .alignwide { max-width: 1200px; }
.gm-draft-note { padding: .6rem .9rem; border-left: 4px solid #d9a400; background: #fff8e1; color: #5c4400; border-radius: 6px; font-size: .9rem; }
.gm-faq .wp-block-details {
	padding: 1rem 1.25rem;
	border: 1px solid var(--gm-border);
	border-radius: 12px;
	background: var(--gm-white);
}
.gm-faq .wp-block-details + .wp-block-details { margin-top: .75rem; }
.gm-faq summary { font-weight: 700; color: var(--gm-navy); cursor: pointer; list-style-position: outside; }
.gm-faq summary::marker { color: var(--gm-red); }
.gm-faq details[open] summary { margin-bottom: .6rem; }
.gm-cta-box {
	margin-block: 2.5rem;
	padding: 1.75rem;
	border-radius: var(--gm-radius);
	background: var(--gm-sand);
	border: 1px solid #ece4d7;
}
.gm-cta-box__title, .gm-cta-box h3 { font-family: var(--gm-font-head); font-weight: 700; font-size: 1.375rem; color: var(--gm-navy); margin: 0 0 .35rem; }
.gm-cta-box p { margin-top: 0; }

.gm-service { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: clamp(32px, 5vw, 64px); align-items: start; }
.gm-service__content { max-width: 760px; }
.gm-service__aside { position: sticky; top: calc(var(--gm-header-h) + 20px); }
.gm-service__aside .gm-form-card { box-shadow: var(--gm-shadow); border: 1px solid var(--gm-border); }
@media (max-width: 1023px) {
	.gm-service { grid-template-columns: 1fr; }
	.gm-service__aside { position: static; max-width: 560px; width: 100%; }
}
.gm-contact-list { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1rem; }
.gm-contact-list li { display: flex; gap: 1rem; align-items: flex-start; padding: 1.1rem; border: 1px solid var(--gm-border); border-radius: var(--gm-radius); }
.gm-contact-list strong { display: block; color: var(--gm-navy); }
.gm-contact-list__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--gm-red-soft); color: var(--gm-red); flex-shrink: 0; }
.gm-404 .gm-checklist { margin-bottom: 2rem; }

/* 12 · Blog ------------------------------------------------------------------ */
.gm-cat-nav { margin-bottom: 2rem; }
.gm-cat-nav ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.gm-cat-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: .4rem 1rem;
	border: 1px solid var(--gm-border);
	border-radius: 999px;
	color: var(--gm-navy);
	font-weight: 600;
	font-size: .9rem;
	text-decoration: none;
}
.gm-cat-nav a:hover, .gm-cat-nav a[aria-current="page"] { background: var(--gm-navy); border-color: var(--gm-navy); color: var(--gm-white); }
.gm-post-grid { list-style: none; margin: 0 0 2.5rem; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 1023px) { .gm-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .gm-post-grid { grid-template-columns: 1fr; } }
.gm-post-card { display: flex; flex-direction: column; border: 1px solid var(--gm-border); border-radius: var(--gm-radius); overflow: hidden; background: var(--gm-white); transition: box-shadow .2s, transform .2s; }
.gm-post-card:hover { box-shadow: var(--gm-shadow); transform: translateY(-3px); }
.gm-post-card__media { display: block; aspect-ratio: 36 / 23; background: var(--gm-gray); }
.gm-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.gm-post-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--gm-navy-3); }
.gm-post-card__body { padding: 1.25rem 1.25rem 1.5rem; }
.gm-post-card__title { font-size: 1.1875rem; margin: .25rem 0 .5rem; }
.gm-post-card__title a { color: var(--gm-navy); text-decoration: none; }
.gm-post-card__title a:hover { color: var(--gm-red); }
.gm-post-card__excerpt { color: var(--gm-muted); font-size: .95rem; margin: 0; }
.gm-post-meta { font-size: .85rem; color: var(--gm-muted); margin: 0; }
.gm-related { background: var(--gm-gray); }
.nav-links { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 .9rem;
	border: 1px solid var(--gm-border);
	border-radius: 10px;
	color: var(--gm-navy);
	text-decoration: none;
	font-weight: 600;
}
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { background: var(--gm-navy); border-color: var(--gm-navy); color: var(--gm-white); }
.gm-search { display: flex; gap: .5rem; max-width: 480px; }
.gm-search input { flex: 1; height: 44px; padding: 0 .85rem; border: 1.5px solid var(--gm-input); border-radius: 10px; font-size: 1rem; }
.gm-comments { margin-block: 3rem; }
.gm-comments__list { padding-left: 0; list-style: none; }
.gm-tags { font-size: .9rem; color: var(--gm-muted); }

/* 13 · Consentimento e WhatsApp --------------------------------------------- */
.gm-consent {
	position: fixed;
	z-index: 200;
	left: 16px;
	right: 16px;
	bottom: 16px;
	max-width: 880px;
	margin-inline: auto;
	padding: 1.1rem 1.25rem;
	background: var(--gm-white);
	border: 1px solid var(--gm-border);
	border-radius: var(--gm-radius);
	box-shadow: var(--gm-shadow-lg);
	font-size: .9rem;
}
.gm-consent[hidden] { display: none; }
.gm-consent__text { margin: 0 0 .85rem; color: var(--gm-text); }
.gm-consent__prefs { display: grid; gap: .6rem; margin-bottom: 1rem; }
.gm-consent__prefs[hidden] { display: none; }
.gm-switch { display: flex; gap: .6rem; align-items: flex-start; cursor: pointer; }
.gm-switch input { width: 20px; height: 20px; margin: .1rem 0 0; accent-color: var(--gm-red); flex-shrink: 0; }
.gm-consent__actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
@media (max-width: 559px) {
	.gm-consent { padding: .9rem 1rem; bottom: 10px; left: 10px; right: 10px; }
	.gm-consent__actions .gm-btn { flex: 1 1 calc(50% - .5rem); padding-inline: .6rem; font-size: .85rem; }
	.gm-consent__actions [data-consent-action="accept"] { flex-basis: 100%; }
}

.gm-wa-float {
	position: fixed;
	z-index: 150;
	right: 18px;
	bottom: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--gm-green);
	color: var(--gm-white);
	box-shadow: 0 10px 24px rgba(18, 140, 74, .4);
	transition: transform .2s, opacity .2s;
}
.gm-wa-float:hover { color: var(--gm-white); transform: scale(1.06); }
.gm-wa-float.is-hidden { opacity: 0; pointer-events: none; transform: scale(.8); }
body.gm-consent-open .gm-wa-float { opacity: 0; pointer-events: none; }

/* 14 · Movimento reduzido ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
	.gm-btn:hover, .gm-card:hover, .gm-post-card:hover { transform: none; }
}

/* Impressão */
@media print {
	.gm-header, .gm-footer, .gm-consent, .gm-wa-float, .gm-hero__form, .gm-service__aside, .gm-cta { display: none !important; }
	body { color: #000; }
}
.gm-prose .gm-checklist { padding-left: 0; }
