/**
 * Essence Perfil Digital — estilos do microsite.
 *
 * Mobile-first, prefixo epd-, variáveis CSS. Na Sprint 5 as variáveis passam a
 * receber os valores escolhidos no painel; aqui ficam os padrões do modelo
 * Essence Minimal.
 *
 * Largura mínima suportada: 320px. Sem rolagem horizontal.
 */

.epd-profile {
	/* Cores */
	--epd-color-bg: #ffffff;
	--epd-color-text: #16181d;
	--epd-color-text-soft: #5d6470;
	--epd-color-primary: #16181d;
	--epd-color-accent: #0f766e;
	--epd-color-icon: #5d6470;
	--epd-color-button-primary-bg: var(--epd-color-primary);
	--epd-color-button-primary-text: #ffffff;
	--epd-color-button-secondary-bg: transparent;
	--epd-color-button-secondary-text: var(--epd-color-primary);
	--epd-color-border: rgba(22, 24, 29, 0.14);

	/* Fundos por dobra (Sprint 5) */
	--epd-fold-one-bg: var(--epd-color-bg);
	--epd-fold-two-bg: #f6f7f8;
	--epd-fold-three-bg: var(--epd-color-bg);

	/* Tipografia */
	--epd-font-heading: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--epd-font-body: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--epd-heading-weight: 700;
	--epd-heading-size: clamp(1.75rem, 5.5vw, 2.75rem);
	--epd-body-size: clamp(1rem, 2.6vw, 1.0625rem);
	--epd-line-height: 1.6;

	/* Formas e espaços */
	--epd-radius-button: 10px;
	--epd-photo-size: clamp(140px, 42vw, 200px);
	--epd-space: clamp(20px, 5vw, 32px);
	--epd-max-width: 1120px;

	box-sizing: border-box;
	margin: 0;
	background: var(--epd-color-bg);
	color: var(--epd-color-text);
	font-family: var(--epd-font-body);
	font-size: var(--epd-body-size);
	line-height: var(--epd-line-height);
	-webkit-font-smoothing: antialiased;
}

.epd-profile *,
.epd-profile *::before,
.epd-profile *::after {
	box-sizing: inherit;
}

body.epd-profile-page {
	margin: 0;
	overflow-x: hidden;
	background: #ffffff;
}

/* ---------------------------------------------------------------------------
 * Dobras
 * ------------------------------------------------------------------------ */

.epd-fold {
	display: flex;
	align-items: center;
	justify-content: center;
	/* Fallback primeiro: navegadores sem svh usam vh. */
	min-height: 100vh;
	min-height: 100svh;
	padding: calc(var(--epd-space) * 1.5) var(--epd-space);
}

.epd-fold-one {
	background: var(--epd-fold-one-bg);
}

.epd-fold-two {
	background: var(--epd-fold-two-bg);
}

.epd-fold-three {
	background: var(--epd-fold-three-bg);
}

/* O conteúdo nunca é cortado: se ultrapassar a altura da tela, a seção cresce. */
.epd-fold__inner {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}

.epd-profile--align-center .epd-fold__inner {
	text-align: center;
}

.epd-profile--align-left .epd-fold__inner {
	text-align: left;
}

/* ---------------------------------------------------------------------------
 * Identidade
 * ------------------------------------------------------------------------ */

.epd-fold-one__media {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.epd-profile--align-left .epd-fold-one__media {
	align-items: flex-start;
}

.epd-logo__image {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 64px;
	height: auto;
	object-fit: contain;
}

.epd-photo {
	overflow: hidden;
	width: var(--epd-photo-size);
	max-width: 100%;
	line-height: 0;
}

.epd-photo__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.epd-photo--circle {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.epd-photo--square {
	aspect-ratio: 1 / 1;
	border-radius: 0;
}

.epd-photo--rounded {
	aspect-ratio: 1 / 1;
	border-radius: 16px;
}

.epd-photo--portrait {
	aspect-ratio: 3 / 4;
	border-radius: 16px;
}

.epd-identity {
	margin-bottom: 12px;
}

.epd-identity__name {
	margin: 0;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.epd-identity__role,
.epd-identity__company {
	margin: 2px 0 0;
	color: var(--epd-color-text-soft);
	font-size: 0.95em;
}

/* ---------------------------------------------------------------------------
 * Textos
 * ------------------------------------------------------------------------ */

.epd-fold-one__title {
	margin: 0 0 12px;
	color: var(--epd-color-text);
	font-family: var(--epd-font-heading);
	font-size: var(--epd-heading-size);
	font-weight: var(--epd-heading-weight);
	line-height: 1.2;
	text-wrap: balance;
}

.epd-fold-one__tagline {
	margin: 0 0 12px;
	color: var(--epd-color-accent);
	font-size: 1.05em;
	font-weight: 600;
}

.epd-fold-one__text {
	margin: 0 0 24px;
	color: var(--epd-color-text-soft);
}

/* ---------------------------------------------------------------------------
 * Botões
 * ------------------------------------------------------------------------ */

.epd-buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 24px;
}

.epd-buttons:empty {
	display: none;
}

.epd-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	/* Área de toque confortável no celular. */
	min-height: 52px;
	padding: 14px 24px;
	border: 2px solid transparent;
	border-radius: var(--epd-radius-button);
	font-family: var(--epd-font-body);
	font-size: 1em;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform 0.15s ease, opacity 0.15s ease, background-color 0.15s ease;
}

.epd-button:hover {
	opacity: 0.9;
}

.epd-button:active {
	transform: translateY(1px);
}

.epd-button:focus-visible {
	outline: 3px solid var(--epd-color-accent);
	outline-offset: 3px;
}

.epd-button--primary {
	background: var(--epd-color-button-primary-bg);
	border-color: var(--epd-color-button-primary-bg);
	color: var(--epd-color-button-primary-text);
}

.epd-button--secondary {
	background: var(--epd-color-button-secondary-bg);
	border-color: var(--epd-color-border);
	color: var(--epd-color-button-secondary-text);
}

/* Estilo: contornado */
.epd-profile--buttons-outlined .epd-button--primary {
	background: transparent;
	border-color: var(--epd-color-button-primary-bg);
	color: var(--epd-color-button-primary-bg);
}

/* Estilo: minimalista */
.epd-profile--buttons-minimal .epd-button {
	min-height: 44px;
	padding: 10px 8px;
	background: transparent;
	border-color: transparent;
	border-bottom: 2px solid var(--epd-color-border);
	border-radius: 0;
}

.epd-profile--buttons-minimal .epd-button--primary {
	color: var(--epd-color-button-primary-bg);
}

/* Formatos */
.epd-profile--shape-soft {
	--epd-radius-button: 10px;
}

.epd-profile--shape-rounded {
	--epd-radius-button: 18px;
}

.epd-profile--shape-pill {
	--epd-radius-button: 999px;
}

.epd-button__icon {
	display: inline-flex;
	flex: 0 0 auto;
}

.epd-button__icon svg {
	width: 20px;
	height: 20px;
}

/* ---------------------------------------------------------------------------
 * Redes sociais
 * ------------------------------------------------------------------------ */

.epd-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.epd-profile--align-left .epd-social-links {
	justify-content: flex-start;
}

.epd-social-links__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--epd-color-border);
	border-radius: 50%;
	color: var(--epd-color-icon);
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.epd-social-links__link:hover {
	border-color: var(--epd-color-accent);
	color: var(--epd-color-accent);
}

.epd-social-links__link:focus-visible {
	outline: 3px solid var(--epd-color-accent);
	outline-offset: 2px;
}

.epd-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

/* ---------------------------------------------------------------------------
 * Segunda dobra
 * ------------------------------------------------------------------------ */

.epd-fold-two__header {
	margin-bottom: 32px;
}

.epd-fold-two__title,
.epd-fold-three__title {
	margin: 0 0 8px;
	font-family: var(--epd-font-heading);
	font-size: clamp(1.5rem, 4.5vw, 2.125rem);
	font-weight: var(--epd-heading-weight);
	line-height: 1.25;
	text-wrap: balance;
}

.epd-fold-two__intro {
	margin: 0;
	color: var(--epd-color-text-soft);
}

.epd-items {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	text-align: left;
}

.epd-item__inner {
	display: block;
	height: 100%;
	padding: 20px;
	border: 1px solid var(--epd-color-border);
	border-radius: 14px;
	background: var(--epd-color-bg);
	color: inherit;
	text-decoration: none;
}

.epd-item__inner--link {
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.epd-item__inner--link:hover {
	border-color: var(--epd-color-accent);
	transform: translateY(-2px);
}

.epd-item__inner--link:focus-visible {
	outline: 3px solid var(--epd-color-accent);
	outline-offset: 2px;
}

.epd-item__icon {
	display: inline-flex;
	margin-bottom: 10px;
	color: var(--epd-color-accent);
}

.epd-item__icon svg {
	width: 26px;
	height: 26px;
}

.epd-item__title {
	margin: 0 0 6px;
	font-family: var(--epd-font-heading);
	font-size: 1.0625em;
	font-weight: 600;
	line-height: 1.3;
}

.epd-item__text {
	margin: 0;
	color: var(--epd-color-text-soft);
	font-size: 0.95em;
}

/* ---------------------------------------------------------------------------
 * Terceira dobra
 * ------------------------------------------------------------------------ */

.epd-fold-three__text {
	margin: 0 0 28px;
	color: var(--epd-color-text-soft);
	font-size: 1.05em;
}

.epd-fold-three__signature {
	margin: 8px 0 0;
	color: var(--epd-color-text-soft);
	font-size: 0.9em;
}

/* ---------------------------------------------------------------------------
 * Tablet e desktop
 * ------------------------------------------------------------------------ */

@media (min-width: 600px) {
	.epd-buttons {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.epd-profile--align-center .epd-buttons {
		justify-content: center;
	}

	/* Largura automática somente do tablet para cima; no celular os botões
	   sempre ocupam a linha inteira. */
	.epd-profile--width-auto .epd-button {
		flex: 0 1 auto;
	}

	.epd-profile--width-full .epd-button {
		flex: 1 1 100%;
	}
}

@media (min-width: 900px) {
	.epd-fold__inner {
		max-width: var(--epd-max-width);
	}

	/* Até três colunas no desktop; uma coluna no celular. */
	.epd-items--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.epd-items--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.epd-profile--align-center .epd-fold__inner {
		max-width: 720px;
	}

	.epd-profile--align-center .epd-fold-two .epd-fold__inner {
		max-width: var(--epd-max-width);
	}

	/* Duas colunas no desktop: imagem e conteúdo. */
	.epd-profile--align-left .epd-fold-one--has-media .epd-fold__inner {
		display: grid;
		grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
		gap: 48px;
		align-items: center;
	}

	.epd-profile--align-left .epd-fold-one--has-media .epd-fold-one__media {
		margin-bottom: 0;
	}

	.epd-profile--align-left .epd-fold-one--has-media .epd-photo {
		--epd-photo-size: 100%;
	}
}

/* ---------------------------------------------------------------------------
 * Acessibilidade
 * ------------------------------------------------------------------------ */

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

.epd-fold:focus {
	outline: none;
}

/* ---------------------------------------------------------------------------
 * Shortcode (Elementor, Gutenberg e templates)
 * ------------------------------------------------------------------------ */

/* Sem margem externa obrigatória: quem manda no espaçamento é o container. */
.epd-profile--embed {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

/* Dentro de uma página, a dobra respeita o container em vez de forçar a
   altura da tela. Use altura="tela" no shortcode para o comportamento cheio. */
.epd-profile--embed .epd-fold {
	min-height: 0;
	padding: var(--epd-space);
}

.epd-profile--embed.epd-profile--full-height .epd-fold {
	min-height: 100vh;
	min-height: 100svh;
}

.epd-shortcode-notice {
	margin: 0;
	padding: 12px 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 6px;
	background: #fcf9e8;
	color: #3c434a;
	font-size: 14px;
}

/* ===========================================================================
 * MODELO: Dinâmico / Tecnológico  (epd-profile--tech-dynamic)
 * Escuro, geométrico, com botões em cápsula e cards de borda marcada.
 * A paleta vem de EPD_Templates; aqui fica só a estrutura.
 * ======================================================================== */

.epd-profile--tech-dynamic {
	--epd-radius-button: 999px;
	--epd-heading-size: clamp(2rem, 6.5vw, 3.5rem);
}

/* Primeira dobra: faixa de destaque atrás do conteúdo. */
.epd-profile--tech-dynamic .epd-fold-one {
	position: relative;
	overflow: hidden;
}

.epd-profile--tech-dynamic .epd-fold-one::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 15% 15%, rgba(59, 130, 246, 0.18), transparent 42%),
		radial-gradient(circle at 85% 80%, rgba(59, 130, 246, 0.12), transparent 45%);
	pointer-events: none;
}

.epd-profile--tech-dynamic .epd-fold__inner {
	position: relative;
	z-index: 1;
}

/* Fotografia com moldura em anel e cantos técnicos. */
.epd-profile--tech-dynamic .epd-photo {
	border: 2px solid var(--epd-color-accent);
	border-radius: 18px;
	box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.12);
}

.epd-profile--tech-dynamic .epd-photo--circle {
	border-radius: 18px;
}

/* Título em caixa-alta discreta, com traço de destaque. */
.epd-profile--tech-dynamic .epd-fold-one__title {
	letter-spacing: -0.02em;
}

.epd-profile--tech-dynamic .epd-identity__name {
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var(--epd-color-accent);
	border-radius: 999px;
	color: var(--epd-color-accent);
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.epd-profile--tech-dynamic .epd-fold-one__tagline {
	position: relative;
	padding-left: 16px;
}

.epd-profile--tech-dynamic .epd-fold-one__tagline::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 3px;
	border-radius: 3px;
	background: var(--epd-color-accent);
}

/* Botões com brilho de destaque no principal. */
.epd-profile--tech-dynamic .epd-button--primary {
	box-shadow: 0 8px 24px -8px var(--epd-color-accent);
}

/* Segunda dobra: cards com barra superior de destaque. */
.epd-profile--tech-dynamic .epd-item__inner {
	position: relative;
	border-radius: 14px;
	border-color: rgba(148, 163, 184, 0.25);
	background: rgba(148, 163, 184, 0.06);
	overflow: hidden;
}

.epd-profile--tech-dynamic .epd-item__inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--epd-color-accent);
}

.epd-profile--tech-dynamic .epd-item__icon {
	color: var(--epd-color-accent);
}

.epd-profile--tech-dynamic .epd-item__title {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1em;
}

/* Terceira dobra: título grande e centrado, com respiro. */
.epd-profile--tech-dynamic .epd-fold-three__title {
	font-size: clamp(1.75rem, 5.5vw, 2.75rem);
	letter-spacing: -0.02em;
}

.epd-profile--tech-dynamic .epd-fold-three__signature {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8em;
}

/* ===========================================================================
 * MODELO: Profissional  (epd-profile--professional)
 * Sóbrio e editorial: serifa nos títulos, linhas finas de destaque,
 * fotografia em retrato com moldura discreta, cards sem preenchimento.
 * ======================================================================== */

.epd-profile--professional {
	--epd-radius-button: 4px;
	--epd-line-height: 1.7;
}

/* Fotografia em retrato, com filete de destaque na base. */
.epd-profile--professional .epd-photo--circle,
.epd-profile--professional .epd-photo--square,
.epd-profile--professional .epd-photo--rounded {
	aspect-ratio: 4 / 5;
	border-radius: 2px;
}

.epd-profile--professional .epd-photo {
	position: relative;
	border-radius: 2px;
}

.epd-profile--professional .epd-photo::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--epd-color-accent);
}

/* Identidade em maiúsculas espaçadas, como um cabeçalho de papelaria. */
.epd-profile--professional .epd-identity__name {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.9em;
	font-weight: 700;
}

.epd-profile--professional .epd-identity__role {
	font-style: italic;
}

/* Título com serifa e um filete acima. */
.epd-profile--professional .epd-fold-one__title {
	position: relative;
	padding-top: 20px;
}

.epd-profile--professional .epd-fold-one__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 2px;
	background: var(--epd-color-accent);
}

.epd-profile--professional.epd-profile--align-center .epd-fold-one__title::before {
	left: 50%;
	transform: translateX(-50%);
}

.epd-profile--professional .epd-fold-one__tagline {
	font-style: italic;
	font-weight: 500;
}

/* Segunda dobra: título centralizado com filete, cards como colunas
   separadas por linha, sem caixa. */
.epd-profile--professional .epd-fold-two__header {
	text-align: center;
	margin-bottom: 40px;
}

.epd-profile--professional .epd-fold-two__title {
	position: relative;
	padding-bottom: 16px;
}

.epd-profile--professional .epd-fold-two__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 2px;
	background: var(--epd-color-accent);
}

.epd-profile--professional .epd-item__inner {
	border: 0;
	border-top: 2px solid var(--epd-color-border);
	border-radius: 0;
	background: transparent;
	padding: 20px 4px;
}

.epd-profile--professional .epd-item__icon {
	color: var(--epd-color-accent);
}

.epd-profile--professional .epd-item__title {
	font-weight: 700;
}

/* Terceira dobra escura: texto claro herdado da paleta, assinatura elegante. */
.epd-profile--professional .epd-fold-three {
	color: #f7f5f1;
}

.epd-profile--professional .epd-fold-three__title {
	color: #ffffff;
}

.epd-profile--professional .epd-fold-three__text {
	color: rgba(247, 245, 241, 0.85);
}

.epd-profile--professional .epd-fold-three__signature {
	font-style: italic;
	color: var(--epd-color-accent);
	font-size: 1em;
}

/* Na terceira dobra escura, o botão secundário precisa de contorno claro. */
.epd-profile--professional .epd-fold-three .epd-button--secondary {
	border-color: rgba(247, 245, 241, 0.4);
	color: #f7f5f1;
}

/* ===========================================================================
 * MODELO: Corretor de Imóveis  (epd-profile--realtor)
 * Acolhedor e orientado a contato: foto ampla e redonda com anel,
 * botões grandes de largura total, cards claros na dobra escura, ícones
 * de rede em destaque. Sensação de "fale comigo agora".
 * ======================================================================== */

.epd-profile--realtor {
	--epd-radius-button: 14px;
	--epd-photo-size: clamp(180px, 60vw, 260px);
}

/* Fotografia ampla, circular, com anel de destaque e leve sombra. */
.epd-profile--realtor .epd-photo--circle {
	border-radius: 50%;
	border: 5px solid #ffffff;
	box-shadow: 0 12px 30px -12px rgba(15, 61, 62, 0.5), 0 0 0 3px var(--epd-color-accent);
}

.epd-profile--realtor .epd-fold-one__media {
	margin-bottom: 20px;
}

/* Nome grande e caloroso; função com selo de disponibilidade. */
.epd-profile--realtor .epd-identity__name {
	font-size: 1.25em;
	font-weight: 700;
}

.epd-profile--realtor .epd-identity__role {
	display: inline-block;
	margin-top: 6px;
	padding: 4px 14px;
	border-radius: 999px;
	background: rgba(224, 122, 63, 0.14);
	color: var(--epd-color-accent);
	font-weight: 600;
}

/* Botões grandes, com mais presença — é o coração deste modelo. */
.epd-profile--realtor .epd-button {
	min-height: 58px;
	font-size: 1.05em;
	box-shadow: 0 8px 20px -10px rgba(224, 122, 63, 0.7);
}

.epd-profile--realtor .epd-button--secondary {
	border-width: 2px;
	border-color: var(--epd-color-primary);
	box-shadow: none;
}

/* Redes sociais como pastilhas maiores, fáceis de tocar. */
.epd-profile--realtor .epd-social-links__link {
	width: 50px;
	height: 50px;
	border-width: 2px;
}

/* Segunda dobra escura: título claro, cards brancos arredondados. */
.epd-profile--realtor .epd-fold-two {
	color: #f4f1ea;
}

.epd-profile--realtor .epd-fold-two__title {
	color: #ffffff;
}

.epd-profile--realtor .epd-fold-two__intro {
	color: rgba(244, 241, 234, 0.85);
}

.epd-profile--realtor .epd-item__inner {
	border: 0;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.4);
	text-align: center;
}

.epd-profile--realtor .epd-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: rgba(224, 122, 63, 0.14);
	color: var(--epd-color-accent);
}

.epd-profile--realtor .epd-item__icon svg {
	width: 24px;
	height: 24px;
}

/* Terceira dobra clara e chamativa, com botão de contato dominante. */
.epd-profile--realtor .epd-fold-three__title {
	font-size: clamp(1.75rem, 5.5vw, 2.75rem);
}

.epd-profile--realtor .epd-fold-three .epd-buttons {
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
}

/* ===========================================================================
 * MODELO: Vendedor  (epd-profile--salesperson)
 * Energético e direto: título enorme, chamada de ação impossível de ignorar,
 * badge de urgência, cards numerados, terceira dobra em vermelho com CTA
 * dominante. Sensação de "aja agora".
 * ======================================================================== */

.epd-profile--salesperson {
	--epd-radius-button: 12px;
	--epd-heading-size: clamp(2.1rem, 7vw, 3.75rem);
	--epd-heading-weight: 800;
}

/* Primeira dobra: título grande e apertado, tagline como selo de urgência. */
.epd-profile--salesperson .epd-fold-one__title {
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.epd-profile--salesperson .epd-fold-one__tagline {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--epd-color-accent);
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.9em;
}

.epd-profile--salesperson .epd-identity__name {
	font-weight: 700;
}

/* Fotografia com leve borda e sombra quente. */
.epd-profile--salesperson .epd-photo {
	box-shadow: 0 16px 40px -16px rgba(239, 68, 68, 0.55);
}

/* Botão principal pulsante de destaque; ocupa a largura e chama atenção. */
.epd-profile--salesperson .epd-button--primary {
	min-height: 60px;
	font-size: 1.1em;
	font-weight: 700;
	box-shadow: 0 12px 28px -10px rgba(239, 68, 68, 0.75);
	animation: epd-sales-pulse 2.4s ease-in-out infinite;
}

@keyframes epd-sales-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.02); }
}

@media (prefers-reduced-motion: reduce) {
	.epd-profile--salesperson .epd-button--primary {
		animation: none;
	}
}

/* Segunda dobra: cards numerados, com o número grande em marca d'água. */
.epd-profile--salesperson .epd-items {
	counter-reset: epd-sales;
}

.epd-profile--salesperson .epd-item__inner {
	position: relative;
	overflow: hidden;
	border: 2px solid var(--epd-color-border);
	border-radius: 16px;
	padding-top: 28px;
}

.epd-profile--salesperson .epd-item {
	counter-increment: epd-sales;
}

.epd-profile--salesperson .epd-item__inner::before {
	content: counter(epd-sales);
	position: absolute;
	top: -10px;
	right: 6px;
	font-size: 4.5rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(239, 68, 68, 0.1);
}

.epd-profile--salesperson .epd-item__icon {
	color: var(--epd-color-accent);
}

.epd-profile--salesperson .epd-item__title {
	font-weight: 700;
}

/* Terceira dobra vermelha: tudo claro, CTA dominante. */
.epd-profile--salesperson .epd-fold-three {
	color: #ffffff;
}

.epd-profile--salesperson .epd-fold-three__title {
	color: #ffffff;
	font-size: clamp(1.9rem, 6vw, 3rem);
}

.epd-profile--salesperson .epd-fold-three__text {
	color: rgba(255, 255, 255, 0.9);
}

.epd-profile--salesperson .epd-fold-three .epd-button--primary {
	background: #ffffff;
	border-color: #ffffff;
	color: #b91c1c;
	animation: none;
}

.epd-profile--salesperson .epd-fold-three .epd-button--secondary {
	border-color: rgba(255, 255, 255, 0.6);
	color: #ffffff;
}

.epd-profile--salesperson .epd-fold-three__signature {
	color: rgba(255, 255, 255, 0.85);
}

/* ===========================================================================
 * MODELO: Arquiteto  (epd-profile--architect)
 * Minimalista e editorial: muito espaço em branco, títulos grandes e finos,
 * tipografia com tracking amplo, sem sombras nem preenchimentos. O silêncio
 * é o protagonista. Para arquitetos, designers e fotógrafos.
 * ======================================================================== */

.epd-profile--architect {
	--epd-radius-button: 0px;
	--epd-space: clamp(32px, 7vw, 64px);
	--epd-heading-size: clamp(2.25rem, 7vw, 4rem);
	--epd-heading-weight: 400;
	--epd-line-height: 1.8;
}

.epd-profile--architect .epd-fold__inner {
	max-width: 680px;
}

/* Título grande, leve, com bastante entrelinha. */
.epd-profile--architect .epd-fold-one__title {
	line-height: 1.15;
	letter-spacing: -0.01em;
}

/* Identidade discreta, com muito tracking. */
.epd-profile--architect .epd-identity__name {
	text-transform: uppercase;
	letter-spacing: 0.28em;
	font-size: 0.8em;
	font-weight: 400;
}

.epd-profile--architect .epd-identity__role,
.epd-profile--architect .epd-identity__company {
	letter-spacing: 0.06em;
}

/* Fotografia em retrato, sem borda nem sombra: puro recorte. */
.epd-profile--architect .epd-photo--circle,
.epd-profile--architect .epd-photo--square,
.epd-profile--architect .epd-photo--rounded {
	aspect-ratio: 3 / 4;
	border-radius: 0;
}

/* Botões planos, texto com tracking, sem preenchimento pesado. */
.epd-profile--architect .epd-button {
	min-height: 56px;
	padding: 16px 32px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.85em;
	font-weight: 500;
}

/* Linha divisória fina em vez de caixas, na segunda dobra. */
.epd-profile--architect .epd-fold-two__header {
	margin-bottom: 56px;
}

.epd-profile--architect .epd-fold-two__title {
	font-weight: 400;
	letter-spacing: 0.02em;
}

.epd-profile--architect .epd-items {
	gap: 0;
}

.epd-profile--architect .epd-item__inner {
	border: 0;
	border-top: 1px solid var(--epd-color-border);
	border-radius: 0;
	background: transparent;
	padding: 32px 0;
}

.epd-profile--architect .epd-item__icon {
	margin-bottom: 16px;
	color: var(--epd-color-text-soft);
}

.epd-profile--architect .epd-item__title {
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.95em;
}

/* Numeração editorial nos itens, discreta. */
@media (min-width: 900px) {
	.epd-profile--architect .epd-items--2,
	.epd-profile--architect .epd-items--3 {
		gap: 48px;
	}

	.epd-profile--architect .epd-item__inner {
		border-top-width: 2px;
	}
}

/* Terceira dobra escura, tipografia grande e serena. */
.epd-profile--architect .epd-fold-three {
	color: #f5f4f0;
}

.epd-profile--architect .epd-fold-three__title {
	color: #f5f4f0;
	font-weight: 400;
	font-size: clamp(2rem, 6vw, 3.25rem);
}

.epd-profile--architect .epd-fold-three__text {
	color: rgba(245, 244, 240, 0.8);
}

.epd-profile--architect .epd-fold-three .epd-button--primary {
	background: #f5f4f0;
	border-color: #f5f4f0;
	color: #2b2b28;
}

.epd-profile--architect .epd-fold-three .epd-button--secondary {
	border-color: rgba(245, 244, 240, 0.4);
	color: #f5f4f0;
}

.epd-profile--architect .epd-fold-three__signature {
	text-transform: uppercase;
	letter-spacing: 0.24em;
	font-size: 0.75em;
	color: rgba(245, 244, 240, 0.6);
}

/* ===========================================================================
 * MODELO: Elegante Premium  (epd-profile--elegant-premium)
 * Luxuoso e escuro: serifa refinada, filetes e ornamentos dourados,
 * fotografia com moldura dourada, botões com brilho sutil. Opulência contida.
 * Para advogados de alto padrão, consultorias premium e marcas de luxo.
 * ======================================================================== */

.epd-profile--elegant-premium {
	--epd-radius-button: 2px;
	--epd-line-height: 1.8;
	--epd-heading-size: clamp(2rem, 6vw, 3.25rem);
	--epd-heading-weight: 400;
}

/* Fotografia com moldura dourada dupla. */
.epd-profile--elegant-premium .epd-photo {
	border: 1px solid var(--epd-color-accent);
	padding: 6px;
	border-radius: 0;
	background: transparent;
}

.epd-profile--elegant-premium .epd-photo--circle {
	border-radius: 50%;
	padding: 6px;
}

.epd-profile--elegant-premium .epd-photo__image {
	border: 1px solid rgba(201, 162, 39, 0.5);
}

.epd-profile--elegant-premium .epd-photo--circle .epd-photo__image {
	border-radius: 50%;
}

/* Nome com ornamento: pequenas linhas douradas dos lados. */
.epd-profile--elegant-premium .epd-identity__name {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.85em;
	color: var(--epd-color-accent);
}

.epd-profile--elegant-premium .epd-identity__name::before,
.epd-profile--elegant-premium .epd-identity__name::after {
	content: "";
	width: 28px;
	height: 1px;
	background: var(--epd-color-accent);
}

.epd-profile--elegant-premium .epd-identity__role {
	font-style: italic;
}

/* Título com serifa e filete dourado central acima. */
.epd-profile--elegant-premium .epd-fold-one__title {
	position: relative;
	padding-top: 28px;
}

.epd-profile--elegant-premium .epd-fold-one__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 44px;
	height: 1px;
	background: var(--epd-color-accent);
}

.epd-profile--elegant-premium.epd-profile--align-left .epd-fold-one__title::before {
	left: 0;
	transform: none;
}

.epd-profile--elegant-premium .epd-fold-one__tagline {
	font-style: italic;
	color: var(--epd-color-accent);
}

/* Botões refinados, com brilho dourado sutil. */
.epd-profile--elegant-premium .epd-button {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.82em;
	font-weight: 600;
}

.epd-profile--elegant-premium .epd-button--primary {
	box-shadow: 0 8px 26px -12px rgba(201, 162, 39, 0.7);
}

.epd-profile--elegant-premium .epd-button--secondary {
	border-color: rgba(201, 162, 39, 0.5);
}

/* Redes sociais com borda dourada. */
.epd-profile--elegant-premium .epd-social-links__link {
	border-color: rgba(201, 162, 39, 0.4);
	color: var(--epd-color-accent);
}

.epd-profile--elegant-premium .epd-social-links__link:hover {
	border-color: var(--epd-color-accent);
	background: rgba(201, 162, 39, 0.08);
}

/* Segunda dobra: título com ornamento, cards com borda dourada fina. */
.epd-profile--elegant-premium .epd-fold-two__header {
	text-align: center;
	margin-bottom: 48px;
}

.epd-profile--elegant-premium .epd-fold-two__title {
	position: relative;
	padding-bottom: 20px;
}

.epd-profile--elegant-premium .epd-fold-two__title::after {
	content: "◆";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	color: var(--epd-color-accent);
	font-size: 0.6em;
}

.epd-profile--elegant-premium .epd-item__inner {
	border: 1px solid rgba(201, 162, 39, 0.25);
	border-radius: 2px;
	background: rgba(201, 162, 39, 0.03);
	text-align: center;
}

.epd-profile--elegant-premium .epd-item__icon {
	color: var(--epd-color-accent);
}

.epd-profile--elegant-premium .epd-item__title {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.95em;
}

/* Terceira dobra: fechamento sóbrio e dourado. */
.epd-profile--elegant-premium .epd-fold-three__title {
	position: relative;
	padding-top: 28px;
}

.epd-profile--elegant-premium .epd-fold-three__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 44px;
	height: 1px;
	background: var(--epd-color-accent);
}

.epd-profile--elegant-premium .epd-fold-three__signature {
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 0.78em;
	color: var(--epd-color-accent);
}
