:root {
	--em-ink: #080b0f;
	--em-ink-2: #0c1117;
	--em-panel: #11161d;
	--em-panel-2: #171d25;
	--em-line: rgba(255, 255, 255, 0.12);
	--em-line-strong: rgba(255, 255, 255, 0.2);
	--em-paper: #f5f7f2;
	--em-muted: #9aa4af;
	--em-acid: #c9f227;
	--em-acid-dark: #9fca00;
	--em-acid-soft: rgba(201, 242, 39, 0.12);
	--em-radius: 18px;
	--em-radius-small: 10px;
	--em-shell: 1240px;
	--em-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--em-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--em-ink); }
body {
	margin: 0;
	background: var(--em-ink);
	color: var(--em-paper);
	font-family: var(--em-font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.em-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4 { margin-top: 0; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--em-acid); color: var(--em-ink); }

.screen-reader-text,
.em-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.em-skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 9999;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	background: var(--em-acid);
	color: var(--em-ink);
}
.em-shell { width: min(calc(100% - 48px), var(--em-shell)); margin-inline: auto; }
.em-site-main { overflow: hidden; }
.em-section { padding: clamp(80px, 9vw, 140px) 0; border-top: 1px solid var(--em-line); }
.em-eyebrow {
	margin-bottom: 24px;
	color: var(--em-acid);
	font-family: var(--em-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.em-section-heading { max-width: 760px; margin-bottom: 56px; }
.em-section-heading h2,
.em-two-column h2,
.em-lab-intro h2,
.em-about-grid h2 {
	margin-bottom: 20px;
	font-size: clamp(38px, 5vw, 72px);
	font-weight: 560;
	letter-spacing: -0.055em;
	line-height: 1.02;
}
.em-section-heading h2 span,
.em-two-column h2 span,
.em-lab-intro h2 span { color: var(--em-muted); }
.em-section-heading > p:last-child { max-width: 620px; margin: 0; color: var(--em-muted); font-size: 19px; }

/* Header */
.em-site-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	border-bottom: 1px solid transparent;
	transition: background 180ms ease, border-color 180ms ease, backdrop-filter 180ms ease;
}
.em-site-header.is-scrolled { background: rgba(8, 11, 15, 0.86); border-color: var(--em-line); backdrop-filter: blur(18px); }
.em-header-inner { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 30px; }
.em-brand { display: inline-flex; align-items: center; gap: 12px; flex: none; }
.em-mark { width: 62px; height: 40px; color: var(--em-acid); }
.em-brand__text { display: grid; font-size: 15px; letter-spacing: 0.18em; line-height: 1.02; }
.em-brand__text strong { font-weight: 600; }
.custom-logo-link img { max-width: 260px; max-height: 58px; width: auto; }
.em-primary-nav { display: flex; align-items: center; gap: 28px; }
.em-menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.em-menu a { position: relative; color: #c9d0d7; font-size: 14px; font-weight: 550; }
.em-menu a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--em-acid); transform: scaleX(0); transform-origin: right; transition: transform 180ms ease; }
.em-menu a:hover::after,
.em-menu .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.em-menu-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 1px solid var(--em-line); border-radius: 50%; background: transparent; }
.em-menu-toggle > span:not(.screen-reader-text) { display: block; width: 20px; height: 1px; margin: 5px 0; background: currentColor; }

/* Buttons */
.em-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 0 24px;
	border: 1px solid var(--em-acid);
	border-radius: 999px;
	background: var(--em-acid);
	color: var(--em-ink);
	font-size: 14px;
	font-weight: 750;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.em-button:hover { background: transparent; color: var(--em-acid); transform: translateY(-2px); }
.em-button--small { min-height: 42px; padding: 0 19px; }
.em-button--ghost { background: transparent; color: var(--em-acid); }
.em-button--ghost:hover { background: var(--em-acid); color: var(--em-ink); }
.em-text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 650; }
.em-text-link span { color: var(--em-acid); font-size: 18px; transition: transform 180ms ease; }
.em-text-link:hover span { transform: translate(3px, -3px); }

/* Hero */
.em-hero {
	position: relative;
	padding-top: 88px;
	background:
		radial-gradient(circle at 72% 42%, rgba(201, 242, 39, 0.07), transparent 28%),
		linear-gradient(var(--em-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--em-line) 1px, transparent 1px);
	background-size: auto, 64px 64px, 64px 64px;
}
.em-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--em-ink) 4%, transparent 45%, var(--em-ink) 100%); pointer-events: none; }
.em-hero__grid { position: relative; display: grid; min-height: 735px; align-items: center; grid-template-columns: minmax(0, 1.06fr) minmax(420px, 0.94fr); gap: clamp(40px, 6vw, 96px); padding-block: 80px; }
.em-hero__copy { position: relative; z-index: 2; }
.em-hero h1 { max-width: 790px; margin-bottom: 30px; font-size: clamp(54px, 6.5vw, 98px); font-weight: 570; letter-spacing: -0.07em; line-height: 0.94; }
.em-hero h1::first-line { color: var(--em-paper); }
.em-hero__lead { max-width: 680px; margin-bottom: 34px; color: #bdc5cc; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.55; }
.em-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.em-availability { display: flex; align-items: center; gap: 10px; margin-top: 42px; color: var(--em-muted); font-family: var(--em-mono); font-size: 11px; letter-spacing: 0.04em; }
.em-availability > span { width: 8px; height: 8px; border-radius: 50%; background: var(--em-acid); box-shadow: 0 0 0 5px var(--em-acid-soft); }
.em-system-card { position: relative; z-index: 2; overflow: hidden; border: 1px solid var(--em-line-strong); border-radius: var(--em-radius); background: rgba(13, 18, 24, 0.88); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.38); backdrop-filter: blur(20px); }
.em-system-card__top,
.em-system-card__footer { display: flex; min-height: 56px; align-items: center; gap: 12px; padding: 0 22px; border-bottom: 1px solid var(--em-line); color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.em-system-card__top { justify-content: space-between; }
.em-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--em-acid); box-shadow: 0 0 14px var(--em-acid); }
.em-system-flow { padding: 12px 22px; }
.em-flow-node { display: grid; min-height: 76px; align-items: center; padding: 14px 16px; border: 1px solid var(--em-line); border-radius: var(--em-radius-small); grid-template-columns: 34px 1fr; }
.em-flow-node > span { color: var(--em-acid); font-family: var(--em-mono); font-size: 10px; grid-row: span 2; }
.em-flow-node strong { font-size: 16px; font-weight: 600; }
.em-flow-node small { color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; }
.em-flow-node--active { border-color: rgba(201, 242, 39, 0.46); background: var(--em-acid-soft); }
.em-flow-line { width: 1px; height: 25px; margin-left: 31px; overflow: hidden; background: var(--em-line-strong); }
.em-flow-line i { display: block; width: 100%; height: 45%; background: var(--em-acid); animation: flow 1.8s infinite linear; }
@keyframes flow { from { transform: translateY(-130%); } to { transform: translateY(300%); } }
.em-system-card__footer { position: relative; border-top: 1px solid var(--em-line); border-bottom: 0; text-transform: none; }
.em-system-card__footer strong { color: var(--em-paper); font-weight: 500; }
.em-system-wave { flex: 1; height: 18px; margin-left: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='20' viewBox='0 0 160 20'%3E%3Cpath d='M0 10h20l5-7 8 14 8-7h20l5-4 5 8 6-4h18l5-8 8 16 8-8h64' fill='none' stroke='%23c9f227' stroke-width='1'/%3E%3C/svg%3E") center right/contain no-repeat; opacity: 0.7; }
.em-signal-bar { position: relative; display: flex; min-height: 75px; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid var(--em-line); color: #d2d7dc; font-family: var(--em-mono); font-size: 11px; }
.em-signal-bar > span { color: var(--em-muted); }

/* Philosophy */
.em-philosophy { background: var(--em-paper); color: var(--em-ink); }
.em-two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr); gap: clamp(60px, 10vw, 150px); }
.em-philosophy .em-eyebrow { color: #739300; }
.em-philosophy h2 span { color: #727980; }
.em-prose { padding-top: 50px; color: #49515a; font-size: clamp(18px, 1.7vw, 22px); }

/* Services */
.em-services-preview { background: var(--em-ink-2); }
.em-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--em-line); border-left: 1px solid var(--em-line); }
.em-service-card { position: relative; min-height: 330px; padding: 36px; border-right: 1px solid var(--em-line); border-bottom: 1px solid var(--em-line); transition: background 180ms ease; }
.em-service-card::before { content: ""; position: absolute; top: -1px; right: -1px; left: -1px; height: 2px; background: var(--em-acid); transform: scaleX(0); transform-origin: left; transition: transform 260ms ease; }
.em-service-card:hover { background: var(--em-panel); }
.em-service-card:hover::before { transform: scaleX(1); }
.em-card-index { color: var(--em-muted); font-family: var(--em-mono); font-size: 11px; }
.em-service-card h2,
.em-service-card h3 { max-width: 390px; margin: 80px 0 18px; font-size: clamp(28px, 3vw, 42px); font-weight: 520; letter-spacing: -0.04em; line-height: 1.02; }
.em-service-card p { max-width: 480px; margin-bottom: 0; color: var(--em-muted); }
.em-service-card small { display: block; margin-top: 28px; color: var(--em-acid); font-family: var(--em-mono); font-size: 10px; }
.em-card-arrow { position: absolute; top: 30px; right: 34px; color: var(--em-acid); font-size: 25px; transition: transform 180ms ease; }
.em-service-card:hover .em-card-arrow { transform: translate(4px, -4px); }

/* Process */
.em-process-section { background: var(--em-ink); }
.em-process { display: grid; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(5, 1fr); }
.em-process li { position: relative; min-height: 245px; padding: 25px 24px; border-top: 1px solid var(--em-line-strong); border-bottom: 1px solid var(--em-line); border-left: 1px solid var(--em-line); }
.em-process li:last-child { border-right: 1px solid var(--em-line); background: var(--em-acid-soft); }
.em-process li::after { content: ""; position: absolute; top: -4px; left: 24px; width: 7px; height: 7px; border-radius: 50%; background: var(--em-muted); }
.em-process li:last-child::after { background: var(--em-acid); box-shadow: 0 0 0 5px var(--em-acid-soft); }
.em-process span { display: block; margin-bottom: 90px; color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; }
.em-process strong { display: block; margin-bottom: 9px; font-size: 18px; }
.em-process p { margin: 0; color: var(--em-muted); font-size: 13px; line-height: 1.5; }

/* Projects */
.em-projects-preview { background: var(--em-paper); color: var(--em-ink); }
.em-projects-preview .em-eyebrow { color: #739300; }
.em-projects-preview .em-section-heading h2 span { color: #737b83; }
.em-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.em-heading-row .em-section-heading { margin-bottom: 56px; }
.em-heading-row > .em-text-link { margin-bottom: 63px; }
.em-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 62px 24px; }
.em-project-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.45; border-radius: 4px; background: #dfe3dc; }
.em-project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.8,.2,1); }
.em-project-card:hover .em-project-card__media img { transform: scale(1.025); }
.em-card-placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 70% 30%, rgba(201, 242, 39, 0.2), transparent 30%), linear-gradient(145deg, #121820, #07090c); color: var(--em-acid); }
.em-card-placeholder::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.11); }
.em-card-placeholder > span { font-size: clamp(56px, 8vw, 110px); font-weight: 650; letter-spacing: -0.08em; }
.em-project-card__open { position: absolute; right: 20px; bottom: 20px; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--em-acid); color: var(--em-ink); font-size: 20px; }
.em-project-card__body { padding: 22px 2px 0; }
.em-project-card__body > p { margin-bottom: 8px; color: #657078; font-family: var(--em-mono); font-size: 10px; letter-spacing: 0.04em; text-transform: uppercase; }
.em-project-card__body h3 { margin-bottom: 10px; font-size: clamp(26px, 3vw, 40px); font-weight: 550; letter-spacing: -0.04em; }
.em-project-card__body > span { color: #657078; font-size: 15px; }

/* Lab */
.em-lab-preview { background: var(--em-ink-2); }
.em-lab-layout { display: grid; align-items: center; grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr); gap: clamp(60px, 9vw, 130px); }
.em-lab-intro > p:not(.em-eyebrow) { max-width: 550px; margin-bottom: 32px; color: var(--em-muted); font-size: 18px; }
.em-terminal { overflow: hidden; border: 1px solid var(--em-line-strong); border-radius: var(--em-radius); background: #070a0d; box-shadow: 0 35px 100px rgba(0,0,0,.38); }
.em-terminal__bar { display: flex; height: 48px; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid var(--em-line); }
.em-terminal__bar > span { width: 8px; height: 8px; border-radius: 50%; background: #303740; }
.em-terminal__bar > span:first-child { background: var(--em-acid); }
.em-terminal__bar small { margin-left: 8px; color: #68727d; font-family: var(--em-mono); font-size: 10px; }
.em-terminal__body { min-height: 310px; padding: 32px 26px; font-family: var(--em-mono); font-size: 12px; line-height: 2.25; }
.em-terminal__body p { margin: 0; color: #aab3bb; }
.em-terminal__body i { margin-right: 14px; color: #47515c; font-style: normal; }
.em-terminal__body strong { display: inline-block; min-width: 76px; color: var(--em-acid); font-weight: 600; }
.em-cursor { display: inline-block; width: 7px; height: 14px; margin-left: 5px; background: var(--em-acid); vertical-align: -2px; animation: blink 1s step-end infinite; }
@keyframes blink { 50% { opacity: 0; } }
.em-terminal__metric { display: grid; min-height: 65px; align-items: center; padding: 0 25px; border-top: 1px solid var(--em-line); color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; grid-template-columns: auto 1fr auto; gap: 16px; }
.em-terminal__metric div { overflow: hidden; height: 3px; background: #20262d; }
.em-terminal__metric i { display: block; height: 100%; background: var(--em-acid); }
.em-terminal__metric strong { color: var(--em-acid); }

/* Blog */
.em-insights { background: var(--em-paper); color: var(--em-ink); }
.em-insights .em-eyebrow { color: #739300; }
.em-insights .em-section-heading h2 span { color: #747b82; }
.em-post-list { border-top: 1px solid rgba(8, 11, 15, .18); }
.em-post-row { display: grid; align-items: center; padding: 28px 0; border-bottom: 1px solid rgba(8, 11, 15, .16); grid-template-columns: 170px 1fr 50px; gap: 24px; }
.em-post-row__meta { display: flex; flex-direction: column; color: #7d858c; font-family: var(--em-mono); font-size: 10px; }
.em-post-category { margin-bottom: 7px; color: #739300; font-family: var(--em-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.em-post-row__content h3 { margin-bottom: 8px; font-size: clamp(24px, 3vw, 36px); font-weight: 540; letter-spacing: -.035em; line-height: 1.08; }
.em-post-row__content > p:last-child { max-width: 760px; margin: 0; color: #677078; font-size: 14px; }
.em-post-row__arrow { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(8,11,15,.2); border-radius: 50%; color: #5f7800; }
.em-empty-state { padding: 50px; border: 1px solid rgba(8, 11, 15, .15); background: #ecefe9; }
.em-empty-state > span { color: #739300; font-family: var(--em-mono); font-size: 10px; }
.em-empty-state h3 { margin: 20px 0 8px; font-size: 32px; }
.em-empty-state p { margin: 0; color: #677078; }

/* Newsletter */
.em-newsletter-block { background: var(--em-ink); }
.em-newsletter-card { position: relative; overflow: hidden; display: grid; align-items: center; padding: clamp(40px, 6vw, 78px); border: 1px solid rgba(201,242,39,.28); border-radius: var(--em-radius); background: radial-gradient(circle at 92% 20%, rgba(201,242,39,.13), transparent 30%), var(--em-panel); grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 80px; }
.em-newsletter-card::before { content: "EM"; position: absolute; right: -35px; bottom: -100px; color: rgba(255,255,255,.025); font-size: 280px; font-weight: 800; letter-spacing: -.12em; }
.em-newsletter-card h2 { max-width: 740px; margin-bottom: 20px; font-size: clamp(34px, 4.5vw, 62px); font-weight: 550; letter-spacing: -.05em; line-height: 1.03; }
.em-newsletter-card p:not(.em-eyebrow) { max-width: 650px; margin-bottom: 0; color: var(--em-muted); }
.em-newsletter-card__form { position: relative; z-index: 2; }
.em-newsletter-form { display: grid; gap: 13px; }
.em-field-inline { display: flex; gap: 9px; }
.em-field-inline input { flex: 1; min-width: 0; }
.em-consent { display: flex; align-items: flex-start; gap: 9px; color: var(--em-muted); font-size: 11px; line-height: 1.45; }
.em-consent input { margin-top: 3px; accent-color: var(--em-acid); }
.em-interest-list { display: flex; margin: 5px 0; padding: 0; border: 0; gap: 8px 16px; flex-wrap: wrap; }
.em-interest-list legend { width: 100%; margin-bottom: 7px; color: var(--em-muted); font-size: 11px; }
.em-interest-list label { color: #c4cbd1; font-size: 12px; }
.em-interest-list input { accent-color: var(--em-acid); }

/* About */
.em-about-preview { background: var(--em-paper); color: var(--em-ink); }
.em-about-grid { display: grid; align-items: center; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: clamp(60px, 9vw, 150px); }
.em-about-mark { position: relative; display: grid; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--em-ink); color: var(--em-acid); }
.em-about-mark::after { content: ""; position: absolute; inset: 25px; border: 1px solid rgba(201,242,39,.28); border-radius: 50%; }
.em-about-mark .em-mark { width: 58%; height: auto; }
.em-about-grid .em-eyebrow { color: #739300; }
.em-about-grid h2 { font-size: clamp(34px, 4.2vw, 60px); }
.em-about-grid p:not(.em-eyebrow) { max-width: 680px; color: #5e6870; font-size: 18px; }

/* Inner pages */
.em-page-hero { padding: 185px 0 90px; border-bottom: 1px solid var(--em-line); background: radial-gradient(circle at 75% 15%, rgba(201,242,39,.08), transparent 30%); }
.em-page-hero h1 { max-width: 980px; margin-bottom: 26px; font-size: clamp(52px, 7vw, 104px); font-weight: 560; letter-spacing: -.07em; line-height: .95; }
.em-page-hero__lead { max-width: 760px; margin: 0; color: var(--em-muted); font-size: clamp(18px, 2vw, 24px); }
.em-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 62px 24px; }
.em-content-wrap { padding: 90px 0 130px; }
.em-article { width: min(calc(100% - 48px), 820px); margin-inline: auto; }
.em-article-header { padding: 185px 0 70px; }
.em-article-header h1 { margin-bottom: 25px; font-size: clamp(46px, 6.5vw, 88px); font-weight: 560; letter-spacing: -.065em; line-height: .98; }
.em-article-meta { display: flex; gap: 16px; color: var(--em-muted); font-family: var(--em-mono); font-size: 11px; }
.em-article-featured { width: min(calc(100% - 48px), var(--em-shell)); margin: 0 auto 80px; }
.em-article-featured img { width: 100%; max-height: 760px; object-fit: cover; }
.em-entry-content { font-size: 18px; }
.em-entry-content > * { max-width: 760px; margin-right: auto; margin-left: auto; }
.em-entry-content > .alignwide { max-width: 1100px; }
.em-entry-content > .alignfull { max-width: none; }
.em-entry-content h2 { margin-top: 2.6em; font-size: clamp(32px, 4vw, 48px); letter-spacing: -.04em; }
.em-entry-content h3 { margin-top: 2.2em; font-size: 27px; letter-spacing: -.025em; }
.em-entry-content p, .em-entry-content li { color: #c4cbd1; }
.em-entry-content a { color: var(--em-acid); text-decoration: underline; text-underline-offset: 3px; }
.em-entry-content blockquote { padding: 25px 30px; border-left: 3px solid var(--em-acid); background: var(--em-panel); font-size: 23px; }
.em-entry-content code { padding: .15em .35em; background: var(--em-panel-2); color: var(--em-acid); font-family: var(--em-mono); font-size: .86em; }
.em-entry-content pre { overflow-x: auto; padding: 25px; background: #050709; }
.em-pagination { margin-top: 70px; }
.nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.page-numbers { display: grid; min-width: 42px; height: 42px; padding: 0 10px; place-items: center; border: 1px solid var(--em-line); border-radius: 50%; }
.page-numbers.current { background: var(--em-acid); color: var(--em-ink); }

/* Project / lab detail */
.em-case-facts { display: grid; margin-top: 55px; padding-top: 24px; border-top: 1px solid var(--em-line); grid-template-columns: repeat(4, 1fr); gap: 20px; }
.em-case-facts span { color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; text-transform: uppercase; }
.em-case-facts strong { display: block; margin-top: 5px; font-size: 15px; font-weight: 550; }
.em-case-section { display: grid; padding: 80px 0; border-top: 1px solid var(--em-line); grid-template-columns: .45fr 1fr; gap: 60px; }
.em-case-section > h2 { color: var(--em-acid); font-family: var(--em-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.em-case-section__content { color: #c4cbd1; font-size: 19px; }

/* Forms */
.em-form { display: grid; gap: 18px; }
.em-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.em-field { display: grid; gap: 8px; }
.em-field label { color: #cbd1d6; font-size: 13px; font-weight: 600; }
.em-field input,
.em-field textarea,
.em-field select,
.em-field-inline input {
	width: 100%;
	min-height: 54px;
	padding: 13px 16px;
	border: 1px solid var(--em-line-strong);
	border-radius: 8px;
	outline: 0;
	background: rgba(255,255,255,.04);
	color: var(--em-paper);
	transition: border-color 180ms ease, box-shadow 180ms ease;
}
.em-field textarea { min-height: 170px; resize: vertical; }
.em-field input:focus,
.em-field textarea:focus,
.em-field select:focus,
.em-field-inline input:focus { border-color: var(--em-acid); box-shadow: 0 0 0 3px var(--em-acid-soft); }
.em-honeypot { position: absolute !important; left: -9999px !important; }
.em-form-status { padding: 12px 15px; border: 1px solid rgba(201,242,39,.35); border-radius: 8px; background: var(--em-acid-soft); color: var(--em-paper); font-size: 13px; }

/* Footer */
.em-site-footer { border-top: 1px solid var(--em-line); background: #06080b; }
.em-footer-cta { padding: 60px 0; border-bottom: 1px solid var(--em-line); }
.em-footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.em-footer-cta .em-eyebrow { margin-bottom: 10px; }
.em-footer-cta h2 { margin: 0; font-size: clamp(32px, 4vw, 54px); font-weight: 540; letter-spacing: -.05em; }
.em-footer-grid { display: grid; padding: 70px 0; grid-template-columns: 1.25fr .75fr .75fr; gap: 70px; }
.em-footer-brand > p { max-width: 390px; margin-top: 25px; color: var(--em-muted); font-size: 14px; }
.em-footer-title { color: var(--em-muted); font-family: var(--em-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.em-footer-menu { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.em-footer-menu .em-menu { display: grid; gap: 7px; }
.em-footer-menu a, .em-footer-grid a { font-size: 14px; }
.em-socials { display: flex; gap: 15px; margin-top: 20px; color: var(--em-muted); }
.em-footer-bottom { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--em-line); color: #747e87; font-family: var(--em-mono); font-size: 10px; }
.em-footer-bottom p { margin: 0; }
.em-footer-bottom nav { display: flex; gap: 20px; }

/* Reveal */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 650ms ease, transform 650ms ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	[data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 1050px) {
	.em-hero__grid { grid-template-columns: 1fr; padding-top: 115px; }
	.em-hero__copy { max-width: 850px; }
	.em-system-card { width: min(100%, 650px); }
	.em-signal-bar { flex-wrap: wrap; justify-content: flex-start; padding-block: 22px; }
	.em-lab-layout { grid-template-columns: 1fr; }
	.em-terminal { max-width: 760px; }
	.em-newsletter-card { grid-template-columns: 1fr; gap: 45px; }
	.em-primary-nav { gap: 18px; }
	.em-menu { gap: 16px; }
}

@media (max-width: 820px) {
	.em-shell { width: min(calc(100% - 32px), var(--em-shell)); }
	.em-menu-toggle { display: block; }
	.em-primary-nav { position: fixed; inset: 78px 0 0; display: none; align-items: flex-start; padding: 35px 24px; background: rgba(8,11,15,.98); flex-direction: column; }
	.em-primary-nav.is-open { display: flex; }
	.em-primary-nav .em-menu { width: 100%; align-items: stretch; flex-direction: column; gap: 0; }
	.em-primary-nav .em-menu li { border-bottom: 1px solid var(--em-line); }
	.em-primary-nav .em-menu a { display: block; padding: 15px 0; font-size: 25px; }
	.em-header-inner { min-height: 78px; }
	.em-hero { padding-top: 78px; }
	.em-hero__grid { min-height: 0; padding-block: 90px 60px; }
	.em-hero h1 { font-size: clamp(48px, 13vw, 76px); }
	.em-two-column,
	.em-about-grid { grid-template-columns: 1fr; gap: 45px; }
	.em-prose { padding-top: 0; }
	.em-service-grid,
	.em-project-grid,
	.em-archive-grid { grid-template-columns: 1fr; }
	.em-process { grid-template-columns: 1fr; }
	.em-process li { min-height: auto; border-right: 1px solid var(--em-line); }
	.em-process span { margin-bottom: 45px; }
	.em-project-grid { gap: 50px; }
	.em-heading-row { display: block; }
	.em-heading-row > .em-text-link { margin: -30px 0 50px; }
	.em-about-mark { max-width: 440px; }
	.em-footer-grid { grid-template-columns: 1fr 1fr; }
	.em-footer-brand { grid-column: 1 / -1; }
	.em-case-facts { grid-template-columns: repeat(2, 1fr); }
	.em-case-section { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 560px) {
	body { font-size: 16px; }
	.em-section { padding: 76px 0; }
	.em-brand__text { font-size: 12px; }
	.em-mark { width: 52px; }
	.em-hero__lead { font-size: 17px; }
	.em-actions { align-items: flex-start; flex-direction: column; }
	.em-system-card__footer { flex-wrap: wrap; padding-block: 14px; }
	.em-system-wave { min-width: 100%; }
	.em-signal-bar strong { padding-right: 10px; }
	.em-service-card { min-height: 280px; padding: 26px; }
	.em-service-card h2,
	.em-service-card h3 { margin-top: 65px; }
	.em-terminal__body { overflow-x: auto; padding: 22px 16px; font-size: 10px; }
	.em-terminal__body p { white-space: nowrap; }
	.em-newsletter-card { padding: 30px 22px; }
	.em-field-inline { flex-direction: column; }
	.em-post-row { grid-template-columns: 1fr 42px; }
	.em-post-row__meta { grid-column: 1 / -1; flex-direction: row; gap: 15px; }
	.em-footer-cta__inner { align-items: flex-start; flex-direction: column; }
	.em-footer-grid { grid-template-columns: 1fr; }
	.em-footer-brand { grid-column: auto; }
	.em-footer-bottom { align-items: flex-start; padding: 22px 0; flex-direction: column; }
	.em-footer-bottom nav { flex-wrap: wrap; }
	.em-form-grid { grid-template-columns: 1fr; }
	.em-case-facts { grid-template-columns: 1fr; }
	.em-page-hero { padding-top: 145px; }
}

/* ========================================================================== */
/* EricMontero 2.0 — portada visual                                            */
/* ========================================================================== */

:root { --em-shell: 1380px; --em-paper: #f7f8f5; --em-ink: #060a10; --em-ink-2: #09111b; }
.em-is-home .em-section { padding: clamp(76px, 7.5vw, 118px) 0; }
.em-is-home .em-site-header { background: linear-gradient(180deg, rgba(5,10,16,.96), rgba(5,10,16,.72), transparent); }
.em-is-home .em-site-header.is-scrolled { background: rgba(5,10,16,.9); }
.em-is-home .em-header-inner { min-height: 82px; }
.em-is-home .em-menu { gap: 22px; }
.em-is-home .em-menu a { font-size: 13px; }
.em-button > span { margin-left: 8px; }
.em-play { display: inline-grid; width: 22px; height: 22px; margin: 0 9px 0 0 !important; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 8px; }

/* Hero y mapa */
.em-is-home .em-hero {
	padding-top: 82px;
	background:
		radial-gradient(circle at 75% 28%, rgba(36,117,177,.13), transparent 28%),
		radial-gradient(circle at 42% 50%, rgba(201,242,39,.055), transparent 24%),
		#050a10;
}
.em-is-home .em-hero::before { background: linear-gradient(90deg, #050a10 0, transparent 45%, rgba(5,10,16,.2) 100%); }
.em-is-home .em-hero__grid { min-height: 670px; grid-template-columns: minmax(0, .96fr) minmax(560px, 1.04fr); gap: clamp(45px, 5vw, 82px); padding-block: 72px 58px; }
.em-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 25px; padding: 7px 13px 7px 8px; border: 1px solid rgba(255,255,255,.13); border-radius: 99px; color: #c7d0d9; font-family: var(--em-mono); font-size: 9px; letter-spacing: .05em; }
.em-kicker > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: rgba(201,242,39,.12); }
.em-kicker .em-mark { width: 13px; height: 10px; }
.em-is-home .em-hero h1 { max-width: 720px; margin-bottom: 25px; font-size: clamp(54px, 5.4vw, 82px); font-weight: 620; letter-spacing: -.065em; line-height: .99; }
.em-is-home .em-hero h1 span { color: var(--em-acid); }
.em-is-home .em-hero__lead { max-width: 620px; margin-bottom: 30px; color: #b9c3cd; font-size: clamp(17px, 1.5vw, 21px); }
.em-is-home .em-actions { gap: 12px; }
.em-is-home .em-button { min-height: 49px; padding-inline: 21px; font-size: 12px; text-transform: uppercase; }
.em-is-home .em-availability { margin-top: 30px; }

.em-automation-map { position: relative; z-index: 2; aspect-ratio: 760 / 520; overflow: hidden; border: 1px solid rgba(137,174,200,.28); border-radius: 24px; background: linear-gradient(145deg, rgba(12,24,36,.94), rgba(5,13,21,.98)); box-shadow: 0 38px 100px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.03); }
.em-automation-map::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 38%, rgba(20,106,165,.15), transparent 42%), linear-gradient(rgba(91,143,177,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(91,143,177,.035) 1px, transparent 1px); background-size: auto, 31px 31px, 31px 31px; }
.em-map-stars { position: absolute; inset: 0; opacity: .75; background-image: radial-gradient(circle, rgba(123,202,255,.8) 0 1px, transparent 1.5px), radial-gradient(circle, rgba(201,242,39,.65) 0 1px, transparent 1.5px); background-position: 12% 20%, 75% 17%; background-size: 91px 91px, 137px 137px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.em-map-lines { position: absolute; inset: 0 0 48px; z-index: 1; width: 100%; height: calc(100% - 48px); }
.em-map-lines path { fill: none; stroke: rgba(143,190,218,.48); stroke-width: 1.2; stroke-dasharray: 5 6; }
.em-map-lines circle { fill: var(--em-acid); filter: drop-shadow(0 0 6px var(--em-acid)); }
.em-map-node { position: absolute; z-index: 2; display: flex; min-height: 60px; align-items: center; gap: 10px; width: 30%; padding: 11px 13px; border: 1px solid rgba(139,177,203,.24); border-radius: 10px; background: rgba(14,28,40,.9); box-shadow: 0 9px 30px rgba(0,0,0,.24); }
.em-map-node i { display: grid; width: 32px; height: 32px; flex: none; place-items: center; border: 1px solid rgba(118,191,239,.35); border-radius: 7px; background: rgba(47,122,170,.14); color: #8bd4ff; font-style: normal; font-size: 14px; }
.em-map-node span { display: grid; min-width: 0; line-height: 1.1; }
.em-map-node small { overflow: hidden; margin-bottom: 5px; color: #f0f5f8; font-family: var(--em-mono); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; }
.em-map-node strong { overflow: hidden; color: #8494a1; font-size: 9px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.em-map-node--lead { top: 5.5%; left: 35%; }
.em-map-node--ai { top: 25%; left: 4%; border-color: rgba(187,89,255,.34); background: rgba(50,24,70,.82); }
.em-map-node--ai i { border-color: rgba(187,89,255,.42); background: rgba(187,89,255,.15); color: #d494ff; }
.em-map-node--crm { top: 25%; left: 35%; }
.em-map-node--wa { top: 25%; right: 4%; border-color: rgba(86,234,99,.3); background: rgba(15,48,37,.82); }
.em-map-node--wa i { border-color: rgba(86,234,99,.38); background: rgba(86,234,99,.13); color: #76f184; }
.em-map-node--quote { top: 50%; left: 4%; }
.em-map-node--invoice { top: 50%; left: 35%; }
.em-map-node--follow { top: 50%; right: 4%; }
.em-map-node--client { bottom: 12%; left: 35%; border-color: rgba(81,180,255,.34); background: rgba(14,41,64,.88); }
.em-map-status { position: absolute; right: 0; bottom: 0; left: 0; z-index: 3; display: flex; height: 48px; align-items: center; justify-content: space-between; padding: 0 19px; border-top: 1px solid rgba(139,177,203,.2); background: rgba(5,12,19,.88); color: #82909b; font-family: var(--em-mono); font-size: 8px; }
.em-map-status span { color: #a4b0ba; }
.em-map-status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--em-acid); box-shadow: 0 0 9px var(--em-acid); }

.em-project-belt { position: relative; display: grid; min-height: 92px; align-items: center; border-top: 1px solid var(--em-line); grid-template-columns: 170px 1fr; gap: 25px; }
.em-project-belt > span { color: #72808c; font-size: 11px; }
.em-project-belt__names { display: flex; overflow: hidden; align-items: center; justify-content: space-between; gap: 28px; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.em-project-belt__names strong { flex: none; color: #8d98a2; font-size: 13px; font-weight: 650; letter-spacing: -.02em; white-space: nowrap; }
.em-project-belt__names strong:nth-child(2n) { color: #b2bbc2; }

/* Soluciones */
.em-solutions-preview { background: radial-gradient(circle at 40% 15%, rgba(111,149,190,.1), transparent 35%), var(--em-paper); color: var(--em-ink); }
.em-solutions-preview .em-eyebrow, .em-method-preview .em-eyebrow, .em-resources-preview .em-eyebrow { color: #75668d; }
.em-heading-split { display: grid; align-items: end; margin-bottom: 48px; grid-template-columns: 1fr 390px; gap: 80px; }
.em-heading-split h2 { margin: 0; font-size: clamp(43px, 5vw, 70px); font-weight: 630; letter-spacing: -.06em; line-height: .98; }
.em-heading-split h2 span { color: #82ad18; }
.em-heading-split > div:last-child { padding-bottom: 3px; border-left: 1px solid rgba(8,11,15,.12); padding-left: 32px; }
.em-heading-split > div:last-child p { margin-bottom: 18px; color: #58616a; font-size: 14px; }
.em-solution-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 16px; }
.em-solution-card { position: relative; display: flex; min-height: 312px; padding: 23px 20px; border: 1px solid rgba(8,11,15,.08); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 15px 35px rgba(29,42,54,.07); flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.em-solution-card:hover { transform: translateY(-7px); box-shadow: 0 24px 54px rgba(29,42,54,.13); }
.em-solution-card__icon { display: grid; width: 45px; height: 45px; margin-bottom: 40px; place-items: center; border-radius: 50%; background: #f1ebff; color: #8647eb; font-size: 19px; font-weight: 750; box-shadow: 0 0 0 9px rgba(134,71,235,.035); }
.em-solution-card__icon--green { background: #e5fae9; color: #22ad43; box-shadow: 0 0 0 9px rgba(34,173,67,.035); }
.em-solution-card__icon--purple { background: #f1eaff; color: #7643db; }
.em-solution-card__icon--blue { background: #e9f3ff; color: #2d7fd4; }
.em-solution-card__icon--sky { background: #eaf7ff; color: #218bd0; }
.em-solution-card__icon--cyan { background: #e7f8f8; color: #268b95; }
.em-solution-card h3 { margin-bottom: 12px; font-size: 17px; font-weight: 700; letter-spacing: -.025em; }
.em-solution-card p { margin: 0 0 22px; color: #667078; font-size: 12px; line-height: 1.6; }
.em-solution-card > strong { margin-top: auto; color: #273039; font-family: var(--em-mono); font-size: 9px; letter-spacing: .03em; text-transform: uppercase; }
.em-solution-card > strong span { margin-left: 5px; color: #728f1c; }

/* Casos */
.em-cases-preview { background: radial-gradient(circle at 75% 50%, rgba(26,106,159,.11), transparent 38%), #06101a; }
.em-cases-layout { display: grid; align-items: start; grid-template-columns: 260px 1fr; gap: 42px; }
.em-cases-intro { position: sticky; top: 120px; }
.em-cases-intro h2 { margin-bottom: 22px; font-size: clamp(38px, 4vw, 58px); font-weight: 610; letter-spacing: -.055em; line-height: .98; }
.em-cases-intro h2 span { color: var(--em-acid); }
.em-cases-intro > p:not(.em-eyebrow) { margin-bottom: 28px; color: #8d9ba7; font-size: 14px; }
.em-case-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.em-case-cards .em-project-card, .em-case-card { overflow: hidden; padding: 16px; border: 1px solid rgba(145,179,203,.17); border-radius: 17px; background: linear-gradient(145deg, rgba(15,29,41,.95), rgba(8,18,27,.95)); transition: border-color .2s ease, transform .2s ease; }
.em-case-cards .em-project-card:hover, .em-case-card:hover { border-color: rgba(201,242,39,.4); transform: translateY(-4px); }
.em-case-cards .em-project-card__media, .em-case-card__visual { position: relative; display: block; aspect-ratio: 1.45; margin-bottom: 17px; overflow: hidden; border-radius: 11px; background: radial-gradient(circle at 72% 25%, rgba(61,144,209,.18), transparent 35%), linear-gradient(145deg,#0b1824,#071019); }
.em-case-cards .em-card-placeholder::before { inset: 10px; }
.em-case-cards .em-card-placeholder > span, .em-case-card__visual > span { position: absolute; right: 18px; bottom: 12px; z-index: 2; color: var(--em-acid); font-size: 50px; font-weight: 750; letter-spacing: -.1em; opacity: .88; }
.em-case-cards .em-project-card__open { right: auto; bottom: 13px; left: 13px; width: 35px; height: 35px; font-size: 14px; }
.em-case-cards .em-project-card__body { padding: 0; }
.em-case-cards .em-project-card__body > p, .em-case-card > p { margin-bottom: 8px; color: #7fc0e9; font-family: var(--em-mono); font-size: 8px; line-height: 1.45; text-transform: uppercase; }
.em-case-cards .em-project-card__body h3, .em-case-card h3 { margin-bottom: 9px; color: #f0f4f7; font-size: 21px; font-weight: 620; letter-spacing: -.035em; }
.em-case-cards .em-project-card__body > span, .em-case-card > span { display: block; min-height: 48px; color: #85939e; font-size: 11px; line-height: 1.5; }
.em-case-card__visual i { position: absolute; left: 14px; width: 45%; height: 6px; border-radius: 4px; background: rgba(102,155,191,.18); }
.em-case-card__visual i:nth-of-type(1) { top: 20px; }
.em-case-card__visual i:nth-of-type(2) { top: 36px; width: 31%; }
.em-case-card__visual i:nth-of-type(3) { top: 52px; width: 38%; }

/* Método */
.em-method-preview { background: var(--em-paper); color: var(--em-ink); }
.em-method-preview .em-section-heading { max-width: 820px; }
.em-method-preview .em-section-heading h2 { font-size: clamp(37px,4.5vw,60px); }
.em-method-preview .em-section-heading h2 span { color: #70a51a; }
.em-method-preview .em-heading-row > .em-text-link { color: #34404a; }
.em-method { position: relative; display: grid; margin: 10px 0 0; padding: 0; list-style: none; grid-template-columns: repeat(5,1fr); }
.em-method::before { content: ""; position: absolute; top: 38px; right: 8%; left: 8%; border-top: 1px dashed #b7c0c7; }
.em-method li { position: relative; padding: 0 18px; }
.em-method li:first-child { padding-left: 0; }
.em-method li:last-child { padding-right: 0; }
.em-method li > i { position: relative; z-index: 2; display: grid; width: 76px; height: 76px; margin-bottom: 30px; place-items: center; border: 1px solid #dde2e4; border-radius: 50%; background: white; color: #5a62da; box-shadow: 0 11px 28px rgba(31,47,58,.08); font-style: normal; font-size: 25px; }
.em-method li:nth-child(2) i { color: #8e46e7; }.em-method li:nth-child(3) i { color: #3180d0; }.em-method li:nth-child(4) i { color: #25a6d5; }.em-method li:nth-child(5) i { color: #92b918; }
.em-method li > span { display: block; margin-bottom: 5px; color: #69747d; font-family: var(--em-mono); font-size: 9px; }
.em-method li > strong { display: block; margin-bottom: 7px; font-size: 14px; }
.em-method li p { max-width: 180px; margin: 0; color: #69747d; font-size: 11px; line-height: 1.55; }

/* Laboratorio */
.em-lab-preview { background: radial-gradient(circle at 75% 40%, rgba(78,61,168,.13), transparent 38%), #060e17; }
.em-lab-showcase { display: grid; align-items: center; grid-template-columns: 260px 1fr; gap: 42px; }
.em-lab-intro h2 { font-size: clamp(38px,4vw,57px); }.em-lab-intro h2 span { color: var(--em-acid); }
.em-lab-intro > p:not(.em-eyebrow) { color: #8997a2; font-size: 14px; }
.em-lab-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.em-lab-card { padding: 12px 12px 16px; border: 1px solid rgba(137,174,200,.16); border-radius: 14px; background: linear-gradient(145deg,rgba(13,26,38,.95),rgba(7,17,26,.96)); transition: transform .2s ease,border-color .2s ease; }
.em-lab-card:hover { transform: translateY(-5px); border-color: rgba(201,242,39,.35); }
.em-lab-card__screen { position: relative; height: 125px; margin-bottom: 14px; overflow: hidden; border: 1px solid rgba(124,167,202,.13); border-radius: 9px; background: radial-gradient(circle at 50% 50%,rgba(32,159,220,.18),transparent 30%),#081420; }
.em-lab-card__screen > span { position: absolute; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: #36546b; }.em-lab-card__screen > span:nth-child(1){left:10px;background:var(--em-acid)}.em-lab-card__screen > span:nth-child(2){left:19px}.em-lab-card__screen > span:nth-child(3){left:28px}
.em-lab-card__screen > div { position: absolute; inset: 30px 12px 12px; display: grid; padding: 10px; border: 1px solid rgba(95,157,198,.14); border-radius: 7px; background: rgba(4,11,18,.55); grid-template-columns: 38px 1fr; gap: 7px; }
.em-lab-card__screen i { grid-row: span 3; border-radius: 50%; background: conic-gradient(var(--em-acid) 0 35%,#18344a 35%); box-shadow: inset 0 0 0 9px #091722; }
.em-lab-card__screen b { height: 6px; border-radius: 4px; background: #183449; }.em-lab-card__screen b:nth-of-type(2){width:72%}.em-lab-card__screen b:nth-of-type(3){width:88%;background:#173e45}
.em-lab-card__screen--wa { background-color:#111127 }.em-lab-card__screen--wp{background-color:#081b21}.em-lab-card__screen--crm{background-color:#111823}
.em-lab-card > small { display: inline-block; margin-bottom: 8px; padding: 3px 6px; border-radius: 99px; background: rgba(201,242,39,.1); color: var(--em-acid); font-family: var(--em-mono); font-size: 7px; }
.em-lab-card h3 { margin-bottom: 7px; font-size: 16px; }.em-lab-card p { min-height: 52px; margin-bottom: 10px; color:#7f8c97;font-size:10px;line-height:1.5}.em-lab-card > strong {color:var(--em-acid);font-family:var(--em-mono);font-size:8px;text-transform:uppercase}

/* Recursos */
.em-resources-preview { background: var(--em-paper); color: var(--em-ink); }
.em-resources-layout { display: grid; align-items: start; grid-template-columns: 240px 1fr; gap: 40px; }
.em-resources-intro h2 { margin-bottom: 18px; font-size: clamp(38px,4vw,56px); font-weight: 620; letter-spacing: -.055em; line-height: .98; }.em-resources-intro h2 span {color:#76a616}.em-resources-intro > p:not(.em-eyebrow){color:#657078;font-size:13px}.em-resources-intro .em-text-link{margin-top:12px}
.em-resource-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px }
.em-resource-card { overflow:hidden;border:1px solid rgba(8,11,15,.09);border-radius:15px;background:#fff;box-shadow:0 13px 30px rgba(31,44,53,.06);transition:transform .2s ease,box-shadow .2s ease}.em-resource-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(31,44,53,.11)}
.em-resource-card__visual { position:relative;display:block;aspect-ratio:1.6;overflow:hidden;background:radial-gradient(circle at 70% 30%,rgba(201,242,39,.3),transparent 30%),linear-gradient(140deg,#0d1a27,#1e4160)}
.em-resource-card__visual img{width:100%;height:100%;object-fit:cover}.em-resource-card__visual .em-card-placeholder::before{inset:9px}.em-resource-card__visual .em-card-placeholder>span{font-size:42px}
.em-resource-card__visual > span{position:absolute;right:14px;bottom:7px;color:rgba(255,255,255,.8);font-size:44px;font-weight:750}.em-resource-card__visual--2{background:radial-gradient(circle at 30% 30%,rgba(201,242,39,.32),transparent 22%),linear-gradient(145deg,#645f35,#d7dac2)}.em-resource-card__visual--3{background:radial-gradient(circle at 60% 40%,rgba(231,72,255,.25),transparent 24%),linear-gradient(145deg,#071e2c,#154867)}.em-resource-card__visual--4{background:radial-gradient(circle at 30% 30%,rgba(44,172,255,.25),transparent 22%),linear-gradient(145deg,#101322,#292c48)}
.em-resource-card > div{padding:14px}.em-resource-card small{color:#718f13;font-family:var(--em-mono);font-size:7px}.em-resource-card h3{min-height:62px;margin:9px 0 8px;font-size:15px;line-height:1.35}.em-resource-card p{margin:0;color:#879098;font-size:9px}

/* Newsletter */
.em-newsletter-strip { padding: 0 0 70px; background: var(--em-paper); color: var(--em-paper); }
.em-newsletter-strip__inner { display:grid;align-items:center;padding:28px 30px;border:1px solid rgba(201,242,39,.24);border-radius:17px;background:radial-gradient(circle at 88% 20%,rgba(201,242,39,.1),transparent 30%),#09131d;grid-template-columns:1.2fr .9fr;gap:22px 45px }
.em-newsletter-strip__title{display:flex;align-items:center;gap:16px}.em-newsletter-strip__title>i{display:grid;width:43px;height:43px;flex:none;place-items:center;border-radius:50%;background:rgba(201,242,39,.12);color:var(--em-acid);font-style:normal;font-size:20px}.em-newsletter-strip__title span{display:grid}.em-newsletter-strip__title strong{font-size:16px}.em-newsletter-strip__title small{color:#87939e;font-size:10px}
.em-newsletter-strip__form .em-consent{font-size:8px}.em-newsletter-strip__form .em-field-inline input{min-height:43px;font-size:12px}.em-newsletter-strip__form .em-button{min-height:43px;padding-inline:15px;font-size:9px}
.em-newsletter-strip__inner>ul{display:flex;margin:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.08);list-style:none;grid-column:1/-1;gap:34px}.em-newsletter-strip__inner>ul li{color:#87939e;font-size:9px}.em-newsletter-strip__inner>ul b{margin-right:5px;color:var(--em-acid);font-weight:650}

/* Ajustes interiores y tarjetas del archivo */
.em-page-hero { background:radial-gradient(circle at 78% 20%,rgba(53,128,177,.11),transparent 30%),#07101a }
.post-type-archive-em_project .em-section { background:var(--em-paper);color:var(--em-ink) }
.post-type-archive-em_project .em-project-card { overflow:hidden;border:1px solid rgba(8,11,15,.09);border-radius:16px;background:white;box-shadow:0 15px 35px rgba(29,42,54,.07) }
.post-type-archive-em_project .em-project-card__media{border-radius:0}.post-type-archive-em_project .em-project-card__body{padding:23px}.post-type-archive-em_project .em-project-card__body>span{display:block;min-height:50px}

@media (max-width: 1180px) {
	.em-is-home .em-hero__grid{grid-template-columns:1fr;padding-top:100px}.em-is-home .em-hero__copy{max-width:780px}.em-automation-map{width:min(100%,800px)}
	.em-solution-grid{grid-template-columns:repeat(3,1fr)}.em-cases-layout,.em-lab-showcase{grid-template-columns:220px 1fr}.em-case-cards{grid-template-columns:repeat(2,1fr)}.em-lab-grid{grid-template-columns:repeat(2,1fr)}
	.em-resources-layout{grid-template-columns:200px 1fr}.em-resource-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 820px) {
	.em-is-home .em-header-inner{min-height:78px}.em-is-home .em-hero{padding-top:78px}.em-is-home .em-hero__grid{padding-block:72px 45px}.em-is-home .em-hero h1{font-size:clamp(45px,12.5vw,72px)}
	.em-project-belt{grid-template-columns:1fr;padding-block:20px}.em-project-belt__names{overflow-x:auto;justify-content:flex-start;padding-bottom:8px;mask-image:none}
	.em-heading-split{grid-template-columns:1fr;gap:30px}.em-heading-split>div:last-child{padding-left:0;border-left:0}.em-solution-grid{grid-template-columns:repeat(2,1fr)}
	.em-cases-layout,.em-lab-showcase,.em-resources-layout{grid-template-columns:1fr}.em-cases-intro{position:static;max-width:520px}.em-case-cards{grid-template-columns:repeat(2,1fr)}.em-lab-grid{grid-template-columns:repeat(2,1fr)}
	.em-method{grid-template-columns:1fr;gap:28px}.em-method::before{top:38px;right:auto;bottom:38px;left:38px;border-top:0;border-left:1px dashed #b7c0c7}.em-method li{min-height:78px;padding:0 0 0 105px}.em-method li:first-child,.em-method li:last-child{padding-left:105px}.em-method li>i{position:absolute;top:0;left:0;margin:0}.em-method li p{max-width:380px}
	.em-resource-grid{grid-template-columns:repeat(2,1fr)}.em-newsletter-strip__inner{grid-template-columns:1fr}.em-newsletter-strip__inner>ul{grid-column:auto;flex-wrap:wrap;gap:12px 24px}
}
@media (max-width: 560px) {
	.em-kicker{font-size:8px}.em-automation-map{aspect-ratio:auto;height:560px}.em-map-lines{display:none}.em-map-node{width:42%;min-height:58px}.em-map-node--lead{top:4%;left:29%}.em-map-node--ai{top:20%;left:5%}.em-map-node--crm{top:20%;left:auto;right:5%}.em-map-node--wa{top:36%;left:5%;right:auto}.em-map-node--quote{top:36%;left:auto;right:5%}.em-map-node--invoice{top:52%;left:5%}.em-map-node--follow{top:52%;right:5%}.em-map-node--client{bottom:12%;left:29%}.em-map-node small{font-size:7px}.em-map-status strong{display:none}
	.em-solution-grid,.em-case-cards,.em-lab-grid,.em-resource-grid{grid-template-columns:1fr}.em-solution-card{min-height:265px}.em-solution-card__icon{margin-bottom:25px}.em-case-cards .em-project-card__body>span,.em-case-card>span{min-height:0}.em-lab-card p{min-height:0}
	.em-newsletter-strip__inner{padding:23px 18px}.em-newsletter-strip__form .em-field-inline{flex-direction:column}.em-newsletter-strip__title{align-items:flex-start}.em-newsletter-strip__inner>ul{display:grid}
}
