/* ============================================================
   LOGUP CV — lado inglês (dossiê de engenheiro)
   Carregado depois do main.css do pai; só redefine tokens e adiciona .en-*.
   O lado português (/br/ e blog) não é tocado por nenhuma regra deste arquivo.

   Três aparências a partir dos mesmos tokens:
     dark   — padrão, herda a paleta Logup (slate + verde)
     light  — prefers-color-scheme: light, contraste AA
     print  — papel branco, sem navbar, sem fundo chapado
   ============================================================ */

/* ---------- Tokens: escuro (ajuste sóbrio da paleta do pai) ---------- */
html.root-en {
	--bg: #070d1a;
	--bg-deep: #04070f;
	--bg-elevated: #0d1526;
	--surface: #0c1322;
	--surface-2: #162034;
	--surface-3: #24314a;

	--border: rgba(148, 163, 184, 0.16);
	--border-strong: rgba(148, 163, 184, 0.34);

	--text: #f1f5f9;
	--muted: #a3b1c6;
	--faint: #8496ae;

	color-scheme: dark;
}

/* ---------- Tokens: claro ---------- */
@media (prefers-color-scheme: light) {
	html.root-en {
		--bg: #ffffff;
		--bg-deep: #f8fafc;
		--bg-elevated: #ffffff;
		--surface: #f8fafc;
		--surface-2: #f1f5f9;
		--surface-3: #e2e8f0;

		--border: rgba(15, 23, 42, 0.14);
		--border-strong: rgba(15, 23, 42, 0.26);

		--text: #0f172a;
		--muted: #475569;
		--faint: #5b6b80;

		/* green-700: 4.9:1 em branco — passa AA como texto e como fundo de botão. */
		--accent: #15803d;
		--accent-hover: #166534;
		--accent-soft: rgba(21, 128, 61, 0.1);
		--accent-line: rgba(21, 128, 61, 0.28);
		--accent-line-strong: rgba(21, 128, 61, 0.45);

		--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
		--shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
		--shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.1);
		--glow: 0 0 0 1px var(--accent-soft);
		--glow-ambient: none;

		color-scheme: light;
	}
}

/* ---------- Base ---------- */
/* O grão cinematográfico existe para quebrar banding em gradiente escuro;
   em papel e em light mode ele só suja o texto. */
body.theme-en::before { display: none; }

body.theme-en {
	background-color: var(--bg);
	line-height: 1.7;
}

/* A navbar é fixed; logado no admin ela ficava atrás da barra do WordPress. */
body.admin-bar .navbar { top: var(--wp-admin--admin-bar--height, 32px); }
@media screen and (max-width: 782px) {
	body.admin-bar .navbar { top: 46px; }
}

/* Sem main.js no lado inglês, a navbar nunca ganha .is-scrolled — então ela
   já nasce sólida em vez de flutuar transparente sobre o conteúdo. */
.theme-en .navbar {
	background: var(--bg);
	border-bottom-color: var(--border);
}
.theme-en .navbar.is-open .mobile-menu {
	background: var(--bg);
}

.theme-en .navbar-wordmark {
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
	text-decoration: none;
	border-radius: var(--radius-sm);
	line-height: 1.2;
}
.wordmark-name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fs-base);
	letter-spacing: -0.01em;
	color: var(--text);
}
.wordmark-role {
	font-size: var(--fs-2xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
}

/* ---------- Alternador de idioma ---------- */
.lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	letter-spacing: 0.04em;
	color: var(--faint);
}
.lang-switch a {
	color: var(--faint);
	text-decoration: none;
	border-radius: var(--radius-sm);
	padding: 0.15rem 0.3rem;
	transition: color 0.2s;
}
.lang-switch a:hover { color: var(--text); }
.lang-current { color: var(--text); font-weight: 600; }
.lang-sep { opacity: 0.5; }
.lang-switch-mobile { justify-content: center; padding-top: 0.75rem; }

.theme-en .navbar-cta,
.theme-pt .navbar-cta {
	align-items: center;
	gap: 1rem;
}
@media (min-width: 768px) {
	.navbar-cta { display: flex !important; }
}

/* ---------- Seções ---------- */
.en-section {
	padding-block: 3.5rem;
	scroll-margin-top: 4.5rem;
}
@media (min-width: 768px) { .en-section { padding-block: 5rem; } }

.en-section-alt {
	background: var(--surface);
	border-block: 1px solid var(--border);
}

.en-section-head { margin-bottom: 2rem; }
.en-section-head h2 {
	/* typography.headline do DESIGN.md — mesmo degrau de .section-heading h2. */
	font-size: clamp(1.875rem, 4vw, 2.75rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.en-section-head p {
	margin-top: 0.5rem;
	color: var(--muted);
	max-width: 60ch;
}

.en-sub-head {
	font-size: var(--fs-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--faint);
	margin-bottom: 0.9rem;
}

/* ---------- Hero ---------- */
.en-hero {
	padding-top: 7rem;
	padding-bottom: 2.75rem;
	scroll-margin-top: 4.5rem;
}
@media (min-width: 768px) { .en-hero { padding-top: 9rem; padding-bottom: 3.5rem; } }

.en-availability {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid var(--accent-line);
	background: var(--accent-soft);
	color: var(--accent);
	border-radius: 9999px;
	padding: 0.3rem 0.75rem;
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.01em;
}
.en-dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 9999px;
	background: currentColor;
	flex: none;
}

.en-name {
	margin-top: 1.25rem;
	/* typography.display do DESIGN.md. */
	font-size: clamp(2.25rem, 6vw, 3.75rem);
	line-height: 1.05;
	letter-spacing: -0.025em;
}

.en-role {
	margin-top: 0.6rem;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem;
	font-size: var(--fs-lg);
	color: var(--muted);
}
.en-role-main { color: var(--text); font-weight: 600; }
.en-role-sep { color: var(--faint); }

.en-lede {
	margin-top: 1.25rem;
	max-width: 64ch;
	font-size: var(--fs-lg);
	color: var(--muted);
	line-height: 1.6;
	text-wrap: pretty;
}

.en-hero-actions {
	margin-top: 1.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.en-hero-contact {
	margin-top: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.5rem;
	font-size: var(--fs-md);
}
.en-hero-contact a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}
.en-hero-contact a:hover { color: var(--text); border-bottom-color: var(--border-strong); }
.en-hero-contact svg { color: var(--faint); flex: none; }

/* ---------- Faixa de métricas ---------- */
.en-metrics {
	border-block: 1px solid var(--border);
	background: var(--surface);
	padding-block: 1.75rem;
}

.en-metrics-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
	margin: 0;
}
@media (min-width: 560px) { .en-metrics-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 2rem; } }
@media (min-width: 1024px) { .en-metrics-grid { grid-template-columns: repeat(4, 1fr); } }

.en-metric { min-width: 0; }
.en-metric-value {
	/* Mesmo tratamento de .stat-value do tema pai: é o mesmo componente,
	   um número de credibilidade, só que em outra língua. */
	font-family: var(--font-mono);
	font-weight: 700;
	font-size: var(--fs-3xl);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--text);
	font-variant-numeric: tabular-nums;
}
@media (min-width: 640px) { .en-metric-value { font-size: var(--fs-4xl); } }
.en-metric-body { margin: 0.35rem 0 0; display: block; }
.en-metric-label {
	display: block;
	font-weight: 600;
	font-size: var(--fs-md);
	color: var(--text);
}
.en-metric-context {
	display: block;
	margin-top: 0.2rem;
	font-size: var(--fs-sm);
	line-height: 1.5;
	color: var(--muted);
	max-width: 40ch;
}

/* ---------- Case studies ---------- */
.en-cases { display: grid; gap: 2rem; }

.en-case {
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	background: var(--bg-elevated);
	padding: 1.25rem;
	box-shadow: var(--shadow-sm);
}
@media (min-width: 768px) { .en-case { padding: 1.75rem 2rem; } }

.en-case-head {
	display: grid;
	gap: 0.35rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--border);
}
.en-case-kicker {
	font-family: var(--font-mono);
	font-size: var(--fs-2xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--accent);
}
.en-case-title {
	/* typography.title do DESIGN.md. */
	font-size: var(--fs-xl);
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}
.en-case-metric {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem;
	margin-top: 0.35rem;
}
.en-case-metric-value {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fs-2xl);
	letter-spacing: -0.02em;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}
.en-case-metric-label { font-size: var(--fs-md); color: var(--muted); }

.en-case-figure {
	margin: 1.25rem 0;
	padding: 0.75rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface);
	overflow-x: auto;
}
.en-case-figure .dg { min-width: 620px; }

.en-case-body {
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 900px) {
	/* Problem e Constraint lado a lado; Architecture e Result ocupam a linha
	   inteira — o texto longo da arquitetura deixava metade da grade vazia. */
	.en-case-body { grid-template-columns: 1fr 1fr; gap: 1.5rem 2.5rem; }
	.en-case-block-arch,
	.en-case-block-result { grid-column: 1 / -1; }
	.en-case-block-arch p { max-width: 88ch; }
}

.en-case-block h4 {
	font-family: var(--font-mono);
	font-size: var(--fs-2xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--faint);
	margin-bottom: 0.4rem;
}
.en-case-block p {
	color: var(--muted);
	font-size: var(--fs-md);
	line-height: 1.65;
	max-width: 72ch;
	text-wrap: pretty;
}
.en-case-block-result {
	border-left: 2px solid var(--accent);
	padding-left: 1rem;
}
.en-case-block-result h4 { color: var(--accent); }
.en-case-block-result p { color: var(--text); }

/* ---------- Tags (stack) ---------- */
.en-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 1.25rem;
}
.en-tags li {
	border: 1px solid var(--border);
	background: var(--surface-2);
	border-radius: 9999px;
	padding: 0.2rem 0.6rem;
	font-family: var(--font-mono);
	font-size: var(--fs-2xs);
	letter-spacing: 0.02em;
	color: var(--muted);
	white-space: nowrap;
}

/* ---------- Diagramas ---------- */
.dg { width: 100%; height: auto; }
.dg-box { fill: var(--surface-2); stroke: var(--border-strong); stroke-width: 1; }
.dg-box-accent { fill: var(--accent-soft); stroke: var(--accent-line-strong); stroke-width: 1; }
.dg-t { fill: var(--text); font-family: var(--font-sans); font-size: 13px; font-weight: 600; }
.dg-s { fill: var(--muted); font-family: var(--font-sans); font-size: 11px; }
.dg-n { fill: var(--faint); font-family: var(--font-mono); font-size: 11px; }
.dg-line { stroke: var(--border-strong); stroke-width: 1.5; fill: none; }
.dg-head { fill: var(--border-strong); }
.dg-dash { stroke: var(--border-strong); stroke-width: 1.25; stroke-dasharray: 3 3; fill: none; }

/* ---------- Skills ---------- */
.en-skills { display: grid; gap: 1.1rem; margin: 0; }
.en-skill-row {
	display: grid;
	gap: 0.5rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--border);
}
.en-skill-row:last-child { border-bottom: 0; padding-bottom: 0; }
@media (min-width: 768px) {
	.en-skill-row { grid-template-columns: 13rem 1fr; gap: 1.5rem; align-items: start; }
}
.en-skill-row dt {
	font-weight: 600;
	font-size: var(--fs-md);
	color: var(--text);
}
.en-skill-row dd { margin: 0; }
.en-skill-row .en-tags { margin-top: 0; }

/* ---------- Timeline ---------- */
.en-timeline { display: grid; gap: 1.75rem; }
.en-job {
	position: relative;
	padding-left: 1.25rem;
	border-left: 1px solid var(--border);
}
.en-job::before {
	content: "";
	position: absolute;
	left: -0.3rem;
	top: 0.45rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 9999px;
	background: var(--surface-3);
}
.en-job.is-current::before { background: var(--accent); }

.en-job-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 1rem;
}
.en-job-role { font-size: var(--fs-lg); letter-spacing: -0.015em; }
.en-job-period {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--faint);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.en-job-company {
	margin-top: 0.2rem;
	font-size: var(--fs-md);
	color: var(--text);
	font-weight: 600;
}
.en-job-note {
	font-weight: 400;
	font-style: italic;
	color: var(--muted);
}
.en-job-note::before { content: "— "; }
.en-job-meta {
	font-weight: 400;
	color: var(--faint);
}
.en-job-meta::before { content: " · "; }
.en-job-lines {
	margin-top: 0.6rem;
	display: grid;
	gap: 0.35rem;
}
.en-job-lines li {
	position: relative;
	padding-left: 0.9rem;
	font-size: var(--fs-md);
	color: var(--muted);
	line-height: 1.6;
	max-width: 74ch;
}
.en-job-lines li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.66em;
	width: 0.3rem;
	height: 1px;
	background: var(--border-strong);
}

/* ---------- Side projects ---------- */
.en-projects {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .en-projects { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .en-projects { grid-template-columns: repeat(3, 1fr); } }

.en-project {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--bg-elevated);
	padding: 1.1rem;
}
.en-project-figure {
	margin: 0 0 0.9rem;
	padding: 0.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--surface);
	overflow-x: auto;
}
.en-project-figure .dg { min-width: 300px; }
.en-project-title { font-size: var(--fs-base); letter-spacing: -0.01em; }
.en-project-link { margin-top: 0.25rem; font-size: var(--fs-sm); }
.en-project-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: var(--accent);
	text-decoration: none;
	font-family: var(--font-mono);
}
.en-project-link a:hover { text-decoration: underline; }
.en-project-text {
	margin-top: 0.6rem;
	font-size: var(--fs-md);
	color: var(--muted);
	line-height: 1.6;
}
.en-project .en-tags { margin-top: auto; padding-top: 1rem; }

/* ---------- Education / Languages ---------- */
.en-two-col { display: grid; gap: 2rem; }
@media (min-width: 720px) { .en-two-col { grid-template-columns: 1fr 1fr; gap: 3rem; } }

.en-edu-degree { font-weight: 600; color: var(--text); }
.en-edu-school { margin-top: 0.15rem; color: var(--muted); font-size: var(--fs-md); }

.en-langs { display: grid; gap: 0.5rem; }
.en-langs li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.6rem;
	font-size: var(--fs-md);
}
.en-lang-name { font-weight: 600; color: var(--text); min-width: 6rem; }
.en-lang-level { color: var(--muted); }

/* ---------- Contato ---------- */
.en-contact { border-top: 1px solid var(--border); }
.en-contact-lede {
	max-width: 62ch;
	color: var(--muted);
	font-size: var(--fs-lg);
	line-height: 1.6;
}
.en-contact-list {
	margin-top: 1.5rem;
	display: grid;
	gap: 0.6rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .en-contact-list { grid-template-columns: repeat(2, minmax(0, 18rem)); } }
.en-contact-list a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--surface);
	color: var(--text);
	text-decoration: none;
	font-size: var(--fs-md);
	font-weight: 600;
	transition: border-color 0.2s, background-color 0.2s;
}
.en-contact-list a:hover { border-color: var(--border-strong); background: var(--surface-2); }
.en-contact-list svg { color: var(--accent); flex: none; }

/* ---------- Footer inglês ---------- */
.footer-en {
	border-top: 1px solid var(--border);
	background: var(--surface);
	padding-block: 2rem;
	margin-top: 0;
}
.footer-en-grid {
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	.footer-en-grid { grid-template-columns: 1fr auto; align-items: start; gap: 2rem; }
}
.footer-en-name { font-family: var(--font-display); font-weight: 700; color: var(--text); }
.footer-en-role { font-size: var(--fs-md); color: var(--muted); margin-top: 0.15rem; }
.footer-en-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	font-size: var(--fs-md);
}
.footer-en-links a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--muted);
	text-decoration: none;
}
.footer-en-links a:hover { color: var(--text); }
.footer-en-links svg { color: var(--faint); flex: none; }
.footer-en-bottom {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	font-size: var(--fs-sm);
	color: var(--faint);
}

/* ---------- Crédito de stack ---------- */
/* Serve os dois rodapés: no inglês fica na linha do copyright, no português
   embaixo da razão social. */
.footer-wp {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--fs-sm);
	color: var(--faint);
}
.footer-wp a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--faint);
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: color 0.2s;
}
.footer-wp a:hover { color: var(--text); }
.footer-wp a:hover svg { color: var(--accent); }
.footer-wp svg { flex: none; transition: color 0.2s; }

/* No rodapé português ele é uma linha própria, com respiro do bloco legal. */
.footer-bottom .footer-wp { margin-top: 0.5rem; }

/* ---------- Página /resume/ ---------- */
.en-resume { padding-top: 6.5rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .en-resume { padding-top: 8rem; } }
.en-resume-head { padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.en-resume-head .en-name { margin-top: 0; }
.en-resume-contact {
	margin-top: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.25rem;
	font-size: var(--fs-md);
}
.en-resume-contact a { color: var(--muted); text-decoration: none; }
.en-resume-contact a:hover { color: var(--text); }
.en-resume-download { margin-top: 1.25rem; }
.en-resume-block { padding-block: 1.75rem; border-bottom: 1px solid var(--border); }
.en-resume-block:last-child { border-bottom: 0; }
.en-resume-p {
	color: var(--muted);
	max-width: 70ch;
	margin-bottom: 0.6rem;
	line-height: 1.65;
}
.en-resume-case { margin-bottom: 1.5rem; }
.en-resume-case:last-child { margin-bottom: 0; }
.en-resume-case .en-tags { margin-top: 0.6rem; }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	.theme-en *,
	.theme-en *::before,
	.theme-en *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ============================================================
   IMPRESSÃO — o recrutador que salva a página em PDF recebe um
   documento, não um screenshot de site escuro.
   ============================================================ */
@media print {
	html.root-en {
		--bg: #ffffff;
		--bg-deep: #ffffff;
		--bg-elevated: #ffffff;
		--surface: #ffffff;
		--surface-2: #f2f4f7;
		--surface-3: #d7dce4;
		--border: #c8cfd9;
		--border-strong: #9aa5b4;
		--text: #101418;
		--muted: #333a44;
		--faint: #565f6c;
		--accent: #14653a;
		--accent-soft: #eef4f0;
		--accent-line: #9dbfae;
		--accent-line-strong: #6f9c85;
		color-scheme: light;
	}

	@page { margin: 14mm; }

	body.theme-en {
		background: #fff !important;
		color: #101418;
		font-size: 10.5pt;
		line-height: 1.45;
	}
	body.theme-en::before { display: none !important; }

	.navbar,
	.mobile-menu,
	.skip-link,
	.site-bg,
	.wa-float,
	.no-print,
	.en-hero-actions,
	.en-resume-download,
	.lang-switch,
	.footer-en-bottom { display: none !important; }

	.en-hero { padding-top: 0; padding-bottom: 0.75rem; }
	.en-resume { padding-top: 0; }

	.en-section,
	.en-section-alt,
	.en-metrics,
	.footer-en {
		background: transparent !important;
		border-color: var(--border);
		padding-block: 0.9rem;
	}
	.en-section-alt { border-block-width: 1px 0; }

	.container { max-width: none; padding-inline: 0; }

	/* Nada de case, cargo ou card partido no meio entre duas folhas. */
	.en-case,
	.en-job,
	.en-project,
	.en-resume-case,
	.en-skill-row,
	.en-metric { break-inside: avoid; page-break-inside: avoid; }

	.en-case {
		box-shadow: none;
		padding: 0.75rem 0;
		border-width: 0 0 1px 0;
		border-radius: 0;
	}
	.en-case-figure,
	.en-project-figure {
		background: #fff !important;
		overflow: visible;
		padding: 0.25rem 0;
		border: 0;
	}
	/* Sem min-width o diagrama cabe na largura da folha em vez de vazar. */
	.en-case-figure .dg,
	.en-project-figure .dg { min-width: 0; }
	.dg-box { fill: #f4f6f8; stroke: #9aa5b4; }
	.dg-box-accent { fill: #eef4f0; stroke: #6f9c85; }

	.en-projects { grid-template-columns: repeat(2, 1fr); }
	.en-project { border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 0.5rem 0; }

	.en-case-body { grid-template-columns: 1fr; gap: 0.6rem; }
	.en-case-block p,
	.en-job-lines li,
	.en-resume-p { max-width: none; }

	.en-tags li { background: #fff; border-color: #c8cfd9; }

	/* O link precisa continuar rastreável no papel. */
	.en-hero-contact a::after,
	.en-project-link a::after,
	.en-resume-contact a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 8.5pt;
		color: #565f6c;
		word-break: break-all;
	}
	.en-hero-contact a[href^="mailto:"]::after,
	.en-resume-contact a[href^="mailto:"]::after { content: ""; }

	.footer-wp { display: none !important; }

	a { text-decoration: none; color: inherit; }
}
